{"version":3,"file":"static/js/main.d8f06087.js","mappings":"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AACA;;AACO,IAAIC,UAAU,GAAG,QAAjB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIvkB,OAAO,GAAG71J,IAAI,CAACwiC,GAAL,CAAS,EAAT,EAAa,CAAb,IAAkB,EAAlB,GAAuB,EAAvB,GAA4B,EAA5B,GAAiC,IAA/C;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAI63I,oBAAoB,GAAG,KAA3B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,kBAAkB,GAAG,OAAzB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,oBAAoB,GAAG,IAA3B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAI3kB,OAAO,GAAG,CAACC,OAAf;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAI2kB,aAAa,GAAG,EAApB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,eAAe,GAAG,CAAtB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,YAAY,GAAG,EAAnB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,cAAc,GAAG,CAArB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,aAAa,GAAG,IAApB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,eAAe,GAAG,EAAtB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIC,YAAY,GAAGF,aAAa,GAAG,EAAnC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIG,aAAa,GAAGD,YAAY,GAAG,CAAnC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIE,aAAa,GAAGF,YAAY,GAAGV,UAAnC;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIa,cAAc,GAAGD,aAAa,GAAG,EAArC;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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAC4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIoC,sBAAsB,GAAG,uDAA7B,EAEA;AACA;;AACA,IAAIC,0BAA0B,GAAG,mCAAjC;AACA,IAAIC,mBAAmB,GAAG,cAA1B;AACA,IAAIC,iBAAiB,GAAG,KAAxB;AACA,IAAIC,6BAA6B,GAAG,UAApC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAASh9H,MAAT,CAAgB21H,SAAhB,EAA2BsH,cAA3B,EAA2CvgL,OAA3C,EAAoD;EACjE,IAAIuqB,IAAJ,EAAUyvJ,eAAV,EAA2BjuJ,KAA3B,EAAkCuiD,KAAlC,EAAyCS,KAAzC,EAAgDgrG,qBAAhD,EAAuEyG,gBAAvE,EAAyFC,qBAAzF,EAAgHvG,qBAAhH,EAAuIC,sBAAvI,EAA+JuG,KAA/J,EAAsKC,KAAtK,EAA6KC,KAA7K,EAAoL5F,qBAApL,EAA2M6F,gBAA3M,EAA6NC,qBAA7N,EAAoPC,sBAApP,EAA4QC,sBAA5Q;;EACAjI,+BAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI0vK,SAAS,GAAG1+J,MAAM,CAACg+J,cAAD,CAAtB;EACA,IAAIx9H,cAAc,GAAG+0H,gDAAiB,EAAtC;EACA,IAAIhzB,MAAM,GAAG,CAACv6H,IAAI,GAAG,CAACyvJ,eAAe,GAAGh6K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8kJ,MAA7E,MAAyF,IAAzF,IAAiGk1B,eAAe,KAAK,KAAK,CAA1H,GAA8HA,eAA9H,GAAgJj3H,cAAc,CAAC+hG,MAAvK,MAAmL,IAAnL,IAA2Lv6H,IAAI,KAAK,KAAK,CAAzM,GAA6MA,IAA7M,GAAoNstJ,4BAAjO;EACA,IAAID,qBAAqB,GAAGiC,4BAAS,CAAC,CAAC9tJ,KAAK,GAAG,CAACuiD,KAAK,GAAG,CAACS,KAAK,GAAG,CAACgrG,qBAAqB,GAAG/5K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC43K,qBAAnF,MAA8G,IAA9G,IAAsHmC,qBAAqB,KAAK,KAAK,CAArJ,GAAyJA,qBAAzJ,GAAiL/5K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkD,CAACwgL,gBAAgB,GAAGxgL,OAAO,CAAC8kJ,MAA5B,MAAwC,IAAxC,IAAgD07B,gBAAgB,KAAK,KAAK,CAA1E,GAA8E,KAAK,CAAnF,GAAuF,CAACC,qBAAqB,GAAGD,gBAAgB,CAACxgL,OAA1C,MAAuD,IAAvD,IAA+DygL,qBAAqB,KAAK,KAAK,CAA9F,GAAkG,KAAK,CAAvG,GAA2GA,qBAAqB,CAAC7I,qBAApc,MAA+d,IAA/d,IAAue7oG,KAAK,KAAK,KAAK,CAAtf,GAA0fA,KAA1f,GAAkgBhsB,cAAc,CAAC60H,qBAA1hB,MAAqjB,IAArjB,IAA6jBtpG,KAAK,KAAK,KAAK,CAA5kB,GAAglBA,KAAhlB,GAAwlB,CAAC4rG,qBAAqB,GAAGn3H,cAAc,CAAC+hG,MAAxC,MAAoD,IAApD,IAA4Do1B,qBAAqB,KAAK,KAAK,CAA3F,GAA+F,KAAK,CAApG,GAAwG,CAACC,sBAAsB,GAAGD,qBAAqB,CAACl6K,OAAhD,MAA6D,IAA7D,IAAqEm6K,sBAAsB,KAAK,KAAK,CAArG,GAAyG,KAAK,CAA9G,GAAkHA,sBAAsB,CAACvC,qBAAl1B,MAA62B,IAA72B,IAAq3B7rJ,KAAK,KAAK,KAAK,CAAp4B,GAAw4BA,KAAx4B,GAAg5B,CAAj5B,CAArC,CANiE,CAQjE;;EACA,IAAI,EAAE6rJ,qBAAqB,IAAI,CAAzB,IAA8BA,qBAAqB,IAAI,CAAzD,CAAJ,EAAiE;IAC/D,MAAM,IAAI35I,UAAJ,CAAe,2DAAf,CAAN;EACD;;EACD,IAAIs3H,YAAY,GAAGskB,4BAAS,CAAC,CAAC6G,KAAK,GAAG,CAACC,KAAK,GAAG,CAACC,KAAK,GAAG,CAAC5F,qBAAqB,GAAGh7K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAACu1J,YAAnF,MAAqG,IAArG,IAA6GylB,qBAAqB,KAAK,KAAK,CAA5I,GAAgJA,qBAAhJ,GAAwKh7K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkD,CAAC6gL,gBAAgB,GAAG7gL,OAAO,CAAC8kJ,MAA5B,MAAwC,IAAxC,IAAgD+7B,gBAAgB,KAAK,KAAK,CAA1E,GAA8E,KAAK,CAAnF,GAAuF,CAACC,qBAAqB,GAAGD,gBAAgB,CAAC7gL,OAA1C,MAAuD,IAAvD,IAA+D8gL,qBAAqB,KAAK,KAAK,CAA9F,GAAkG,KAAK,CAAvG,GAA2GA,qBAAqB,CAACvrB,YAA3b,MAA6c,IAA7c,IAAqdqrB,KAAK,KAAK,KAAK,CAApe,GAAweA,KAAxe,GAAgf79H,cAAc,CAACwyG,YAAxgB,MAA0hB,IAA1hB,IAAkiBorB,KAAK,KAAK,KAAK,CAAjjB,GAAqjBA,KAArjB,GAA6jB,CAACI,sBAAsB,GAAGh+H,cAAc,CAAC+hG,MAAzC,MAAqD,IAArD,IAA6Di8B,sBAAsB,KAAK,KAAK,CAA7F,GAAiG,KAAK,CAAtG,GAA0G,CAACC,sBAAsB,GAAGD,sBAAsB,CAAC/gL,OAAjD,MAA8D,IAA9D,IAAsEghL,sBAAsB,KAAK,KAAK,CAAtG,GAA0G,KAAK,CAA/G,GAAmHA,sBAAsB,CAACzrB,YAA1zB,MAA40B,IAA50B,IAAo1BmrB,KAAK,KAAK,KAAK,CAAn2B,GAAu2BA,KAAv2B,GAA+2B,CAAh3B,CAA5B,CAZiE,CAcjE;;EACA,IAAI,EAAEnrB,YAAY,IAAI,CAAhB,IAAqBA,YAAY,IAAI,CAAvC,CAAJ,EAA+C;IAC7C,MAAM,IAAIt3H,UAAJ,CAAe,kDAAf,CAAN;EACD;;EACD,IAAI,CAAC6mH,MAAM,CAACgxB,QAAZ,EAAsB;IACpB,MAAM,IAAI73I,UAAJ,CAAe,uCAAf,CAAN;EACD;;EACD,IAAI,CAAC6mH,MAAM,CAAC+oB,UAAZ,EAAwB;IACtB,MAAM,IAAI5vI,UAAJ,CAAe,yCAAf,CAAN;EACD;;EACD,IAAIshJ,YAAY,GAAGjxB,qBAAM,CAAC2qB,SAAD,CAAzB;;EACA,IAAI,CAACxuH,sBAAO,CAAC80H,YAAD,CAAZ,EAA4B;IAC1B,MAAM,IAAIthJ,UAAJ,CAAe,oBAAf,CAAN;EACD,CA3BgE,CA6BjE;EACA;EACA;;;EACA,IAAIwhJ,cAAc,GAAGlH,kDAA+B,CAACgH,YAAD,CAApD;EACA,IAAI/G,OAAO,GAAGyH,kCAAe,CAACV,YAAD,EAAeE,cAAf,CAA7B;EACA,IAAIyB,gBAAgB,GAAG;IACrBtJ,qBAAqB,EAAEA,qBADF;IAErBriB,YAAY,EAAEA,YAFO;IAGrBzQ,MAAM,EAAEA,MAHa;IAIrB06B,aAAa,EAAED;EAJM,CAAvB;EAMA,IAAIpqK,MAAM,GAAG8rK,SAAS,CAACzuK,KAAV,CAAgB2tK,0BAAhB,EAA4CzjK,GAA5C,CAAgD,UAAU7b,SAAV,EAAqB;IAChF,IAAIsgL,cAAc,GAAGtgL,SAAS,CAAC,CAAD,CAA9B;;IACA,IAAIsgL,cAAc,KAAK,GAAnB,IAA0BA,cAAc,KAAK,GAAjD,EAAsD;MACpD,IAAIC,aAAa,GAAG9I,6BAAc,CAAC6I,cAAD,CAAlC;MACA,OAAOC,aAAa,CAACvgL,SAAD,EAAYikJ,MAAM,CAAC+oB,UAAnB,CAApB;IACD;;IACD,OAAOhtK,SAAP;EACD,CAPY,EAOViR,IAPU,CAOL,EAPK,EAODU,KAPC,CAOK0tK,sBAPL,EAO6BxjK,GAP7B,CAOiC,UAAU7b,SAAV,EAAqB;IACjE;IACA,IAAIA,SAAS,KAAK,IAAlB,EAAwB;MACtB,OAAO,GAAP;IACD;;IACD,IAAIsgL,cAAc,GAAGtgL,SAAS,CAAC,CAAD,CAA9B;;IACA,IAAIsgL,cAAc,KAAK,GAAvB,EAA4B;MAC1B,OAAOE,kBAAkB,CAACxgL,SAAD,CAAzB;IACD;;IACD,IAAIygL,SAAS,GAAGxD,iBAAU,CAACqD,cAAD,CAA1B;;IACA,IAAIG,SAAJ,EAAe;MACb,IAAI,EAAEthL,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,IAA0CA,OAAO,CAACuhL,2BAApD,KAAoF5G,oDAAwB,CAAC95K,SAAD,CAAhH,EAA6H;QAC3H+5K,+CAAmB,CAAC/5K,SAAD,EAAY0/K,cAAZ,EAA4Bh+J,MAAM,CAAC02J,SAAD,CAAlC,CAAnB;MACD;;MACD,IAAI,EAAEj5K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,IAA0CA,OAAO,CAACwhL,4BAApD,KAAqF9G,qDAAyB,CAAC75K,SAAD,CAAlH,EAA+H;QAC7H+5K,+CAAmB,CAAC/5K,SAAD,EAAY0/K,cAAZ,EAA4Bh+J,MAAM,CAAC02J,SAAD,CAAlC,CAAnB;MACD;;MACD,OAAOqI,SAAS,CAAC9I,OAAD,EAAU33K,SAAV,EAAqBikJ,MAAM,CAACgxB,QAA5B,EAAsCoL,gBAAtC,CAAhB;IACD;;IACD,IAAIC,cAAc,CAAC3uK,KAAf,CAAqB8tK,6BAArB,CAAJ,EAAyD;MACvD,MAAM,IAAIriJ,UAAJ,CAAe,mEAAmEkjJ,cAAnE,GAAoF,GAAnG,CAAN;IACD;;IACD,OAAOtgL,SAAP;EACD,CA9BY,EA8BViR,IA9BU,CA8BL,EA9BK,CAAb;EA+BA,OAAOqD,MAAP;AACD;;AACD,SAASksK,kBAAT,CAA4BxoK,KAA5B,EAAmC;EACjC,IAAI4oK,OAAO,GAAG5oK,KAAK,CAACrG,KAAN,CAAY4tK,mBAAZ,CAAd;;EACA,IAAI,CAACqB,OAAL,EAAc;IACZ,OAAO5oK,KAAP;EACD;;EACD,OAAO4oK,OAAO,CAAC,CAAD,CAAP,CAAWl1K,OAAX,CAAmB8zK,iBAAnB,EAAsC,GAAtC,CAAP;AACD;;;;;;;;;;;;;;ACjZD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS9zB,OAAT,CAAiB0sB,SAAjB,EAA4B;EACzCF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIsC,UAAU,GAAGhnB,IAAI,CAAChI,OAAL,EAAjB;EACA,OAAOgvB,UAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASjvB,MAAT,CAAgB2sB,SAAhB,EAA2B;EACxCF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIxd,GAAG,GAAGlH,IAAI,CAACjI,MAAL,EAAV;EACA,OAAOmP,GAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASpP,QAAT,CAAkB4sB,SAAlB,EAA6B;EAC1CF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAInwB,KAAK,GAAGyL,IAAI,CAAClI,QAAL,EAAZ;EACA,OAAOvD,KAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS44B,cAAT,CAAwBzI,SAAxB,EAAmC;EAChDF,+BAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,OAAOg8I,0BAAW,CAAC0rB,SAAD,EAAY;IAC5B1jB,YAAY,EAAE;EADc,CAAZ,CAAlB;AAGD;;AC3BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASosB,cAAT,CAAwB1I,SAAxB,EAAmC;EAChDF,+BAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,qBAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAI5gB,IAAI,GAAG9D,IAAI,CAACmkB,WAAL,EAAX;EACA,IAAIa,yBAAyB,GAAG,IAAIlnK,IAAJ,CAAS,CAAT,CAAhC;EACAknK,yBAAyB,CAACmC,WAA1B,CAAsCrjB,IAAI,GAAG,CAA7C,EAAgD,CAAhD,EAAmD,CAAnD;EACAkhB,yBAAyB,CAACxsB,QAA1B,CAAmC,CAAnC,EAAsC,CAAtC,EAAyC,CAAzC,EAA4C,CAA5C;EACA,IAAIysB,eAAe,GAAGkI,cAAc,CAACnI,yBAAD,CAApC;EACA,IAAIE,yBAAyB,GAAG,IAAIpnK,IAAJ,CAAS,CAAT,CAAhC;EACAonK,yBAAyB,CAACiC,WAA1B,CAAsCrjB,IAAtC,EAA4C,CAA5C,EAA+C,CAA/C;EACAohB,yBAAyB,CAAC1sB,QAA1B,CAAmC,CAAnC,EAAsC,CAAtC,EAAyC,CAAzC,EAA4C,CAA5C;EACA,IAAI2sB,eAAe,GAAGgI,cAAc,CAACjI,yBAAD,CAApC;;EACA,IAAIllB,IAAI,CAAC3H,OAAL,MAAkB4sB,eAAe,CAAC5sB,OAAhB,EAAtB,EAAiD;IAC/C,OAAOyL,IAAI,GAAG,CAAd;EACD,CAFD,MAEO,IAAI9D,IAAI,CAAC3H,OAAL,MAAkB8sB,eAAe,CAAC9sB,OAAhB,EAAtB,EAAiD;IACtD,OAAOyL,IAAP;EACD,CAFM,MAEA;IACL,OAAOA,IAAI,GAAG,CAAd;EACD;AACF;;AC1CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASupB,kBAAT,CAA4B3I,SAA5B,EAAuC;EACpDF,+BAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI8mJ,IAAI,GAAGspB,cAAc,CAAC1I,SAAD,CAAzB;EACA,IAAIC,eAAe,GAAG,IAAI7mK,IAAJ,CAAS,CAAT,CAAtB;EACA6mK,eAAe,CAACwC,WAAhB,CAA4BrjB,IAA5B,EAAkC,CAAlC,EAAqC,CAArC;EACA6gB,eAAe,CAACnsB,QAAhB,CAAyB,CAAzB,EAA4B,CAA5B,EAA+B,CAA/B,EAAkC,CAAlC;EACA,IAAIwH,IAAI,GAAGmtB,cAAc,CAACxI,eAAD,CAAzB;EACA,OAAO3kB,IAAP;AACD;;AChCD;AACA;AACA;AACA;AACA,IAAI6kB,oBAAoB,GAAG,SAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS5sB,UAAT,CAAoBysB,SAApB,EAA+B;EAC5CF,+BAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,qBAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIjyD,IAAI,GAAG06D,cAAc,CAACntB,IAAD,CAAd,CAAqB3H,OAArB,KAAiCg1B,kBAAkB,CAACrtB,IAAD,CAAlB,CAAyB3H,OAAzB,EAA5C,CAH4C,CAK5C;EACA;EACA;;EACA,OAAOlrJ,IAAI,CAAC+xE,KAAL,CAAWuzC,IAAI,GAAGoyD,oBAAlB,IAA0C,CAAjD;AACD;;;;;;;;;;;;;;AClCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAShtB,UAAT,CAAoB6sB,SAApB,EAA+B;EAC5CF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIlwB,OAAO,GAAGwL,IAAI,CAACnI,UAAL,EAAd;EACA,OAAOrD,OAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS0D,QAAT,CAAkBwsB,SAAlB,EAA6B;EAC1CF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAI1e,KAAK,GAAGhG,IAAI,CAAC9H,QAAL,EAAZ;EACA,OAAO8N,KAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS7N,UAAT,CAAoBusB,SAApB,EAA+B;EAC5CF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIjD,OAAO,GAAGt0K,IAAI,CAACC,KAAL,CAAW4yJ,IAAI,CAAC9H,QAAL,KAAkB,CAA7B,IAAkC,CAAhD;EACA,OAAOupB,OAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS7pB,UAAT,CAAoB8sB,SAApB,EAA+B;EAC5CF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIjwB,OAAO,GAAGuL,IAAI,CAACpI,UAAL,EAAd;EACA,OAAOnD,OAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS4D,OAAT,CAAiBqsB,SAAjB,EAA4B;EACzCF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAIoC,SAAS,GAAG9mB,IAAI,CAAC3H,OAAL,EAAhB;EACA,OAAOyuB,SAAP;AACD;;;;;;;;;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS1uB,OAAT,CAAiBssB,SAAjB,EAA4B;EACzCF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,OAAO+8I,4DAAM,CAAC2qB,SAAD,CAAN,CAAkBP,WAAlB,EAAP;AACD;;;;;;;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASvqB,OAAT,CAAiB8qB,SAAjB,EAA4B4I,kBAA5B,EAAgD;EAC7D9I,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAI6I,aAAa,GAAGxzB,4DAAM,CAACuzB,kBAAD,CAA1B;EACA,OAAOttB,IAAI,CAAC3H,OAAL,KAAiBk1B,aAAa,CAACl1B,OAAd,EAAxB;AACD;;;;;;;;;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASwB,QAAT,CAAkB6qB,SAAlB,EAA6B4I,kBAA7B,EAAiD;EAC9D9I,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIgjJ,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,IAAI6I,aAAa,GAAGxzB,4DAAM,CAACuzB,kBAAD,CAA1B;EACA,OAAOttB,IAAI,CAAC3H,OAAL,KAAiBk1B,aAAa,CAACl1B,OAAd,EAAxB;AACD;;;;;;;;;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASh7I,MAAT,CAAgBtQ,KAAhB,EAAuB;EACpCy3K,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,OAAOjQ,KAAK,YAAY+Q,IAAjB,IAAyBgU,sFAAO,CAAC/kB,KAAD,CAAP,KAAmB,QAAnB,IAA+B+N,MAAM,CAAC9G,SAAP,CAAiBe,QAAjB,CAA0BmE,IAA1B,CAA+BnM,KAA/B,MAA0C,eAAzG;AACD;;;;;;;;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASgnB,OAAT,CAAiBy5J,aAAjB,EAAgCC,cAAhC,EAAgD;EAC7DjJ,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI6rK,QAAQ,GAAG9uB,4DAAM,CAACyzB,aAAD,CAArB;EACA,IAAI1E,SAAS,GAAG/uB,4DAAM,CAAC0zB,cAAD,CAAtB;EACA,OAAO5E,QAAQ,CAACxwB,OAAT,OAAuBywB,SAAS,CAACzwB,OAAV,EAA9B;AACD;;;;;;;;;;;;;;AC5BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS+O,SAAT,CAAmBmhB,aAAnB,EAAkCC,cAAlC,EAAkD;EAC/DhE,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI0wK,kBAAkB,GAAG30B,gEAAU,CAACwvB,aAAD,CAAnC;EACA,IAAIoF,mBAAmB,GAAG50B,gEAAU,CAACyvB,cAAD,CAApC;EACA,OAAOkF,kBAAkB,CAACr1B,OAAnB,OAAiCs1B,mBAAmB,CAACt1B,OAApB,EAAxC;AACD;;;;;;;;;;;;;;ACnCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASu1B,WAAT,CAAqBrF,aAArB,EAAoCC,cAApC,EAAoD;EACjEhE,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI6rK,QAAQ,GAAG9uB,4DAAM,CAACwuB,aAAD,CAArB;EACA,IAAIO,SAAS,GAAG/uB,4DAAM,CAACyuB,cAAD,CAAtB;EACA,OAAOK,QAAQ,CAAC1E,WAAT,OAA2B2E,SAAS,CAAC3E,WAAV,EAA3B,IAAsD0E,QAAQ,CAAC3wB,QAAT,OAAwB4wB,SAAS,CAAC5wB,QAAV,EAArF;AACD;;;;;;;;;;;;;;AC9BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS21B,aAAT,CAAuBtF,aAAvB,EAAsCC,cAAtC,EAAsD;EACnEhE,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI8wK,sBAAsB,GAAG50B,oEAAc,CAACqvB,aAAD,CAA3C;EACA,IAAIwF,uBAAuB,GAAG70B,oEAAc,CAACsvB,cAAD,CAA5C;EACA,OAAOsF,sBAAsB,CAACz1B,OAAvB,OAAqC01B,uBAAuB,CAAC11B,OAAxB,EAA5C;AACD;;;;;;;;;;;;;;AC9BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS21B,UAAT,CAAoBzF,aAApB,EAAmCC,cAAnC,EAAmD;EAChEhE,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI6rK,QAAQ,GAAG9uB,4DAAM,CAACwuB,aAAD,CAArB;EACA,IAAIO,SAAS,GAAG/uB,4DAAM,CAACyuB,cAAD,CAAtB;EACA,OAAOK,QAAQ,CAAC1E,WAAT,OAA2B2E,SAAS,CAAC3E,WAAV,EAAlC;AACD;;;;;;;;;;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASjuH,OAAT,CAAiBwuH,SAAjB,EAA4B;EACzCF,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;;EACA,IAAI,CAACK,4DAAM,CAACqnK,SAAD,CAAP,IAAsB,OAAOA,SAAP,KAAqB,QAA/C,EAAyD;IACvD,OAAO,KAAP;EACD;;EACD,IAAI1kB,IAAI,GAAGjG,4DAAM,CAAC2qB,SAAD,CAAjB;EACA,OAAO,CAACz3K,KAAK,CAAC47B,MAAM,CAACm3H,IAAD,CAAP,CAAb;AACD;;;;;;;;;;;;;;ACzCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASlG,gBAAT,CAA0B4qB,SAA1B,EAAqCuJ,QAArC,EAA+C;EAC5DzJ,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAIsuE,IAAI,GAAGyuE,4DAAM,CAAC2qB,SAAD,CAAN,CAAkBrsB,OAAlB,EAAX;EACA,IAAI1V,SAAS,GAAGoX,4DAAM,CAACk0B,QAAQ,CAACtuJ,KAAV,CAAN,CAAuB04H,OAAvB,EAAhB;EACA,IAAIt3D,OAAO,GAAGg5D,4DAAM,CAACk0B,QAAQ,CAACruJ,GAAV,CAAN,CAAqBy4H,OAArB,EAAd,CAJ4D,CAM5D;;EACA,IAAI,EAAE1V,SAAS,IAAI5hD,OAAf,CAAJ,EAA6B;IAC3B,MAAM,IAAIr3D,UAAJ,CAAe,kBAAf,CAAN;EACD;;EACD,OAAO4hD,IAAI,IAAIq3D,SAAR,IAAqBr3D,IAAI,IAAIyV,OAApC;AACD;;;;;;;;;;;;;;;ACpDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASpgE,GAAT,CAAautJ,eAAb,EAA8B;EAC3C1J,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAImxK,UAAJ,CAF2C,CAG3C;;EACA,IAAID,eAAe,IAAI,OAAOA,eAAe,CAACt7K,OAAvB,KAAmC,UAA1D,EAAsE;IACpEu7K,UAAU,GAAGD,eAAb,CADoE,CAGpE;EACD,CAJD,MAIO,IAAIp8J,sFAAO,CAACo8J,eAAD,CAAP,KAA6B,QAA7B,IAAyCA,eAAe,KAAK,IAAjE,EAAuE;IAC5EC,UAAU,GAAG52K,KAAK,CAACvD,SAAN,CAAgBtH,KAAhB,CAAsBwM,IAAtB,CAA2Bg1K,eAA3B,CAAb;EACD,CAFM,MAEA;IACL;IACA,OAAO,IAAIpwK,IAAJ,CAASuhD,GAAT,CAAP;EACD;;EACD,IAAIz+C,MAAJ;EACAutK,UAAU,CAACv7K,OAAX,CAAmB,UAAU8xK,SAAV,EAAqB;IACtC,IAAI0J,WAAW,GAAGr0B,4DAAM,CAAC2qB,SAAD,CAAxB;;IACA,IAAI9jK,MAAM,KAAKpU,SAAX,IAAwBoU,MAAM,GAAGwtK,WAAjC,IAAgDnhL,KAAK,CAAC47B,MAAM,CAACulJ,WAAD,CAAP,CAAzD,EAAgF;MAC9ExtK,MAAM,GAAGwtK,WAAT;IACD;EACF,CALD;EAMA,OAAOxtK,MAAM,IAAI,IAAI9C,IAAJ,CAASuhD,GAAT,CAAjB;AACD;;;;;;;;;;;;;;;AC/CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASx+B,GAAT,CAAaqtJ,eAAb,EAA8B;EAC3C1J,+EAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAImxK,UAAJ,CAF2C,CAG3C;;EACA,IAAID,eAAe,IAAI,OAAOA,eAAe,CAACt7K,OAAvB,KAAmC,UAA1D,EAAsE;IACpEu7K,UAAU,GAAGD,eAAb,CADoE,CAEpE;EACD,CAHD,MAGO,IAAIp8J,sFAAO,CAACo8J,eAAD,CAAP,KAA6B,QAA7B,IAAyCA,eAAe,KAAK,IAAjE,EAAuE;IAC5EC,UAAU,GAAG52K,KAAK,CAACvD,SAAN,CAAgBtH,KAAhB,CAAsBwM,IAAtB,CAA2Bg1K,eAA3B,CAAb;EACD,CAFM,MAEA;IACL;IACA,OAAO,IAAIpwK,IAAJ,CAASuhD,GAAT,CAAP;EACD;;EACD,IAAIz+C,MAAJ;EACAutK,UAAU,CAACv7K,OAAX,CAAmB,UAAU8xK,SAAV,EAAqB;IACtC,IAAI0J,WAAW,GAAGr0B,4DAAM,CAAC2qB,SAAD,CAAxB;;IACA,IAAI9jK,MAAM,KAAKpU,SAAX,IAAwBoU,MAAM,GAAGwtK,WAAjC,IAAgDnhL,KAAK,CAACmhL,WAAW,CAACp2B,OAAZ,EAAD,CAAzD,EAAkF;MAChFp3I,MAAM,GAAGwtK,WAAT;IACD;EACF,CALD;EAMA,OAAOxtK,MAAM,IAAI,IAAI9C,IAAJ,CAASuhD,GAAT,CAAjB;AACD;;;;;;;;;;;;;;;;;;;AC9Cc;AACf;AACA,yCAAyC,SAAS;AAClD;AACA;;ACJqD;AACtC;AACf;AACA,oCAAoC,iBAAgB;AACpD;AACA;AACA;AACA,sFAAsF,iBAAgB;AACtG;;ACRyE;AAC1D;AACf;AACA;AACA,kCAAkC,2BAA0B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;;;;;;;ACnDe,SAAShjC,aAAT,CAAgBhiB,MAAhB,EAAwB+I,MAAxB,EAAgC;EAC7C,IAAI/I,MAAM,IAAI,IAAd,EAAoB;IAClB,MAAM,IAAI3O,SAAJ,CAAc,+DAAd,CAAN;EACD;;EACD,KAAK,IAAI2X,QAAT,IAAqBD,MAArB,EAA6B;IAC3B,IAAItI,MAAM,CAAC9G,SAAP,CAAiBoN,cAAjB,CAAgClI,IAAhC,CAAqCkK,MAArC,EAA6CC,QAA7C,CAAJ,EAA4D;MAC1D;MACAhJ,MAAM,CAACgJ,QAAD,CAAN,GAAmBD,MAAM,CAACC,QAAD,CAAzB;IACD;EACF;;EACD,OAAOhJ,MAAP;AACD;;;;;;;;;;;;ACXc;AACf;AACA;AACA;AACA;AACA;;ACLe;AACf;AACA;AACA;AACA;AACA;AACA;;ACNiD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,eAAc;AAChC;;AChBe;AACf;AACA;AACA;AACA;AACA;;ACLe;AACf;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA,IAAI;AACJ;AACA;AACA;;ACVkC;AAC6B;AAChD;AACf,eAAe,6BAAO;AACtB;AACA,IAAI;AACJ;AACA;AACA,SAAS,sBAAqB;AAC9B;;ACTiD;AACoB;AACE;AACxD;AACf,kCAAkC,yBAAwB;AAC1D;AACA,gBAAgB,eAAc;AAC9B;AACA;AACA,sBAAsB,eAAc;AACpC;AACA,MAAM;AACN;AACA;AACA,WAAW,0BAAyB;AACpC;AACA;;AChBe;AACf;AACA;AACA;AACA;;ACJkC;AACnB;AACf,MAAM,6BAAO;AACb;AACA;AACA;AACA,QAAQ,6BAAO;AACf;AACA;AACA;AACA;;ACVkC;AACS;AAC5B;AACf,YAAY,YAAW;AACvB,SAAS,6BAAO;AAChB;;ACL+C;AAC/C;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA,kCAAkC,cAAa;AAC/C;AACA;AACe;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;ACjB+C;AAChC;AACf,QAAQ,cAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIq0K,sBAAsB,GAAG,EAA7B;AACO,IAAIC,MAAM,GAAG,aAAa,YAAY;EAC3C,SAASA,MAAT,GAAkB;IAChBH,eAAe,CAAC,IAAD,EAAOG,MAAP,CAAf;;IACAh9J,eAAe,CAAC,IAAD,EAAO,UAAP,EAAmB,KAAK,C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YAAJ,EA1BgB;EA2BnBx9C,CAAC,EAAE,IAAI09C,sBAAJ,EA3BgB;EA4BnBl6B,CAAC,EAAE,IAAIo6B,sBAAJ,EA5BgB;EA6BnBnqJ,CAAC,EAAE,IAAIoqJ,iBAAJ,EA7BgB;EA8BnBtyK,CAAC,EAAE,IAAIuyK,sBAAJ,EA9BgB;EA+BnB56B,CAAC,EAAE,IAAI66B,2BAAJ;AA/BgB,CAAd;;AC1EP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CACqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI5J,sBAAsB,GAAG,uDAA7B,EAEA;AACA;;AACA,IAAIC,0BAA0B,GAAG,mCAAjC;AACA,IAAIC,mBAAmB,GAAG,cAA1B;AACA,IAAIC,iBAAiB,GAAG,KAAxB;AACA,IAAI4J,mBAAmB,GAAG,IAA1B;AACA,IAAI3J,6BAA6B,GAAG,UAApC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS9gL,KAAT,CAAe0qL,eAAf,EAAgCC,iBAAhC,EAAmDC,kBAAnD,EAAuEpqL,OAAvE,EAAgF;EAC7F,IAAIuqB,IAAJ,EAAUyvJ,eAAV,EAA2BjuJ,KAA3B,EAAkCuiD,KAAlC,EAAyCS,KAAzC,EAAgDgrG,qBAAhD,EAAuEyG,gBAAvE,EAAyFC,qBAAzF,EAAgHvG,qBAAhH,EAAuIC,sBAAvI,EAA+JuG,KAA/J,EAAsKC,KAAtK,EAA6KC,KAA7K,EAAoL5F,qBAApL,EAA2M6F,gBAA3M,EAA6NC,qBAA7N,EAAoPC,sBAApP,EAA4QC,sBAA5Q;;EACAjI,+BAAY,CA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AHA;cAAA,IAIApuN,WAJA;cAMAA;cACAA,gDAVA,CAYA;;cACAouN;cAEApuN;gBACA;gBAAA,IACAquN,wDADA;gBAGA;kBACA52G,oBADA;kBAEA42G,mBAFA;kBAGAjhO;gBAHA;cAKS,CATT;cAWA;YACK,CA3BL;UA4BA,EAEA;;;UAEA;YACA;YAAA,IACAkhO,OADA;;YAGA;cACAA;cACAj9E;YACA;;YAEA;UACA;;UAEA;YACA;YAAA,IACA1+G,uDADA;;YAGA;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;YAHA;UAKA;;UAEA;YACA;YAAA,IACAA,+CADA;;YAGA;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;;cACA;gBAAA;YARA;UAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;UC5JA;;;UACA;UACA;UACA;;UAEA;YACA;UACA;;UAEA;YACA;cACA;YACA;;YAEA;YACA;UACA;UAEA;;;UAAA,iCAAe47L,kBAAf;;;;;;;;;;;;;;UChBA,kBAAkBhsN,+BAAAA;UAAA;UAAA,+CAAlB;;UACA,6EAEA;;UACA;YACA;;YACA;cACA;cACA;cACA,uBAHA,CAIA;;cACAisN;YACA,CANA,MAMI;cACJ;cACA;YACA;;YAEA;YACA;YACA;;YAEA;cACA;gBACAA;cACA;YACA;;YAEA;cACA;gBACAA;cACA;YACA,CA3BA,CA6BA;;;YACA;cACAt/M;cACAA;YACA;;YAEA;cACA;gBACAs/M;cACA;YACA;UACA;;UAEA;YACA;UACA;;UAEArgO;;;;;;;;;;;;;UCpDA;AACA;AACA;AACA;AACA;;UAGA;;UACA;UACA;UACA;;UAEA;YACA;cACA;YACA;;YAEA;UACA;;UAEA;YACA;cACA;gBACA;cACA,CAHA,CAKA;cAEA;;;cACA,8BARA,CAQkC;;cAClCsgO;;cACA;gBACA;cACA,CAZA,CAcA;;;cACA;;cACA,gBAAkBpiO,MAAlB,EAA0BA,GAA1B,EAA0B;gBAC1BqiO;cACA;;cACA;gBACA;cACG,CAFH;;cAGA;gBACA;cACA,CAxBA,CA0BA;;;cACA;cACA;gBACAC;cACG,CAFH;;cAGA,kCAAkCA,KAAlC,GAAkC/wN,IAAlC,CAAkC,EAAlC,MACA,sBADA,EACA;gBACA;cACA;;cAEA;YACA,CArCA,CAqCG;cACH;cACA;YACA;UACA;;UAEAzP;YACA;YACA;YACA;;YAEA,gBAAiByV,oBAAjB,EAAuCA,GAAvC,EAAuC;cACvC2G;;cAEA;gBACA;kBACAqzE;gBACA;cACA;;cAEA;gBACAjsE;;gBACA,gBAAmBtlB,kBAAnB,EAAuCA,GAAvC,EAAuC;kBACvC;oBACAuxF;kBACA;gBACA;cACA;YACA;;YAEA;UACA,CAzBA;;;;;;;;;;;;;UChEA;AACA;AACA;AACA;AACA;AACA;;UAIA;;UAEA,IAAI,IAAJ,EAAyC;YACzC,2BAA6Br7E,gCAAO;YAAC;YAAA,uDAAD,CAApC;;YACA;;YACA,UAAYA,gCAAO;YAAC;YAAA,sCAAD,CAAnB;;YAEAqsN;cACA;;cACA;gBACA/tN;cACA;;cACA;gBACA;gBACA;gBACA;gBACA;cACA,CALA,CAKM;gBAAY;cAAA;YAClB,CAXA;UAYA;UAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;UACA;YACA,IAAM,IAAN,EAA2C;cAC3C;gBACA;kBACA,UADA,CAEA;kBACA;kBACA;;kBACA;oBACA;oBACA;oBACA;sBACA,gBACA,mGACA,8EADA,GACA,8BADA,GACA,IADA,GAEA,+FAHA;sBAKAjP;sBACA;oBACA;;oBACAuG;kBACA,CAbA,CAaU;oBACVA;kBACA;;kBACA;oBACAy2N,aACA,gEACA9uN,QADA,GACA,IADA,GACA+uN,YADA,GACA,iCADA,GAEA,2DAFA,GAEA,YAFA,GAEA,IAFA,GAGA,iEAHA,GAIA,gEAJA,GAKA,iCANA;kBAQA;;kBACA;oBACA;oBACA;oBACAC;oBAEA;oBAEAF,aACA,+EADA;kBAGA;gBACA;cACA;YACA;UACA;UAEA;AACA;AACA;AACA;AACA;;;UACAv9M;YACA,IAAM,IAAN,EAA2C;cAC3Cy9M;YACA;UACA,CAJA;;UAMA3gO;;;;;;;;;;;;;UCtGA;AACA;AACA;AACA;AACA;AACA;;UAIA,cAAcoU,gCAAO;UAAC;UAAA,kCAAD,CAArB;;UACA,aAAaA,gCAAO;UAAC;UAAA,uCAAD,CAApB;;UAEA,2BAA2BA,gCAAO;UAAC;UAAA,uDAAD,CAAlC;;UACA,UAAUA,gCAAO;UAAC;UAAA,sCAAD,CAAjB;;UACA,qBAAqBA,gCAAO;UAAC;UAAA,6CAAD,CAA5B;;UAEA;;UAEA,IAAI,IAAJ,EAAyC;YACzCqsN;cACA;;cACA;gBACA/tN;cACA;;cACA;gBACA;gBACA;gBACA;gBACA;cACA,CALA,CAKM;YACN,CAXA;UAYA;;UAEA;YACA;UACA;;UAEA1S;YACA;YACA;YACA,wCAHA,CAG2C;;YAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;YACA;cACA;;cACA;gBACA;cACA;YACA;YAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;YAEA,gCAzEA,CA2EA;YACA;;YACA;cACAkiB,0CADA;cAEA2kI,4CAFA;cAGA1kI,2CAHA;cAIAC,4CAJA;cAKArW,4CALA;cAMAuJ,4CANA;cAOA+M,4CAPA;cAQAC,4CARA;cAUAC,2BAVA;cAWAC,iCAXA;cAYAC,mCAZA;cAaAC,2CAbA;cAcAC,qCAdA;cAeAC,yBAfA;cAgBAC,mCAhBA;cAiBAC,4BAjBA;cAkBAC,iCAlBA;cAmBAC,6BAnBA;cAoBAC;YApBA;YAuBA;AACA;AACA;AACA;;YACA;;YACA;cACA;cACA;gBACA;gBACA;gBACA;cACA,CAJA,MAIM;gBACN;gBACA;cACA;YACA;YACA;;YAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;YACA;cACA;cACA;cACA;YACA,CAjIA,CAkIA;;;YACA29M;;YAEA;cACA,IAAQ,IAAR,EAA6C;gBAC7C;gBACA;cACA;;cACA;gBACA/+M;gBACAC;;gBAEA;kBACA;oBACA;oBACA,oBACA,yFACA,iDADA,GAEA,gDAHA;oBAKAre;oBACA;kBACA,CATA,MASU,IAAS,SAAqC,8BAA9C,EAA8C;oBACxD;oBACA;;oBACA,IACA,sCACA;oBACAo9N,8BAHA,EAIA;sBACAJ,aACA,2DACA,oBADA,GACA3+M,YADA,GACA,aADA,GACAD,aADA,GACA,wBADA,GAEA,yDAFA,GAGA,gEAHA,GAIA,+DAJA,GAIA,cALA;sBAOAi/M;sBACAD;oBACA;kBACA;gBACA;;gBACA;kBACA;oBACA;sBACA;oBACA;;oBACA;kBACA;;kBACA;gBACA,CARA,MAQQ;kBACR;gBACA;cACA;;cAEA;cACAE;cAEA;YACA;;YAEA;cACA;gBACA;gBACA;;gBACA;kBACA;kBACA;kBACA;kBACA;kBAEA,yBACA,mKADA,EAEA;oBAAWC;kBAAX,CAFA;gBAIA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;YACA;;YAEA;cACA;gBACA;kBACA;gBACA;;gBACA;;gBACA;kBACA;kBACA;gBACA;;gBACA,gBAAsB9iO,oBAAtB,EAA4CA,GAA5C,EAA4C;kBAC5C;;kBACA;oBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;;gBACA;kBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;;gBACA;kBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;kBACA;kBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA,IAAU,IAAV,EAA+C;kBAC/C;oBACAuiO,aACA,qGACA,0EAFA;kBAIA,CALA,MAKU;oBACVA;kBACA;gBACA;;gBACA;cACA;;cAEA;gBACA;;gBACA,gBAAsBviO,yBAAtB,EAAiDA,GAAjD,EAAiD;kBACjD;oBACA;kBACA;gBACA;;gBAEA;kBACA;;kBACA;oBACA;kBACA;;kBACA;gBACO,CANP;gBAOA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;kBACA;gBACA;;gBACA;gBACA;;gBACA;kBACA;gBACA;;gBACA;kBACA;oBACA;;oBACA;sBACA;oBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACM,QAAqCuiO,sFAArC,GAAiI,CAAjI;gBACN;cACA;;cAEA,gBAAoBviO,8BAApB,EAAoDA,GAApD,EAAoD;gBACpD;;gBACA;kBACAuiO,aACA,uFACA,WADA,GACAQ,iCADA,GACA,YADA,GACA/iO,CADA,GACA,GAFA;kBAIA;gBACA;cACA;;cAEA;gBACA;;gBACA,gBAAsBA,8BAAtB,EAAsDA,GAAtD,EAAsD;kBACtD;kBACA;;kBACA;oBACA;kBACA;;kBACA;oBACAgjO;kBACA;gBACA;;gBACA;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA,yBACA,+GACA,8EADA,GACA57N,IADA,GACA,IAFA;YAIA;;YAEA;cACA;gBACA;gBACA;;gBACA;kBACA;gBACA;;gBACA;kBACA;;kBACA;oBACA;kBACA;;kBACA;;kBACA;oBACA;kBACA;gBACA;;gBACA;cACA;;cACA;YACA;;YAEA;cACA;gBACA;gBACA;;gBACA;kBACA;gBACA,CALA,CAMA;;;gBACA,yBAA6Bqc,eAA7B,EAA6Bw/M,UAA7B;;gBACA;kBACA;;kBACA;oBACA;kBACA;;kBACA;oBACA,yBACA,2GACA,gBADA,GACAlzN,2CADA,GAEA,gBAFA,GAEAA,mDAHA;kBAKA;;kBACA;;kBACA;oBACA;kBACA;gBACA;;gBACA;cACA;;cAEA;YACA;;YAEA;cACA;gBACA;gBACA;gBACA;kBACA;;gBACA;kBACA;;gBACA;kBACA;oBACA;kBACA;;kBACA;oBACA;kBACA;;kBAEA;;kBACA;oBACA;oBACA;;oBACA;sBACA;wBACA;0BACA;wBACA;sBACA;oBACA,CANA,MAMY;sBACZ;sBACA;wBACA;;wBACA;0BACA;4BACA;0BACA;wBACA;sBACA;oBACA;kBACA,CApBA,MAoBU;oBACV;kBACA;;kBAEA;;gBACA;kBACA;cA1CA;YA4CA;;YAEA;cACA;cACA;gBACA;cACA,CAJA,CAMA;;;cACA;gBACA;cACA,CATA,CAWA;;;cACA;gBACA;cACA,CAdA,CAgBA;;;cACA;gBACA;cACA;;cAEA;YACA,CAzfA,CA2fA;;;YACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;gBACA;gBACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;YACA,CA3gBA,CA6gBA;YACA;;;YACA;cACA;gBACA;cACA;;cACA;;cACA;gBACA;kBACA;gBACA,CAFA,MAEQ;kBACR;gBACA;cACA;;cACA;YACA,CA5hBA,CA8hBA;YACA;;;YACA;cACA;;cACA;gBACA;gBACA;kBACA;;gBACA;gBACA;gBACA;kBACA;;gBACA;kBACA;cATA;YAWA,CA7iBA,CA+iBA;;;YACA;cACA;gBACA;cACA;;cACA;YACA;;YAEAgU;YACAA;YACAA;YAEA;UACA,CA5jBA;;;;;;;;;;;;;UCrCA;AACA;AACA;AACA;AACA;AACA;UAEA,IAAI,IAAJ,EAAyC;YACzC,cAAgB7N,gCAAO;YAAC;YAAA,kCAAD,CAAvB,CADyC,CAGzC;YACA;;;YACA;YACApU,iBAAmBoU,gCAAO;YAAC;YAAA,sDAAD,CAAP,CAAmC2yI,iBAAnC,EAAmCC,mBAAnC,CAAnB;UACA,CAPA,MAOO,EAIN;;;;;;;;;;;;;;UClBD;AACA;AACA;AACA;AACA;AACA;;UAIA;UAEAhnJ;;;;;;;;;;;;UCXAA;;;;;;;;;;;;;UCAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;UAMA,IAAI,IAAJ,EAAyC;YACzC;cACA,aADA,CAGA;cACA;;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA,0EAZA,CAY2E;cAC3E;;cAEA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;;cAEA;gBACA;gBACAsF,4BADA,IACAA,mCADA,IACAA,4BADA,IACAA,+BADA,IACAA,4BADA,IACAA,iCADA,IACA,oZADA;cAEA;;cAEA;gBACA;kBACA;;kBAEA;oBACA;sBACA;;sBAEA;wBACA;wBACA;wBACA;wBACA;wBACA;wBACA;0BACA;;wBAEA;0BACA;;0BAEA;4BACA;4BACA;4BACA;4BACA;4BACA;8BACA;;4BAEA;8BACA;0BATA;;sBAZA;;oBA0BA;sBACA;kBA/BA;gBAiCA;;gBAEA;cACA,CAxEA,CAwEE;;;cAEF;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cACA,gDAvFA,CAuFiD;;cAEjD;gBACA;kBACA;oBACA87N,2CADA,CACkD;;oBAElD1uN;kBACA;gBACA;gBAEA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cACA;gBACA;cACA;;cAEAxV,oBAAiB0oN,SAAjB;cACA1oN,yBAAsB2oN,cAAtB;cACA3oN,0BAAuB4oN,eAAvB;cACA5oN,0BAAuB6oN,eAAvB;cACA7oN,kBAAeivB,OAAf;cACAjvB,qBAAkBsvD,UAAlB;cACAtvD,mBAAgB8oN,QAAhB;cACA9oN,eAAY+oN,IAAZ;cACA/oN,eAAYuvD,IAAZ;cACAvvD,iBAAcgpN,MAAd;cACAhpN,mBAAgBipN,QAAhB;cACAjpN,qBAAkBkpN,UAAlB;cACAlpN,mBAAgBmpN,QAAhB;cACAnpN,sBAAmBopN,WAAnB;cACAppN,2BAAwBqpN,gBAAxB;cACArpN,4BAAyBspN,iBAAzB;cACAtpN,4BAAyBupN,iBAAzB;cACAvpN,oBAAiB+pJ,SAAjB;cACA/pJ,uBAAoBwpN,YAApB;cACAxpN,qBAAkBypN,UAAlB;cACAzpN,iBAAc0pN,MAAd;cACA1pN,iBAAc0vD,MAAd;cACA1vD,mBAAgB2pN,QAAhB;cACA3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CA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAM06C,uBAAW,GAAG,aAAaD,kBAAkB,EAAnD;;ACxCP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAnG,qBAAqB,CAACxL,8CAAD,CAArB;AACAwN,iBAAiB,CAAC9zC,yBAAD,CAAjB,EAAyC;AACzC;;AAEAsxC,QAAQ,CAACD,iCAAD,CAAR;AACA;;;ACde;AACf;AACA;AACA;AACA;;ACJA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;ACjBe;AACf;AACA;AACA;AACA;AACA;AACA;;ACNiD;AAClC;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,kBAAkB,eAAc;AAChC;;ACjBe;AACf;AACA;AACA;AACA;AACA;;ACLe;AACf;AACA;AACA;;AAEA;AACA,gFAAgF;AAChF;AACA,IAAI;AACJ;AACA;AACA;;ACXe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;ACRe;AACf;AACA;AACA;;AAEA;AACA;;ACNkC;AAC6B;AAChD;AACf,eAAe,OAAO;AACtB;AACA,IAAI;AACJ;AACA;;AAEA,SAAS,sBAAqB;AAC9B;;ACViD;AACoB;AACE;AACxD;AACf,kCAAkC,yBAAwB;AAC1D;AACA,gBAAgB,eAAc;AAC9B;;AAEA;AACA,sBAAsB,eAAc;AACpC;AACA,MAAM;AACN;AACA;;AAEA,WAAW,0BAAyB;AACpC;AACA;;AClBe,SAAS,6BAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;;AAEA;AACA;;;;ACbA;AACO,SAAS8G,iBAAT,GAA6B;EAChC;EACA,OAAO,OAAOr9O,QAAP,KAAoB,QAApB,IAAgC,OAAOA,QAAQ,CAACJ,MAAhB,KAA2B,QAAlE;AACH;AACM,SAAS09O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sBuY,MAAtB,EAA8BxZ,GAA9B,EAAmC07Q,gBAAnC;YAAmC;UAAA;QAAA,CAzBzC,SA4BE;UAEA6B,gBAAgB3C,kBAAhB;QAAgB;;QAGlB,OAAO75T,MAAP;MAAO,CAhEU;IAgEV,CAhEA;EAgEA,CAjEX;;EAoEA,OAAO;IACLyoT,sBADK;IAEL8R,8BAFK;IAGLwB,4BAHK;IAILa,gBAAgBL;EAJX,CAAP;AAIkB;;;A3BvdpBpb,CAASA;;;A4BxByB;AACnB,SAAS,qCAAmB;AAC3C;AACA;;AAEA,EAAE,qCAAmB;AACrB;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yDAAyD;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oFAAoF;AACpF;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,YAAY;AACzB;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C,QAAQ;AACvD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AC/VA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEe,SAAS,iCAAiB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AChCA,GAAM0b,aAAY,CAAG,CACnBjiI,OAAO,CAAE,SADU,CAEnBkiI,OAAO,CAAE,SAFU,CAGnBC,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iB,oBAAK,KAAK,oBAAK;AACnC;AACA;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG,iBAAiB,qBAAM,KAAK,qBAAM;AACrC;AACA;AACA,GAAG,IAAI,qBAAM,KAAK,qBAAM;AACxB;AACA;AACA,GAAG,IAAI,qBAAM,KAAK,qBAAM;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI,iBAAE,KAAK,iBAAE;AAChB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,IAAI,sBAAO,KAAK,sBAAO;AAC1B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG,iBAAiB,oBAAK,KAAK,oBAAK;AACnC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI,kBAAG,KAAK,kBAAG;AAClB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI,kBAAG,KAAK,kBAAG;AAClB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI,kBAAG,KAAK,kBAAG;AAClB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI,kBAAG,KAAK,kBAAG;AAClB;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG,0CAA0C,uBAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA,IAAI,0BAAU,gBAAgB,kFAAkC;AAChE,oDAAe,qBAAuB,sEAAsE,EAAC;;;AC3oB7G,IAAI,YAAK,EAAE,aAAM,EAAE,SAAE,EAAE,aAAM,EAAE,aAAM,EAAE,aAAM,EAAE,aAAM,EAAE,aAAM,EAAE,aAAM,EAAE,aAAM,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,UAAG,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAAO,EAAE,cAA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cAAO;AAC1B;AACA,GAAG,IAAI,eAAQ,KAAK,eAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA;AACA;AACA,GAAG,IAAI,eAAQ,KAAK,eAAQ;AAC5B;AACA;AACA;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA,GAAG,IAAI,eAAQ,KAAK,eAAQ;AAC5B;AACA;AACA;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;AACA;AACA,GAAG,IAAI,cAAO,KAAK,cAAO;AAC1B;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kDAAe+yB,KAAf;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAC4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIqI,sBAAsB,GAAG,uDAA7B,EAAsF;AACtF;;AAEA,IAAIC,0BAA0B,GAAG,mCAAjC;AACA,IAAIC,mBAAmB,GAAG,cAA1B;AACA,IAAIC,iBAAiB,GAAG,KAAxB;AACA,IAAIC,6BAA6B,GAAG,UAApC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAASh9H,MAAT,CAAgB21H,SAAhB,EAA2BsH,cAA3B,EAA2CvgL,OAA3C,EAAoD;EACjE,IAAIuqB,IAAJ,EAAUyvJ,eAAV,EAA2BjuJ,KAA3B,EAAkCuiD,KAAlC,EAAyCS,KAAzC,EAAgDgrG,qBAAhD,EAAuEyG,gBAAvE,EAAyFC,qBAAzF,EAAgHvG,qBAAhH,EAAuIC,sBAAvI,EAA+JuG,KAA/J,EAAsKC,KAAtK,EAA6KC,KAA7K,EAAoL5F,qBAApL,EAA2M6F,gBAA3M,EAA6NC,qBAA7N,EAAoPC,sBAApP,EAA4QC,sBAA5Q;;EAEAjI,YAAY,CAAC,CAAD,EAAIxnK,SAAJ,CAAZ;EACA,IAAI0vK,SAAS,GAAG1+J,MAAM,CAACg+J,cAAD,CAAtB;EACA,IAAIx9H,cAAc,GAAG+0H,iBAAiB,EAAtC;EACA,IAAIhzB,MAAM,GAAG,CAACv6H,IAAI,GAAG,CAACyvJ,eAAe,GAAGh6K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8kJ,MAA7E,MAAyF,IAAzF,IAAiGk1B,eAAe,KAAK,KAAK,CAA1H,GAA8HA,eAA9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B5B;AACD;AACA;AACA;EACCkH,MAAM,EAAElH,eA/BoB;;EAiC5B;AACD;AACA;AACA;EACCylJ,QAAQ,EAAEzlJ,eArCkB;;EAuC5B;AACD;AACA;AACA;EACC6nJ,QAAQ,EAAE7nJ,eA3CkB;;EA6C5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC;EACAsqJ,YAAY,EAAEtqJ,iBAlEc;;EAoE5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC;EACA29Z,kBAAkB,EAAE39Z,gBAAAA,CAAgB,CAAC,UAAD,CAAhBA,CAxFQ;EA0F5B;EACA;EACA09Z,gCAAgC,EAAE19Z,eA5FN;;EA8F5B;AACD;AACA;AACA;AACA;AACA;EACC;EACAs8Y,cAAc,EAAEt8Y,iBArGY;;EAuG5B;AACD;AACA;AACA;AACA;AACA;AACA;EACC49Y,SAAS,EAAE59Y,kBAAAA,CAAkBA,iBAAlBA,CA9GiB;;EAgH5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCuzN,MAAM,EAAEirM,MA1HoB;;EA4H5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCngS,OAAO,EAAEr+H,oBAAAA,CAAoB,CAC5BA,iBAD4B,EAE5BA,kBAAAA,CAAkBA,iBAAlBA,CAF4B,CAApBA,CAzImB;;EA8I5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC+4Z,OAAO,EAAE/4Z,iBArKmB;;EAuK5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCo9B,KAAK,EAAEp9B,mBAAAA,CAAmBA,sBAAnBA,CA7LqB;;EA+L5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCi6Z,aAAa,EAAEj6Z,sBAzMa;;EA2M5B;AACD;AACA;EACC66Z,sBAAsB,EAAE76Z,eA9MI;;EAgN5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCk6Z,iBAAiB,EAAEl6Z,sBAxNS;;EA0N5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCu/Z,mBAAmB,EAAEv/Z,kBAAAA,CAAkBA,iBAAlBA,CAtOO;;EAwO5B;AACD;AACA;EACC0jD,KAAK,EAAE1jD,iBA3OqB;;EA6O5B;AACD;AACA;EACC+G,SAAS,EAAE/G,iBAhPiB;;EAkP5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC+/Z,sBAAsB,EAAE//Z,sBAnQI;;EAqQ5B;AACD;AACA;AACA;AACA;EACCm/Z,kBAAkB,EAAEn/Z,iBA1QQ;;EA4Q5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC4tZ,cAAc,EAAE5tZ,sBAzRY;;EA2R5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCiga,kBAAkB,EAAEjga,sBAnSQ;;EAqS5B;AACD;AACA;EACC4/Z,gBAAgB,EAAE5/Z,iBAxSU;;EA0S5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC;EACA6/Z,UAAU,EAAE7/Z,eAtTgB;;EAwT5B;AACD;AACA;AACA;AACA;EACCouZ,aAAa,EAAEpuZ,eA7Ta;;EA+T5B;AACD;AACA;AACA;EACC48Z,cAAc,EAAE58Z,eAnUY;;EAqU5B;AACD;AACA;AACA;AACA;EACC68Z,0BAA0B,EAAE78Z,eA1UA;;EA4U5B;AACD;AACA;AACA;AACA;AACA;EACC2wN,QAAQ,EAAE4tM,QAlVkB;;EAoV5B;AACD;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACArQ,eAAe,EAAEluZ,eAhWW;;EAkW5B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC0+Z,4BAA4B,EAAE1+Z,eAAchB;AA3WhB,CAA7Bsha;AA8WA,IAAM93X,YAAY,GAAG;EACpB;AACD;AACA;EACC8hH,YAAY,EAAE,KAJM;;EAMpB;AACD;AACA;EACCy1Q,sBAAsB,EAAEhI,qBATJ;;EAWpB;AACD;AACA;EACCkC,aAAa,EAAEF,aAdK;;EAgBpB;AACD;AACA;EACC;EACAhB,OAAO,EAAE,sEApBW;;EAsBpB;AACD;AACA;EACCmB,iBAAiB,EAAEjB,mCAzBC;;EA2BpB;AACD;AACA;EACCrL,cAAc,EAAE,OA9BI;;EAgCpB;AACD;AACA;EACCqS,kBAAkB,EAAE,KAnCA;;EAqCpB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC;EACA/6Y,KAAK,EAAEllB,cAlDa;;EAoDpB;AACD;AACA;;EAEC;AACD;AACA;EACC6/Z,UAAU,EAAE,IA3DQ;;EA6DpB;AACD;AACA;AACA;EACChF,sBAAsB,EAAE,IAjEJ;;EAmEpB;AACD;AACA;AACA;AACA;EACCgC,0BAA0B,EAAE,IAxER;;EA0EpB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC6B,4BAA4B,EAAE;AAnFV,CAArB;;AAsFA,SAAS6B,gBAAT,CAA0B/ha,KAA1B,EAAiC;EAChCA,KAAK,GAAG,uCAAKA,KAAR,CAALA;;EAEA,KAAK,IAAMpjB,GAAX,IAAkBotD,YAAlB,EAAgC;IAC/B,IAAIhqC,KAAK,CAACpjB,GAAD,CAALojB,KAAejjB,SAAnB,EAA8B;MAC7BijB,KAAK,CAACpjB,GAAD,CAALojB,GAAagqC,YAAY,CAACptD,GAAD,CAAzBojB;IACA;EACD;;EAED,OAAOA,KAAP;AACA;;AAED,0DAAe8ha,gBAAf;;AAEA,SAASZ,cAAT,CAAwBrva,CAAxB,EAA2BC,CAA3B,EAA8B;EAC7B,IAAID,CAAC,CAACrV,MAAFqV,KAAaC,CAAC,CAACtV,MAAnB,EAA2B;IAC1B,OAAO,KAAP;EACA;;EACD,IAAID,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGsV,CAAC,CAACrV,MAAb,EAAqB;IACpB,IAAIqV,CAAC,CAACtV,CAAD,CAADsV,KAASC,CAAC,CAACvV,CAAD,CAAd,EAAmB;MAClB,OAAO,KAAP;IACA;;IACDA,CAAC;EACD;;EACD,OAAO,IAAP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACr+BD;AACA;AAEA;AAEA;AAKA;AAEO,SAAS2lb,gBAAT,CAA0BpJ,eAA1B,EAA2C;EACjD,IAAMqJ,iBAAiB,gBAAG5ia,gBAAAA,CAAiB,gBAIxCkE,GAJwC;IAAA,yBAC1C0uN,QAD0C;IAAA,IAC1CA,QAD0C,8BAC/B2mM,eAD+B;IAAA,uBAE1C/jM,MAF0C;IAAA,IAE1CA,MAF0C,4BAEjCitM,OAFiC;IAAA,IAGvC37W,IAHuC;;IAAA,oBAK1C9mD,mBAAAA,CAAC0ia,qBAAD,2CACK57W,IADL;MAEC5iD,GAAG,EAAEA,GAFN;MAGC0uN,QAAQ,EAAEA,QAHX;MAIC4C,MAAM,EAAEA;IAJT,GAL0C;EAAjB,EAA1B;EAaAotM,iBAAiB,CAAC1ga,SAAlB0ga,GAA8B;IAC7BhwM,QAAQ,EAAE4tM,QADmB;IAE7BhrM,MAAM,EAAEirM,MAAcA;EAFO,CAA9BmC;EAKA,OAAOA,iBAAP;AACA;AAED,iEAAeD,gBAAgB,EAA/B;;AClCA;AAEA;AAWA;;AAEA,SAASz4a,IAAT,CAAcgX,IAAd,EAAoB4xN,UAApB,EAAgC;EAC/B,IAAI/kO,IAAI,GAAGxF,KAAK,CAACvD,SAAN,CAAgBtH,KAAhB,CAAsBwM,IAAtB,CAA2B4oO,UAA3B,CAAX;EACA/kO,IAAI,CAAClH,IAAL,CAAU+rO,iBAAV;EACA,OAAO1xN,IAAI,CAAC1Y,KAAL,CAAW,IAAX,EAAiBuF,IAAjB,CAAP;AACA;;AAED,wCAAe40a,gBAAgB,CAAC/vM,iBAAD,CAA/B;AAEO,SAAS+5L,oBAAT,GAA4B;EAClC,OAAOzia,IAAI,CAAC24a,iBAAD,EAAoB70a,SAApB,CAAX;AACA;AAEM,SAAS80a,iBAAT,GAA6B;EACnC,OAAO54a,IAAI,CAAC64a,kBAAD,EAAqB/0a,SAArB,CAAX;AACA;AAEM,SAASg1a,qBAAT,GAAiC;EACvC,OAAO94a,IAAI,CAAC+4a,sBAAD,EAAyBj1a,SAAzB,CAAX;AACA;AAEM,SAASq/Z,sBAAT,GAA8B;EACpC,OAAOnja,IAAI,CAACg5a,kBAAD,EAAsBl1a,SAAtB,CAAX;AACA;AAEM,SAAS23Z,yBAAT,GAAiC;EACvC,OAAOz7Z,IAAI,CAACi5a,sBAAD,EAAyBn1a,SAAzB,CAAX;AACA;AAEM,SAASsta,gBAAT,GAAwB;EAC9B,OAAOpxa,IAAI,CAACk5a,aAAD,EAAgBp1a,SAAhB,CAAX;AACA;AAEM,SAASw0Z,yBAAT,GAAiC;EACvC,OAAOt4Z,IAAI,CAACm5a,sBAAD,EAAyBr1a,SAAzB,CAAX;AACA;AAEM,SAAS00Z,sBAAT,GAA8B;EACpC,OAAOx4Z,IAAI,CAACo5a,mBAAD,EAAsBt1a,SAAtB,CAAX;AACA;;ACrDD;AACA,0CAAe,EAAE;;ACDjB;AACA,+CAAe,EAAE;;ACUjB;AACA,GAAMu1a,CAAAA,qBAAU,cAAGvja,gBAAA,CACjB,cAWEkE,GAXF,CAYK,IAVDk6X,QAUC,MAVDA,OAUC,CATDl2O,gBASC,MATDA,gBASC,CARDi3O,SAQC,MARDA,SAQC,CAPD3pY,KAOC,MAPDA,KAOC,CAND4/N,MAMC,MANDA,MAMC,CALD/oE,SAKC,MALDA,SAKC,CAJDpK,WAIC,MAJDA,WAIC,CAHDu7P,aAGC,MAHDA,aAGC,CACH,GAAM5a,SAAQ,CAAGz+X,gBAAM,CAAC,IAAD,CAAvB,CACA,GAAMy5Y,YAAW,CAAGhpB,eAAe,CAAC1wX,GAAD,CAAM0+X,QAAN,CAAnC,CAEAx+X,mBAAS,CAAC,UAAM,CACd,GAAIioJ,SAAJ,CAAe,CACbuxP,WAAW,CAACv5Y,OAAZ,CAAoBoQ,KAApB,GACD,CACF,CAJQ,CAIN,CAAC43I,SAAD,CAAYuxP,WAAZ,CAJM,CAAT,CAMA,mBACE,4BACE,SAAS,CAAEpwB,oBAAE,CACX,YADW,CAEXtlO,gBAFW,CAGXktE,MAAM,CAAC+pK,SAAD,CAAN,CAAoB,WAApB,CAAkC,EAHvB,CADf,WAMG3pY,KAAK,eACJ,2BAAK,SAAS,CAAC,oBAAf,UACGA,KAAK,eACJ,2BACE,SAAS,CAAC,YACV;AAFF,CAGE,uBAAuB,CAAE,CAAE8wL,MAAM,CAAE8oM,yBAAA,CAAgB55X,KAAhB,CAAV,CAH3B,EAFJ,EAPJ,cAiBE,2BAAK,SAAS,CAAC,YAAf,uBACE,oBAAC,UAAD,EACE,OAAO,CAAE4oY,OADX,CAEE,IAAI,CAAEe,SAFR,CAGE,MAAM,CAAE,0BAAGp9H,MAAH,OAAGA,KAAH,oBACN,oBAAC,GAAD,4DACMA,KADN,MAEE,QAAQ,CAAEy7I,aAAa,EAAI,IAF7B,CAGE,GAAG,CAAEI,WAHP,CAIE,IAAI,CAAEze,SAJR,CAKE,WAAW,CAAEl9O,WALf,CAME,KAAK,CAAEu7P,aAAa,EAAIz7I,KAAK,CAAChkR,KANhC,GADM,EAHV,EADF,EAjBF,CAiCG,CAACy/Z,aAAD,eAAkB,oBAAC,uBAAD,EAAc,MAAM,CAAEpoL,MAAtB,CAA8B,IAAI,CAAE+pK,SAApC,EAjCrB,GADF,CAqCD,CA5DgB,CAAnB,CA+DAokC,qBAAU,CAAC94X,YAAX,CAA0B,CACxB2qL,MAAM,CAAE,EADgB,CAA1B,CAiBA,qEAAemuM,qBAAf;;AC1FA,0DAAeA,gCAAf;;;;;;;;;;;;;;;;;;;;;AC2BO,IAAIn3X,KAAW;EAQlB,QAPAA,KAAWtgD,OAAOuhB,MAAPvhB,IAAiB,UAAkBiI,CAAlB,EAAkBA;IAC1C,KAAK,IAAIQ,CAAJ,EAAOvX,IAAI,CAAX,EAAcmX,IAAInG,UAAU/Q,MAAjC,EAAyCD,IAAImX,CAA7C,EAAgDnX,GAAhD;MAEI,KAAK,IAAIsX,CAAT,IADAC,IAAIvG,UAAUhR,CAAVgR,CACJ;QAAqBlC,OAAO9G,SAAP8G,CAAiBsG,cAAjBtG,CAAgC5B,IAAhC4B,CAAqCyI,CAArCzI,EAAwCwI,CAAxCxI,MAA4CiI,EAAEO,CAAFP,IAAOQ,EAAED,CAAFC,CAAnDzI;MAArB;IAFJ;;IAIA,OAAOiI,CAAP;EAAOA,CAEX,EAAgBvL,KAAhB,CAAsBwK,IAAtB,EAA4BhF,SAA5B;AAA4BA,CARzB;;AAsCA,SAAS6kO,UAAT,CAAmBhlO,CAAnB,EAA4BilO,CAA5B,EAAwCxnF,CAAxC,EAA2CynF,CAA3C,EAA2CA;EAE9C,OAAO,KAAKznF,MAAMA,IAAI1rJ,OAAV0rJ,CAAL,EAAyB,UAAUxrJ,CAAV,EAAmBC,CAAnB,EAAmBA;IAC/C,SAASmI,CAAT,CAAmBnK,CAAnB,EAAmBA;MAAS;QAAMk1O,EAAKF,EAAUlvN,IAAVkvN,CAAeh1O,CAAfg1O,CAALE;MAA+B,CAArC,CAAqC,OAAOp0O,CAAP,EAAOA;QAAKkB,EAAOlB,CAAPkB;MAAOlB;IACpF;;IAAA,SAASsJ,CAAT,CAAkBpK,CAAlB,EAAkBA;MAAS;QAAMk1O,EAAKF,EAAiBywM,KAAjBzwM,CAAmBh1O,CAAnBg1O,CAALE;MAAmC,CAAzC,CAAyC,OAAOp0O,CAAP,EAAOA;QAAKkB,EAAOlB,CAAPkB;MAAOlB;IACvF;;IAAA,SAASo0O,CAAT,CAAcrhO,CAAd,EAAcA;MAJlB,IAAe7T,CAAf;MAI4B6T,EAAOtR,IAAPsR,GAAc9R,EAAQ8R,EAAO7T,KAAf+B,CAAd8R,GAA6B7T,CAJ1CA,IAIyD6T,EAAO7T,KAJhEA,EAAgBA,aAAiButJ,CAAjBvtJ,GAAqBA,CAArBA,GAA6B,IAAIutJ,CAAJ,CAAM,UAAUxrJ,CAAV,EAAUA;QAAWA,EAAQ/B,CAAR+B;MAAQ/B,CAAnC,CAIHA,EAA6BuI,IAA7BvI,CAAkCmK,CAAlCnK,EAA6CoK,CAA7CpK,CAA7B6T;IACxBqhO;;IAAAA,GAAMF,IAAYA,EAAUvqO,KAAVuqO,CAAgBllO,CAAhBklO,EAAyBD,KAAc,EAAvCC,CAAlBE,EAA8DpvN,IAA9DovN;EAA8DpvN,CAJ3D,CAAP;AAQG;;AAAA,SAASqvN,UAAT,CAAqBrlO,CAArB,EAA8BmqC,CAA9B,EAA8BA;EACjC,IAAsG3e,CAAtG;EAAA,IAAyG6C,CAAzG;EAAA,IAA4GnoB,CAA5G;EAAA,IAA+Gm4B,CAA/G;EAAA,IAAIsE,IAAI;IAAEh7B,OAAO,CAAT;IAAY29N,MAAM;MAAa,IAAW,IAAPp/N,EAAE,CAAFA,CAAJ,EAAc,MAAMA,EAAE,CAAFA,CAAN;MAAY,OAAOA,EAAE,CAAFA,CAAP;IAAS,CAAlE;IAAyEq/N,MAAM,EAA/E;IAAmFC,KAAK;EAAxF,CAAR;EACA,OAAOnnM,IAAI;IAAEroB,MAAMyvN,EAAK,CAALA,CAAR;IAAiBkwM,OAASlwM,EAAK,CAALA,CAA1B;IAAmCp+C,QAAUo+C,EAAK,CAALA;EAA7C,CAAJpnM,EAA8E,qBAAXr4B,MAAW,KAAeq4B,EAAEr4B,OAAOkP,QAATmpB,IAAqB;IAAa,OAAOl5B,IAAP;EAAOA,CAAxD,CAA9Ek5B,EAAgJA,CAAvJ;;EACA,SAASonM,CAAT,CAAcn/N,CAAd,EAAcA;IAAK,OAAO,UAAU/F,CAAV,EAAUA;MAAK,OACzC,UAAcyoE,CAAd,EAAcA;QACV,IAAIx9C,CAAJ,EAAO,MAAM,IAAI38B,SAAJ,CAAc,iCAAd,CAAN;;QACP,OAAO8zC,CAAP;UAAOA;YACH,IAAInX,IAAI,CAAJA,EAAO6C,MAAMnoB,IAAY,IAAR8iE,EAAG,CAAHA,CAAQ,GAAI36C,EAAUg5J,MAAd,GAAkBr+G,EAAG,CAAHA,IAAQ36C,EAASsnZ,KAATtnZ,KAAS,CAAOnoB,IAAImoB,EAAUg5J,MAArB,KAA2BnhL,EAAE7J,IAAF6J,CAAOmoB,CAAPnoB,CAA3B,EAAsC,CAA/CmoB,CAAR26C,GAA4D36C,EAAErY,IAAlGqY,KAAkGrY,EAAW9P,IAAIA,EAAE7J,IAAF6J,CAAOmoB,CAAPnoB,EAAU8iE,EAAG,CAAHA,CAAV9iE,CAAf8P,EAAiCvjB,IAA9I,EAAoJ,OAAOyT,CAAP;;YAEpJ,QADImoB,IAAI,CAAJA,EAAOnoB,MAAG8iE,IAAK,CAAS,IAARA,EAAG,CAAHA,CAAD,EAAY9iE,EAAEhW,KAAd,CAARgW,CAAPmoB,EACI26C,EAAG,CAAHA,CAAR;cACI,KAAK,CAAL;cAAQ,KAAK,CAAL;gBAAQ9iE,IAAI8iE,CAAJ9iE;gBAAQ;;cACxB,KAAK,CAAL;gBAAmB,OAAXy8B,EAAEh7B,KAAFg7B,IAAkB;kBAAEzyC,OAAO84E,EAAG,CAAHA,CAAT;kBAAgBv2E,OAAM;gBAAtB,CAAP;;cACnB,KAAK,CAAL;gBAAQkwC,EAAEh7B,KAAFg7B,IAAWtU,IAAI26C,EAAG,CAAHA,CAAfrmC,EAAsBqmC,IAAK,CAAC,CAAD,CAA3BrmC;gBAAgC;;cACxC,KAAK,CAAL;gBAAQqmC,IAAKrmC,EAAE6iM,GAAF7iM,CAAM9hB,GAAN8hB,EAALqmC,EAAkBrmC,EAAE4iM,IAAF5iM,CAAO9hB,GAAP8hB,EAAlBqmC;gBAAgC;;cACxC;gBACI,MAAM9iE,IAAIy8B,EAAE4iM,IAANr/N,EAAMq/N,CAAMr/N,IAAIA,EAAE9W,MAAF8W,GAAW,CAAXA,IAAgBA,EAAEA,EAAE9W,MAAF8W,GAAW,CAAbA,CAA1Bq/N,KAAyD,MAAVv8J,EAAG,CAAHA,CAAU,IAAe,MAAVA,EAAG,CAAHA,CAA1E,GAAwF;kBAAErmC,IAAI,CAAJA;kBAAO;gBACjG;;gBAAA,IAAc,MAAVqmC,EAAG,CAAHA,CAAU,KAAP,CAAc9iE,CAAd,IAAoB8iE,EAAG,CAAHA,IAAQ9iE,EAAE,CAAFA,CAAR8iE,IAAgBA,EAAG,CAAHA,IAAQ9iE,EAAE,CAAFA,CAArC,CAAd,EAA2D;kBAAEy8B,EAAEh7B,KAAFg7B,GAAUqmC,EAAG,CAAHA,CAAVrmC;kBAAiB;gBAC9E;;gBAAA,IAAc,MAAVqmC,EAAG,CAAHA,CAAU,IAAKrmC,EAAEh7B,KAAFg7B,GAAUz8B,EAAE,CAAFA,CAA7B,EAAmC;kBAAEy8B,EAAEh7B,KAAFg7B,GAAUz8B,EAAE,CAAFA,CAAVy8B,EAAgBz8B,IAAI8iE,CAApBrmC;kBAAwB;gBAC7D;;gBAAA,IAAIz8B,KAAKy8B,EAAEh7B,KAAFg7B,GAAUz8B,EAAE,CAAFA,CAAnB,EAAyB;kBAAEy8B,EAAEh7B,KAAFg7B,GAAUz8B,EAAE,CAAFA,CAAVy8B,EAAgBA,EAAE6iM,GAAF7iM,CAAM3pC,IAAN2pC,CAAWqmC,CAAXrmC,CAAhBA;kBAAgC;gBACvDz8B;;gBAAAA,EAAE,CAAFA,KAAMy8B,EAAE6iM,GAAF7iM,CAAM9hB,GAAN8hB,EAANz8B,EACJy8B,EAAE4iM,IAAF5iM,CAAO9hB,GAAP8hB,EADIz8B;gBACU;YAXtB;;YAaA8iE,IAAK7+B,EAAK9tC,IAAL8tC,CAAUnqC,CAAVmqC,EAAmBxH,CAAnBwH,CAAL6+B;UACF,CAjBKrmC,CAiBL,OAAO3xC,CAAP,EAAOA;YAAKg4E,IAAK,CAAC,CAAD,EAAIh4E,CAAJ,CAALg4E,EAAa36C,IAAI,CAAjB26C;UAAiB,CAjBxBrmC,SAiBwB;YAAenX,IAAItlB,IAAI,CAARslB;UAC9C;QAlBA;;QAkBA,IAAY,IAARw9C,EAAG,CAAHA,CAAJ,EAAe,MAAMA,EAAG,CAAHA,CAAN;QAAa,OAAO;UAAE94E,OAAO84E,EAAG,CAAHA,IAAQA,EAAG,CAAHA,CAARA,GAAW,KAAK,CAAzB;UAAiCv2E,OAAM;QAAvC,CAAP;MArBgB2yO,CAChD,CADqD,CAAC9+N,CAAD,EAAI/F,CAAJ,CACrD,CADyC;IAAgBA,CAAtC;EAAsCA;AChF9C;;AAAA,SAASs5O,UAAT,GAASA;EAetB,QAdAA,UAAAA,GAAW57O,OAAOuhB,MAAPvhB,IAAiB,UAAUT,CAAV,EAAUA;IACpC,KAAK,IAAIrO,IAAI,CAAb,EAAgBA,IAAIgR,UAAU/Q,MAA9B,EAAsCD,GAAtC,EAA2C;MACzC,IAAI+J,IAASiH,UAAUhR,CAAVgR,CAAb;;MAEA,KAAK,IAAI3Q,CAAT,IAAgB0J,CAAhB;QACM+E,OAAO9G,SAAP8G,CAAiBsG,cAAjBtG,CAAgC5B,IAAhC4B,CAAqC/E,CAArC+E,EAA6CzO,CAA7CyO,MACFT,EAAOhO,CAAPgO,IAActE,EAAO1J,CAAP0J,CADZ+E;MADN;IAOF;;IAAA,OAAOT,CAAP;EAAOA,CAGT,EAAgB7C,KAAhB,CAAsBwK,IAAtB,EAA4BhF,SAA5B;ACda;;AAAA,SAASy1a,UAAT,CAAkC18a,CAAlC,EAA0Cu/M,CAA1C,EAA0CA;EACvD,IAAc,QAAVv/M,CAAJ,EAAoB,OAAO,EAAP;;EACpB,IACI1J,CADJ;EAAA,IACSL,CADT;EAAA,IAAIqO,ICHS,UAAuCtE,CAAvC,EAA+Cu/M,CAA/C,EAA+CA;IAC5D,IAAc,QAAVv/M,CAAJ,EAAoB,OAAO,EAAP;IACpB,IAEI1J,CAFJ;IAAA,IAESL,CAFT;IAAA,IAAIqO,IAAS,EAAb;IAAA,IACIk7M,IAAaz6M,OAAOC,IAAPD,CAAY/E,CAAZ+E,CADjB;;IAIA,KAAK9O,IAAI,CAAT,EAAYA,IAAIupN,EAAWtpN,MAA3B,EAAmCD,GAAnC;MACEK,IAAMkpN,EAAWvpN,CAAXupN,CAANlpN,EACIipN,EAASlpN,OAATkpN,CAAiBjpN,CAAjBipN,KAAyB,CAAzBA,KACJj7M,EAAOhO,CAAPgO,IAActE,EAAO1J,CAAP0J,CADVu/M,CADJjpN;IADF;;IAMA,OAAOgO,CAAP;EDTaq4a,CCHA,CDG6B38a,CCH7B,EDGqCu/M,CCHrC,CDGb;;EAGA,IAAIx6M,OAAOuW,qBAAX,EAAkC;IAChC,IAAIsha,IAAmB73a,OAAOuW,qBAAPvW,CAA6B/E,CAA7B+E,CAAvB;;IAEA,KAAK9O,IAAI,CAAT,EAAYA,IAAI2mb,EAAiB1mb,MAAjC,EAAyCD,GAAzC;MACEK,IAAMsmb,EAAiB3mb,CAAjB2mb,CAANtmb,EACIipN,EAASlpN,OAATkpN,CAAiBjpN,CAAjBipN,KAAyB,CAAzBA,IACCx6M,OAAO9G,SAAP8G,CAAiBgzD,oBAAjBhzD,CAAsC5B,IAAtC4B,CAA2C/E,CAA3C+E,EAAmDzO,CAAnDyO,MACLT,EAAOhO,CAAPgO,IAActE,EAAO1J,CAAP0J,CADT+E,CAFLzO;IADF;EAQF;;EAAA,OAAOgO,CAAP;AEjBa;;AAAA,SAASsX,UAAT,CAAyBhmB,CAAzB,EAA8BU,CAA9B,EAAmCU,CAAnC,EAAmCA;EAYhD,OAXIV,KAAOV,CAAPU,GACFyO,OAAO2H,cAAP3H,CAAsBnP,CAAtBmP,EAA2BzO,CAA3ByO,EAAgC;IAC9B/N,OAAOA,CADuB;IAE9B2V,aAAY,CAFkB;IAG9BsP,eAAc,CAHgB;IAI9BC,WAAU;EAJoB,CAAhCnX,CADEzO,GAQFV,EAAIU,CAAJV,IAAWoB,CARTV,EAWGV,CAAP;ACyCF;;AAAA,IAAIinb,UAAAA,GAA0B;EAC5B,SAASA,CAAT,CAAoBnnb,CAApB,EAAoBA;IAClB,IAAI2d,IAAQpH,IAAZ;IAEAA,KAAK6wa,UAAL7wa,GAAkB,UAAUsT,CAAV,EAAUA;MAC1B,IAAI6+H,CAAJ;MAGEA,IADwB,MAAtB/qI,EAAMksC,IAANlsC,CAAWnd,MAAW,GACfmd,EAAMmjC,OAANnjC,GAAgBA,EAAMnE,SAANmE,CAAgB2gC,UAAhC3gC,GAA6CA,EAAM+qI,MADpC,GAGf/qI,EAAMksC,IAANlsC,CAAWA,EAAMksC,IAANlsC,CAAWnd,MAAXmd,GAAoB,CAA/BA,EAAkCwoL,WAF3Cz9C,EAKF/qI,EAAMnE,SAANmE,CAAgB69B,YAAhB79B,CAA6BkM,CAA7BlM,EAAkC+qI,CAAlC/qI,CALE+qI,EAOF/qI,EAAMksC,IAANlsC,CAAWvT,IAAXuT,CAAgBkM,CAAhBlM,CAPE+qI;IAOc7+H,CAXlBtT,EAcAA,KAAK8wa,QAAL9wa,GAAK8wa,KAA8Btmb,CAA9Bsmb,KAAWrnb,EAAQsnb,MAAnBD,GAAmE,iBAAzBr3a,YAA1Cq3a,GAAkFrnb,EAAQsnb,MAd/F/wa,EAeAA,KAAKszC,IAALtzC,GAAY,EAfZA,EAgBAA,KAAKgxa,GAALhxa,GAAW,CAhBXA,EAiBAA,KAAKixa,KAALjxa,GAAavW,EAAQwnb,KAjBrBjxa,EAmBAA,KAAK3V,GAAL2V,GAAWvW,EAAQY,GAnBnB2V,EAoBAA,KAAKiD,SAALjD,GAAiBvW,EAAQwZ,SApBzBjD,EAqBAA,KAAKuqC,OAALvqC,GAAevW,EAAQ8gD,OArBvBvqC,EAsBAA,KAAKmyI,MAALnyI,GAAc,IAtBdA;EAyBF;;EAAA,IAAI41M,IAASg7N,EAAW5+a,SAAxB;EA4DA,OA1DA4jN,EAAO9G,OAAP8G,GAAiB,UAAiBluF,CAAjB,EAAiBA;IAChCA,EAAM92H,OAAN82H,CAAc1nH,KAAK6wa,UAAnBnpT;EAAmBmpT,CADrBj7N,EAIAA,EAAO9lE,MAAP8lE,GAAgB,UAAgB/qF,CAAhB,EAAgBA;IAI1B7qH,KAAKgxa,GAALhxa,IAAYA,KAAK8wa,QAAL9wa,GAAgB,IAAhBA,GAAwB,CAApCA,KAA2C,CAA3CA,IACFA,KAAK6wa,UAAL7wa,CArDN,UAA4BvW,CAA5B,EAA4BA;MAC1B,IAAI6pB,IAAMtX,SAASW,aAATX,CAAuB,OAAvBA,CAAV;MASA,OARAsX,EAAIvW,YAAJuW,CAAiB,cAAjBA,EAAiC7pB,EAAQY,GAAzCipB,GAAyCjpB,KAEnBG,CAFmBH,KAErCZ,EAAQwnb,KAF6B5mb,IAGvCipB,EAAIvW,YAAJuW,CAAiB,OAAjBA,EAA0B7pB,EAAQwnb,KAAlC39Z,CAHFA,EAMAA,EAAIw0B,WAAJx0B,CAAgBtX,SAASkpC,cAATlpC,CAAwB,EAAxBA,CAAhBsX,CANAA,EAOAA,EAAIvW,YAAJuW,CAAiB,QAAjBA,EAA2B,EAA3BA,CAPAA,EAQOA,CAAP;IA2CoBghG,CArDtB,CAqDyCt0G,IArDzC,CAqDMA,CADEA;IAIJ,IAAIsT,IAAMtT,KAAKszC,IAALtzC,CAAUA,KAAKszC,IAALtzC,CAAU/V,MAAV+V,GAAmB,CAA7BA,CAAV;;IAEA,IAA6B,KAA7B,EAA2C,UAY3C;;IAAA,IAAIA,KAAK8wa,QAAT,EAAmB;MACjB,IAAIzoI,IAxFV,UAAqB/0R,CAArB,EAAqBA;QACnB,IAAIA,EAAI+0R,KAAR,EAEE,OAAO/0R,EAAI+0R,KAAX;;QAMF,KAAK,IAAIr+S,IAAI,CAAb,EAAgBA,IAAIgS,SAASisS,WAATjsS,CAAqB/R,MAAzC,EAAiDD,GAAjD;UACE,IAAIgS,SAASisS,WAATjsS,CAAqBhS,CAArBgS,EAAwB8xS,SAAxB9xS,KAAsCsX,CAA1C,EAEE,OAAOtX,SAASisS,WAATjsS,CAAqBhS,CAArBgS,CAAP;QAHJ;MA+EgBo1a,CAxFlB,CAwF8B99Z,CAxF9B,CAwFM;;MAEA;QAGE+0R,EAAMgpI,UAANhpI,CAAiBx9K,CAAjBw9K,EAAuBA,EAAMf,QAANe,CAAep+S,MAAtCo+S;MACA,CAJF,CAIE,OAAOx8S,CAAP,EAAOA;QACsB,SAC3B2S,CAD2B;MACyD3S;IAAAA,CAT1F,MAaEynB,EAAIw0B,WAAJx0B,CAAgBtX,SAASkpC,cAATlpC,CAAwB6uH,CAAxB7uH,CAAhBsX;;IAGFtT,KAAKgxa,GAALhxa;EAAKgxa,CA1CPp7N,EA6CAA,EAAOggF,KAAPhgF,GAAe;IAEb51M,KAAKszC,IAALtzC,CAAUpP,OAAVoP,CAAkB,UAAUsT,CAAV,EAAUA;MAC1B,OAAOA,EAAI0wB,UAAJ1wB,CAAe2wB,WAAf3wB,CAA2BA,CAA3BA,CAAP;IAAkCA,CADpCtT,GAGAA,KAAKszC,IAALtzC,GAAY,EAHZA,EAIAA,KAAKgxa,GAALhxa,GAAW,CAJXA,EAM6B,WAC3BA,CAD2B,CAN7BA;EAO8C,CAtDhD41M,EA0DOg7N,CAAP;AAzF4B,GAA9B;AAAA,ICrDI/kb,UAAAA,GAAE,MDqDN;AAAA,ICrDiB+U,UAAAA,GAAE,ODqDnB;AAAA,ICrD+BtB,UAAAA,GAAE,UDqDjC;AAAA,ICrDwTqiE,UAAAA,GAAEx2E,KAAKoyD,GDqD/T;AAAA,ICrDuUj9C,UAAAA,GAAE0L,OAAOC,YDqDhV;;ACrDma,SAASitB,UAAT,CAAWrtC,CAAX,EAAWA;EAAG,OAAOA,EAAEtB,IAAFsB,EAAP;AAA2D;;AAAA,SAASq9B,UAAT,CAAWr9B,CAAX,EAAa+U,CAAb,EAAetB,CAAf,EAAeA;EAAG,OAAOzT,EAAEmK,OAAFnK,CAAU+U,CAAV/U,EAAYyT,CAAZzT,CAAP;AAAsB;;AAAA,SAASu/B,UAAT,CAAWv/B,CAAX,EAAa+U,CAAb,EAAaA;EAAG,OAAO/U,EAAEzB,OAAFyB,CAAU+U,CAAV/U,CAAP;AAAoB;;AAAA,SAAS+yF,UAAT,CAAW/yF,CAAX,EAAa+U,CAAb,EAAaA;EAAG,OAAuB,IAAhB/U,EAAE6T,UAAF7T,CAAa+U,CAAb/U,CAAP;AAAyB;;AAAA,SAASgmC,UAAT,CAAWhmC,CAAX,EAAa+U,CAAb,EAAetB,CAAf,EAAeA;EAAG,OAAOzT,EAAEnB,KAAFmB,CAAQ+U,CAAR/U,EAAUyT,CAAVzT,CAAP;AAAoB;;AAAA,SAASwmF,UAAT,CAAWxmF,CAAX,EAAWA;EAAG,OAAOA,EAAE5B,MAAT;AAAgB;;AAAA,SAASgvC,UAAT,CAAWptC,CAAX,EAAWA;EAAG,OAAOA,EAAE5B,MAAT;AAAgB;;AAAA,SAASsnJ,UAAT,CAAW1lJ,CAAX,EAAa+U,CAAb,EAAaA;EAAG,OAAOA,EAAE/M,IAAF+M,CAAO/U,CAAP+U,GAAU/U,CAAjB;AAA4D;;AAAA,IAAIkzE,UAAAA,GAAE,CAAN;AAAA,IAAYyT,UAAAA,GAAE,CAAd;AAAA,IAAoB4lE,UAAAA,GAAE,CAAtB;AAAA,IAA4BC,UAAAA,GAAE,CAA9B;AAAA,IAAoC1mH,UAAAA,GAAE,CAAtC;AAAA,IAA4CmnH,UAAAA,GAAE,EAA9C;;AAAiD,SAASxgH,UAAT,CAAWzsC,CAAX,EAAa+U,CAAb,EAAetB,CAAf,EAAiBtL,CAAjB,EAAmBmN,CAAnB,EAAqBJ,CAArB,EAAuBQ,CAAvB,EAAuBA;EAAG,OAAM;IAACxW,OAAMc,CAAP;IAAS8T,MAAKiB,CAAd;IAAgB8iC,QAAOpkC,CAAvB;IAAyBlO,MAAK4C,CAA9B;IAAgCyZ,OAAMtM,CAAtC;IAAwC+S,UAASnT,CAAjD;IAAmDhD,MAAKghE,UAAxD;IAA0D8rL,QAAOr4K,UAAjE;IAAmEvoF,QAAOsX,CAA1E;IAA4E2gL,QAAO;EAAnF,CAAN;AAA6F;;AAAA,SAASzpC,UAAT,CAAW5sJ,CAAX,EAAa+U,CAAb,EAAetB,CAAf,EAAeA;EAAG,OAAOg5B,UAAAA,CAAEzsC,CAAFysC,EAAI13B,EAAEjB,IAAN24B,EAAW13B,EAAE8iC,MAAbpL,EAAoBh5B,CAApBg5B,EAAsB13B,EAAE6M,KAAxB6qB,EAA8B13B,EAAEsT,QAAhCokB,EAAyC,CAAzCA,CAAP;AAAsI;;AAAA,SAASsW,UAAT,GAASA;EAA2C,OAAvCjd,UAAAA,GAAE0mH,UAAAA,GAAED,UAAFC,GAAIz5D,UAAAA,CAAEk6D,UAAFl6D,EAAIy5D,UAAAA,EAAJz5D,CAAJy5D,GAAa,CAAf1mH,EAAoB6gD,UAAAA,EAApB7gD,EAA4B,OAAJA,UAAI,KAAG6gD,UAAAA,GAAE,CAAFA,EAAIzT,UAAAA,EAAP,CAA5BptC,EAA8CA,UAAP;AAAS;;AAAA,SAAS6mH,UAAT,GAASA;EAAI,OAAO55D,UAAAA,CAAEk6D,UAAFl6D,EAAIy5D,UAAJz5D,CAAP;AAAc;;AAAA,SAAS05D,UAAT,GAASA;EAAI,OAAOD,UAAP;AAAS;;AAAA,SAASM,UAAT,CAAW9sJ,CAAX,EAAa+U,CAAb,EAAaA;EAAG,OAAOixB,UAAAA,CAAEinH,UAAFjnH,EAAIhmC,CAAJgmC,EAAMjxB,CAANixB,CAAP;AAAgB;;AAAA,SAASiX,UAAT,CAAWj9C,CAAX,EAAWA;EAAG,QAAOA,CAAP;IAAU,KAAK,CAAL;IAAO,KAAK,CAAL;IAAO,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;MAAQ,OAAO,CAAP;;IAAS,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,GAAL;IAAS,KAAK,EAAL;IAAQ,KAAK,GAAL;IAAS,KAAK,GAAL;MAAS,OAAO,CAAP;;IAAS,KAAK,EAAL;MAAQ,OAAO,CAAP;;IAAS,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;IAAQ,KAAK,EAAL;MAAQ,OAAO,CAAP;;IAAS,KAAK,EAAL;IAAQ,KAAK,EAAL;MAAQ,OAAO,CAAP;EAA/N;;EAAwO,OAAO,CAAP;AAAS;;AAAA,SAAS6sJ,UAAT,CAAW7sJ,CAAX,EAAWA;EAAG,OAAOkzE,UAAAA,GAAEyT,UAAAA,GAAE,CAAJzT,EAAMq5E,UAAAA,GAAE/lE,UAAAA,CAAEymE,UAAAA,GAAEjtJ,CAAJwmF,CAARtT,EAAes5E,UAAAA,GAAE,CAAjBt5E,EAAmB,EAA1B;AAA6B;;AAAA,SAAS85E,UAAT,CAAWhtJ,CAAX,EAAWA;EAAG,OAAOitJ,UAAAA,GAAE,EAAFA,EAAKjtJ,CAAZ;AAAc;;AAAA,SAAS+sJ,SAAT,CAAW/sJ,CAAX,EAAWA;EAAG,OAAOqtC,UAAAA,CAAEy/G,UAAAA,CAAEN,UAAAA,GAAE,CAAJM,EAAMn7G,UAAAA,CAAM,OAAJ3xC,CAAI,GAAGA,IAAE,CAAL,GAAW,OAAJA,CAAI,GAAGA,IAAE,CAAL,GAAOA,CAAxB2xC,CAANm7G,CAAFz/G,CAAP;AAA4E;;AAAA,SAAS8/G,UAAT,CAAWntJ,CAAX,EAAWA;EAAG,QAAM8lC,UAAAA,GAAE6mH,UAAAA,EAAR,KAAe7mH,UAAAA,GAAE,EAAjB;IAAoBid,UAAAA;EAApB;;EAAmC,OAAO9F,UAAAA,CAAEj9C,CAAFi9C,IAAK,CAALA,IAAQA,UAAAA,CAAEnX,UAAFmX,IAAK,CAAbA,GAAe,EAAfA,GAAkB,GAAzB;AAA8I;;AAAA,SAASmwG,UAAT,CAAWptJ,CAAX,EAAa+U,CAAb,EAAaA;EAAG,SAAQA,CAAR,IAAWguC,UAAAA,EAAX,IAAWA,EAAOjd,UAAAA,GAAE,EAAFA,IAAMA,UAAAA,GAAE,GAARA,IAAaA,UAAAA,GAAE,EAAFA,IAAMA,UAAAA,GAAE,EAArBA,IAAyBA,UAAAA,GAAE,EAAFA,IAAMA,UAAAA,GAAE,EAAxCid,CAAX;IAAmD;EAAnD;;EAA4D,OAAO+pG,UAAAA,CAAE9sJ,CAAF8sJ,EAAIL,UAAAA,MAAK13I,IAAE,CAAFA,IAAU,MAAL43I,UAAAA,EAAL53I,IAAmB,MAALguC,UAAAA,EAAnB0pG,CAAJK,CAAP;AAAwC;;AAAA,SAASn7G,UAAT,CAAW3xC,CAAX,EAAWA;EAAG,OAAM+iD,UAAAA,EAAN;IAAMA,QAAWjd,UAAXid;MAAc,KAAK/iD,CAAL;QAAO,OAAOwsJ,UAAP;;MAAS,KAAK,EAAL;MAAQ,KAAK,EAAL;QAAQ,OAAO76G,UAAAA,CAAM,OAAJ3xC,CAAI,IAAQ,OAAJA,CAAJ,GAAWA,CAAX,GAAa8lC,UAAnB6L,CAAP;;MAA6B,KAAK,EAAL;QAAe,OAAJ3xC,CAAI,IAAG2xC,UAAAA,CAAE3xC,CAAF2xC,CAAH;QAAQ;;MAAM,KAAK,EAAL;QAAQoR,UAAAA;IAAhHA;EAAN;;EAAgI,OAAOypG,UAAP;AAAS;;AAAA,SAASa,EAAT,CAAYrtJ,CAAZ,EAAc+U,CAAd,EAAcA;EAAG,OAAMguC,UAAAA,MAAO/iD,IAAE8lC,UAAF9lC,KAAM,EAAb+iD,KAAiC/iD,IAAE8lC,UAAF9lC,KAAM,EAANA,IAAmB,OAAN2sJ,UAAAA,EAA9C5pG,CAAN;IAAoD4pG;EAApD;;EAAmE,OAAM,OAAKG,UAAAA,CAAE/3I,CAAF+3I,EAAIN,UAAAA,GAAE,CAANM,CAAL,GAAc,GAAd,GAAkBr4I,UAAAA,CAAM,OAAJzU,CAAI,GAAGA,CAAH,GAAK+iD,UAAAA,EAAXtuC,CAAxB;AAAwC;;AAAA,SAAS60C,EAAT,CAAYtpD,CAAZ,EAAYA;EAAG,QAAOi9C,UAAAA,CAAE0vG,UAAAA,EAAF1vG,CAAP;IAAc8F,UAAAA;EAAd;;EAAkB,OAAO+pG,UAAAA,CAAE9sJ,CAAF8sJ,EAAIN,UAAJM,CAAP;AAAc;;AAAA,SAASS,EAAT,CAAYvtJ,CAAZ,EAAYA;EAAG,OAAOgtJ,UAAAA,CAAEW,GAAG,EAAHA,EAAM,IAANA,EAAW,IAAXA,EAAgB,IAAhBA,EAAqB,CAAC,EAAD,CAArBA,EAA0B3tJ,IAAE6sJ,UAAAA,CAAE7sJ,CAAF6sJ,CAA5Bc,EAAiC,CAAjCA,EAAmC,CAAC,CAAD,CAAnCA,EAAuC3tJ,CAAvC2tJ,CAAFX,CAAP;AAAoD;;AAAA,SAASW,EAAT,CAAY3tJ,CAAZ,EAAc+U,CAAd,EAAgBtB,CAAhB,EAAkBtL,CAAlB,EAAoBmN,CAApB,EAAsBJ,CAAtB,EAAwBQ,CAAxB,EAA0BmI,CAA1B,EAA4B1f,CAA5B,EAA4BA;EAA4H,KAAzH,IAAIq8B,IAAE,CAAN,EAAY7lB,IAAE,CAAd,EAAoBhN,IAAE+N,CAAtB,EAA4BnG,IAAE,CAA9B,EAAoC3E,IAAE,CAAtC,EAA4C6K,IAAE,CAA9C,EAAoD/B,IAAE,CAAtD,EAA4DorC,IAAE,CAA9D,EAAoE8R,IAAE,CAAtE,EAA4EklB,IAAE,CAA9E,EAAoFthE,IAAE,EAAtF,EAA6F64B,IAAE/3B,CAA/F,EAAqG8nB,IAAEloB,CAAvG,EAA6GqqB,IAAEp3B,CAA/G,EAAqH4qF,IAAEv+E,CAAE,EAAMsqC,CAAN;IAAMA,QAASrpC,IAAEqgE,CAAFrgE,EAAIqgE,IAAE/yB,UAAAA,EAAfjE;MAAoB,KAAK,EAAL;MAAQ,KAAK,EAAL;MAAQ,KAAK,EAAL;MAAQ,KAAK,EAAL;QAAQi0C,KAAGg6D,SAAAA,CAAEj3E,CAAFi3E,CAAHh6D;QAAQ;;MAAM,KAAK,CAAL;MAAO,KAAK,EAAL;MAAQ,KAAK,EAAL;MAAQ,KAAK,EAAL;QAAQA,KAAGo6D,UAAAA,CAAE13I,CAAF03I,CAAHp6D;QAAQ;;MAAM,KAAK,EAAL;QAAQA,KAAGq6D,UAAAA,CAAEX,UAAAA,KAAI,CAANW,EAAQ,CAARA,CAAHr6D;QAAc;;MAAS,KAAK,EAAL;QAAQ,QAAO45D,UAAAA,EAAP;UAAY,KAAK,EAAL;UAAQ,KAAK,EAAL;YAAQjH,UAAAA,CAAE4H,GAAGD,GAAGtqG,UAAAA,EAAHsqG,EAAOZ,UAAAA,EAAPY,CAAHC,EAAev4I,CAAfu4I,EAAiB75I,CAAjB65I,CAAF5H,EAAsBvnJ,CAAtBunJ;YAAyB;;UAAM;YAAQ3yD,KAAG,GAAHA;QAAnE;;QAA0E;;MAAM,KAAK,MAAIr/E,CAAT;QAAWmK,EAAE2c,GAAF3c,IAAO2oE,UAAAA,CAAEuM,CAAFvM,IAAK51B,CAAZ/yC;;MAAc,KAAK,MAAInK,CAAT;MAAW,KAAK,EAAL;MAAQ,KAAK,CAAL;QAAO,QAAOoiE,CAAP;UAAU,KAAK,CAAL;UAAO,KAAK,GAAL;YAASh3B,IAAE,CAAFA;;UAAI,KAAK,KAAGnqC,CAAR;YAAa/J,IAAE,CAAFA,IAAK47E,UAAAA,CAAEuM,CAAFvM,IAAK7+E,CAAViD,IAAY86I,UAAAA,CAAE96I,IAAE,EAAFA,GAAK6iJ,GAAG16D,IAAE,GAAL06D,EAAStlJ,CAATslJ,EAAWh6I,CAAXg6I,EAAa9lJ,IAAE,CAAf8lJ,CAAL7iJ,GAAuB6iJ,GAAGpwH,UAAAA,CAAE01D,CAAF11D,EAAI,GAAJA,EAAQ,EAARA,IAAY,GAAfowH,EAAmBtlJ,CAAnBslJ,EAAqBh6I,CAArBg6I,EAAuB9lJ,IAAE,CAAzB8lJ,CAAzB/H,EAAqDvnJ,CAArDunJ,CAAZ96I;YAAoE;;UAAM,KAAK,EAAL;YAAQmoF,KAAG,GAAHA;;UAAO;YAA+C,IAAvC2yD,UAAAA,CAAEnmH,IAAEuvF,GAAG/7B,CAAH+7B,EAAK/5G,CAAL+5G,EAAOr7G,CAAPq7G,EAASt0F,CAATs0F,EAAWn6G,CAAXm6G,EAAax5G,CAAbw5G,EAAejxG,CAAfixG,EAAiBt6G,CAAjBs6G,EAAmBzhF,IAAE,EAArByhF,EAAwB1xF,IAAE,EAA1B0xF,EAA6BnnH,CAA7BmnH,CAAJ42B,EAAoCxwI,CAApCwwI,GAA8C,QAAJ5vE,CAAH,EAAW,IAAO,MAAJnhE,CAAH,EAASg5I,GAAG56D,CAAH46D,EAAK54I,CAAL44I,EAAOpuH,CAAPouH,EAASpuH,CAATouH,EAAWtgH,CAAXsgH,EAAaz4I,CAAby4I,EAAehmJ,CAAfgmJ,EAAiB9vI,CAAjB8vI,EAAmBvwH,CAAnBuwH,EAAT,KAAoC,QAAOp+I,CAAP;cAAU,KAAK,GAAL;cAAS,KAAK,GAAL;cAAS,KAAK,GAAL;gBAASo+I,GAAG3tJ,CAAH2tJ,EAAKpuH,CAALouH,EAAOpuH,CAAPouH,EAASxlJ,KAAGu9I,UAAAA,CAAE52B,GAAG9uH,CAAH8uH,EAAKvvF,CAALuvF,EAAOvvF,CAAPuvF,EAAS,CAATA,EAAW,CAAXA,EAAax5G,CAAbw5G,EAAejxG,CAAfixG,EAAiBt6G,CAAjBs6G,EAAmBx5G,CAAnBw5G,EAAqBzhF,IAAE,EAAvByhF,EAA0BnnH,CAA1BmnH,CAAF42B,EAA+BtoH,CAA/BsoH,CAAZiI,EAA8Cr4I,CAA9Cq4I,EAAgDvwH,CAAhDuwH,EAAkDhmJ,CAAlDgmJ,EAAoD9vI,CAApD8vI,EAAsDxlJ,IAAEklC,CAAFllC,GAAIi1B,CAA1DuwH;gBAA6D;;cAAM;gBAAQA,GAAG56D,CAAH46D,EAAKpuH,CAALouH,EAAOpuH,CAAPouH,EAASpuH,CAATouH,EAAW,CAAC,EAAD,CAAXA,EAAgBvwH,CAAhBuwH,EAAkBhmJ,CAAlBgmJ,EAAoB9vI,CAApB8vI,EAAsBvwH,CAAtBuwH;YAAhH;QAAlO;;QAA4WnzH,IAAE7lB,IAAE/J,IAAE,CAAN4vB,EAAQ9mB,IAAEk9C,IAAE,CAAZp2B,EAAchmB,IAAEu+E,IAAE,EAAlBv4D,EAAqB7yB,IAAE+N,CAAvB8kB;QAAyB;;MAAM,KAAK,EAAL;QAAQ7yB,IAAE,IAAE6+E,UAAAA,CAAEuM,CAAFvM,CAAJ7+E,EAASiD,IAAE6K,CAAX9N;;MAAa;QAAQ,IAAG+L,IAAE,CAAL,EAAO,IAAM,OAAHoiE,CAAH,EAAGA,EAASpiE,CAAToiE,CAAH,KAAmB,IAAM,OAAHA,CAAG,IAAU,KAALpiE,GAAL,IAAkB,QAAvqEoyB,UAAAA,GAAE0mH,UAAAA,GAAE,CAAFA,GAAIz5D,UAAAA,CAAEk6D,UAAFl6D,EAAEk6D,EAAIT,UAANz5D,CAAJy5D,GAAa,CAAf1mH,EAAoB6gD,UAAAA,EAApB7gD,EAA4B,OAAJA,UAAI,KAAG6gD,UAAAA,GAAE,CAAFA,EAAIzT,UAAAA,EAAP,CAA5BptC,EAA8CA,UAAynE,CAAxB,EAA4B;;QAAS,QAAOitD,KAAGt+E,UAAAA,CAAEqhE,CAAFrhE,CAAHs+E,EAAQjd,IAAEpiE,CAAjB;UAAoB,KAAK,EAAL;YAAQk9C,IAAEj8C,IAAE,CAAFA,GAAI,CAAJA,IAAOo+E,KAAG,IAAHA,EAAG,CAAM,CAAhBp+E,CAAFi8C;YAAqB;;UAAM,KAAK,EAAL;YAAQ/yC,EAAE2c,GAAF3c,IAAE2c,CAAMgsD,UAAAA,CAAEuM,CAAFvM,IAAK,CAAXhsD,IAAco2B,CAAhB/yC,EAAkB+yC,IAAE,CAApB/yC;YAAsB;;UAAM,KAAK,EAAL;YAAiB,OAAN8uI,UAAAA,EAAM,KAAG55D,KAAGg6D,SAAAA,CAAEhqG,UAAAA,EAAFgqG,CAAN,GAAax9I,IAAEo9I,UAAAA,EAAf,EAAmBh4I,IAAE6xE,UAAAA,CAAEhyE,IAAEu+E,KAAGzpC,GAAGmjG,UAAAA,EAAHnjG,CAAPk9B,CAArB,EAAqC1Q,GAArC;YAAyC;;UAAM,KAAK,EAAL;YAAe,OAAJrgE,CAAI,IAAU,KAAN+wE,UAAAA,CAAEuM,CAAFvM,CAAJ,KAAY9yE,IAAE,CAAd;QAA1K;;IAAhwBorC;EAAN;;EAAi8B,OAAO5pC,CAAP;AAAS;;AAAA,SAAS45G,EAAT,CAAY9uH,CAAZ,EAAc+U,CAAd,EAAgBtB,CAAhB,EAAkBtL,CAAlB,EAAoB+M,CAApB,EAAsBQ,CAAtB,EAAwBmI,CAAxB,EAA0B1f,CAA1B,EAA4Bq8B,CAA5B,EAA8B7lB,CAA9B,EAAgChN,CAAhC,EAAgCA;EAA2C,KAAxC,IAAI4H,IAAE2F,IAAE,CAAR,EAActK,IAAM,MAAJsK,CAAI,GAAEQ,CAAF,GAAI,CAAC,EAAD,CAAxB,EAAiCD,IAAE23B,UAAAA,CAAExiC,CAAFwiC,CAAnC,EAAgD15B,IAAE,CAAlD,EAAoDorC,IAAE,CAAtD,EAAwD8R,IAAE,CAAlB,EAAoBl9C,IAAEvL,CAAtB,EAAsBA,EAAIuL,CAA1B;IAA4B,KAAI,IAAIe,IAAE,CAAN,EAAQD,IAAEwxB,UAAAA,CAAEhmC,CAAFgmC,EAAIz2B,IAAE,CAANy2B,EAAQz2B,IAAEumE,UAAAA,CAAEh3B,IAAEjhC,EAAEnK,CAAFmK,CAAJi4D,CAAV9vC,CAAV,EAA+B5I,IAAEp9B,CAArC,EAAuCyU,IAAEgB,CAAzC,EAAyCA,EAAIhB,CAA7C;MAA6CA,CAAK2oB,IAAEiQ,UAAAA,CAAEyR,IAAE,CAAFA,GAAIl0C,EAAE6J,CAAF7J,IAAK,GAALA,GAAS4J,CAAbsqC,GAAezhB,UAAAA,CAAE7oB,CAAF6oB,EAAI,MAAJA,EAAWzyB,EAAE6J,CAAF7J,CAAXyyB,CAAjBgQ,CAAP54B,MAA0C+lB,EAAEo2B,GAAFp2B,IAAO4C,CAAjD3oB;IAA7C;EAA5B;;EAA4H,OAAOg4B,UAAAA,CAAEzsC,CAAFysC,EAAI13B,CAAJ03B,EAAMh5B,CAANg5B,EAAY,MAAJv3B,CAAI,GAAljH,MAAkjH,GAAI/W,CAAhBsuC,EAAkBjS,CAAlBiS,EAAoB93B,CAApB83B,EAAsB9kC,CAAtB8kC,CAAP;AAAgC;;AAAA,SAAS6gH,EAAT,CAAYttJ,CAAZ,EAAc+U,CAAd,EAAgBtB,CAAhB,EAAgBA;EAAG,OAAOg5B,UAAAA,CAAEzsC,CAAFysC,EAAI13B,CAAJ03B,EAAMh5B,CAANg5B,EAAtmH,MAAsmHA,EAAUh4B,UAAAA,CAAlpFqxB,UAAkpFrxB,CAAVg4B,EAAiBzG,UAAAA,CAAEhmC,CAAFgmC,EAAI,CAAJA,EAAI,CAAG,CAAPA,CAAjByG,EAA2B,CAA3BA,CAAP;AAAqC;;AAAA,SAASghH,EAAT,CAAYztJ,CAAZ,EAAc+U,CAAd,EAAgBtB,CAAhB,EAAkBtL,CAAlB,EAAkBA;EAAG,OAAOskC,UAAAA,CAAEzsC,CAAFysC,EAAI13B,CAAJ03B,EAAMh5B,CAANg5B,EAAtoH,MAAsoHA,EAAUzG,UAAAA,CAAEhmC,CAAFgmC,EAAI,CAAJA,EAAM79B,CAAN69B,CAAVyG,EAAmBzG,UAAAA,CAAEhmC,CAAFgmC,EAAI79B,IAAE,CAAN69B,EAAM,CAAG,CAATA,CAAnByG,EAA+BtkC,CAA/BskC,CAAP;AAAyC;;AAAA,SAASohH,EAAT,CAAY1lJ,CAAZ,EAAcmN,CAAd,EAAcA;EAAG,QAAx6G,UAAWtV,CAAX,EAAa+U,CAAb,EAAaA;IAAG,UAASA,KAAG,CAAHA,GAAKg+E,UAAAA,CAAE/yF,CAAF+yF,EAAI,CAAJA,CAAd,KAAuB,CAAvB,GAAyBA,UAAAA,CAAE/yF,CAAF+yF,EAAI,CAAJA,CAAzB,KAAkC,CAAlC,GAAoCA,UAAAA,CAAE/yF,CAAF+yF,EAAI,CAAJA,CAApC,KAA6C,CAA7C,GAA+CA,UAAAA,CAAE/yF,CAAF+yF,EAAI,CAAJA,CAA/C;EAA+5Gv+E,CAA/6G,CAAi7GrM,CAAj7G,EAAm7GmN,CAAn7G,CAAw6G;IAAe,KAAK,IAAL;MAAU,OAAO7B,UAAAA,GAAE,QAAFA,GAAWtL,CAAXsL,GAAatL,CAApB;;IAAsB,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAItL,CAAX;;IAAa,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIsB,UAAJtB,GAAMtL,CAANsL,GAAQzT,UAARyT,GAAUtL,CAAVsL,GAAYtL,CAAnB;;IAAqB,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAMtL,CAANsL,GAAQtL,CAAf;;IAAiB,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM,OAANA,GAActL,CAAdsL,GAAgBtL,CAAvB;;IAAyB,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAI4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,gBAAJA,EAAqB5pB,UAAAA,GAAE,UAAFA,kBAArB4pB,CAAJ5pB,GAAqDtL,CAA5D;;IAA8D,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM,YAANA,GAAmB4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,aAAJA,EAAkB,EAAlBA,CAAnB5pB,GAAyCtL,CAAhD;;IAAkD,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM,gBAANA,GAAuB4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,2BAAJA,EAAgC,EAAhCA,CAAvB5pB,GAA2DtL,CAAlE;;IAAoE,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,QAAJA,EAAa,UAAbA,CAAN5pB,GAA+BtL,CAAtC;;IAAwC,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,OAAJA,EAAY,gBAAZA,CAAN5pB,GAAoCtL,CAA3C;;IAA6C,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAE,MAAFA,GAAS4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,OAAJA,EAAY,EAAZA,CAAT5pB,GAAyBA,UAAzBA,GAA2BtL,CAA3BsL,GAA6BzT,UAA7ByT,GAA+B4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,MAAJA,EAAW,UAAXA,CAA/B5pB,GAAsDtL,CAA7D;;IAA+D,KAAK,IAAL;MAAU,OAAOsL,UAAAA,GAAE4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,oBAAJA,EAAyB,OAAK5pB,UAAL,GAAO,IAAhC4pB,CAAF5pB,GAAwCtL,CAA/C;;IAAiD,KAAK,IAAL;MAAU,OAAOk1B,UAAAA,CAAEA,UAAAA,CAAEA,UAAAA,CAAEl1B,CAAFk1B,EAAI,cAAJA,EAAmB5pB,UAAAA,GAAE,IAArB4pB,CAAFA,EAA6B,aAA7BA,EAA2C5pB,UAAAA,GAAE,IAA7C4pB,CAAFA,EAAqDl1B,CAArDk1B,EAAuD,EAAvDA,IAA2Dl1B,CAAlE;;IAAoE,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,OAAOk1B,UAAAA,CAAEl1B,CAAFk1B,EAAI,mBAAJA,EAAwB5pB,UAAAA,WAAxB4pB,CAAP;;IAA8C,KAAK,IAAL;MAAU,OAAOA,UAAAA,CAAEA,UAAAA,CAAEl1B,CAAFk1B,EAAI,mBAAJA,EAAwB5pB,UAAAA,GAAE,aAAFA,qBAAxB4pB,CAAFA,EAA4D,YAA5DA,EAAyE,SAAzEA,IAAoF5pB,UAApF4pB,GAAsFl1B,CAAtFk1B,GAAwFl1B,CAA/F;;IAAiG,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,OAAOk1B,UAAAA,CAAEl1B,CAAFk1B,EAAI,iBAAJA,EAAsB5pB,UAAAA,GAAE,MAAxB4pB,IAAgCl1B,CAAvC;;IAAyC,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;IAAU,KAAK,IAAL;MAAU,IAAGq+E,UAAAA,CAAEr+E,CAAFq+E,IAAK,CAALA,GAAOlxE,CAAPkxE,GAAS,CAAZ,EAAc,QAAOuM,UAAAA,CAAE5qF,CAAF4qF,EAAIz9E,IAAE,CAANy9E,CAAP;QAAiB,KAAK,GAAL;UAAS,IAAc,OAAXA,UAAAA,CAAE5qF,CAAF4qF,EAAIz9E,IAAE,CAANy9E,CAAH,EAAiB;;QAAM,KAAK,GAAL;UAAS,OAAO11D,UAAAA,CAAEl1B,CAAFk1B,EAAI,kBAAJA,EAAuB,OAAK5pB,UAAL,eAAoBsB,UAApB,IAAiC,OAAVg+E,UAAAA,CAAE5qF,CAAF4qF,EAAIz9E,IAAE,CAANy9E,CAAU,GAAI,IAAJ,GAAS,OAA1C,CAAvB11D,IAA2El1B,CAAlF;;QAAoF,KAAK,GAAL;UAAS,QAAOo3B,UAAAA,CAAEp3B,CAAFo3B,EAAI,SAAJA,CAAP,GAAsBsuH,GAAGxwH,UAAAA,CAAEl1B,CAAFk1B,EAAI,SAAJA,EAAc,gBAAdA,CAAHwwH,EAAmCv4I,CAAnCu4I,IAAsC1lJ,CAA5D,GAA8DA,CAA9D;MAAvJ;MAAuN;;IAAM,KAAK,IAAL;MAAU,IAAc,QAAX4qF,UAAAA,CAAE5qF,CAAF4qF,EAAIz9E,IAAE,CAANy9E,CAAH,EAAkB;;IAAM,KAAK,IAAL;MAAU,QAAOA,UAAAA,CAAE5qF,CAAF4qF,EAAIvM,UAAAA,CAAEr+E,CAAFq+E,IAAK,CAALA,IAAK,CAAIjnD,UAAAA,CAAEp3B,CAAFo3B,EAAI,YAAJA,CAAJ,IAAuB,EAA5BinD,CAAJuM,CAAP;QAA6C,KAAK,GAAL;UAAS,OAAO11D,UAAAA,CAAEl1B,CAAFk1B,EAAI,GAAJA,EAAQ,MAAI5pB,UAAZ4pB,IAAel1B,CAAtB;;QAAwB,KAAK,GAAL;UAAS,OAAOk1B,UAAAA,CAAEl1B,CAAFk1B,EAAI,uBAAJA,EAA4B,OAAK5pB,UAAL,IAAkB,OAAVs/E,UAAAA,CAAE5qF,CAAF4qF,EAAI,EAAJA,CAAU,GAAG,SAAH,GAAa,EAA/B,gBAAgDt/E,UAAhD,2BAA5B4pB,IAAuGl1B,CAA9G;MAAvF;;MAAuM;;IAAM,KAAK,IAAL;MAAU,QAAO4qF,UAAAA,CAAE5qF,CAAF4qF,EAAIz9E,IAAE,EAANy9E,CAAP;QAAkB,KAAK,GAAL;UAAS,OAAOt/E,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,oBAAJA,EAAyB,IAAzBA,CAAN5pB,GAAqCtL,CAA5C;;QAA8C,KAAK,GAAL;UAAS,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,oBAAJA,EAAyB,OAAzBA,CAAN5pB,GAAwCtL,CAA/C;;QAAiD,KAAK,EAAL;UAAQ,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAM4pB,UAAAA,CAAEl1B,CAAFk1B,EAAI,oBAAJA,EAAyB,IAAzBA,CAAN5pB,GAAqCtL,CAA5C;MAA3I;;MAAyL,OAAOsL,UAAAA,GAAEtL,CAAFsL,GAAIzT,UAAJyT,GAAMtL,CAANsL,GAAQtL,CAAf;EAA/+D;;EAAggE,OAAOA,CAAP;AAAS;;AAAA,SAAS6tB,EAAT,CAAYh2B,CAAZ,EAAc+U,CAAd,EAAcA;EAAuB,KAApB,IAAItB,IAAE,EAAN,EAAatL,IAAEilC,UAAAA,CAAEptC,CAAFotC,CAAf,EAA4B93B,IAAE,CAAV,EAAYA,IAAEnN,CAAd,EAAgBmN,GAAhB;IAAoB7B,KAAGsB,EAAE/U,EAAEsV,CAAFtV,CAAF+U,EAAOO,CAAPP,EAAS/U,CAAT+U,EAAWA,CAAXA,KAAe,EAAlBtB;EAApB;;EAAyC,OAAOA,CAAP;AAAS;;AAAA,SAASq6I,EAAT,CAAY9tJ,CAAZ,EAAc+U,CAAd,EAAgBtB,CAAhB,EAAkBiC,CAAlB,EAAkBA;EAAG,QAAO1V,EAAEuF,IAAT;IAAe,KAAnxL,SAAmxL;IAAO,KAAp0L,MAAo0L;MAAO,OAAOvF,EAAEq2L,MAAFr2L,GAASA,EAAEq2L,MAAFr2L,IAAUA,EAAEd,KAA5B;;IAAkC,KAAv4L,MAAu4L;MAAO,OAAM,EAAN;;IAAS,KAA14L,MAA04L;MAAOc,EAAEd,KAAFc,GAAQA,EAAE4hB,KAAF5hB,CAAQ0P,IAAR1P,CAAa,GAAbA,CAARA;EAAtF;;EAAgH,OAAOwmF,UAAAA,CAAE/yE,IAAEuiB,GAAGh2B,EAAEqoB,QAAL2N,EAActgB,CAAdsgB,CAAJwwD,IAAsBxmF,EAAEq2L,MAAFr2L,GAASA,EAAEd,KAAFc,GAAQ,GAARA,GAAYyT,CAAZzT,GAAc,GAA7CwmF,GAAiD,EAAxD;AAA2D;;AAAA,SAASgnE,EAAT,CAAYxtJ,CAAZ,EAAYA;EAAG,IAAI+U,IAAEq4B,UAAAA,CAAEptC,CAAFotC,CAAN;EAAW,OAAO,UAAS35B,CAAT,EAAWtL,CAAX,EAAamN,CAAb,EAAeJ,CAAf,EAAeA;IAAY,KAAT,IAAIQ,IAAE,EAAN,EAAiBmI,IAAE,CAAV,EAAYA,IAAE9I,CAAd,EAAgB8I,GAAhB;MAAoBnI,KAAG1V,EAAE6d,CAAF7d,EAAKyT,CAALzT,EAAOmI,CAAPnI,EAASsV,CAATtV,EAAWkV,CAAXlV,KAAe,EAAlB0V;IAApB;;IAAyC,OAAOA,CAAP;EAAOA,CAAlF;AAAqF;;AAAA,SAASg4I,EAAT,CAAY1tJ,CAAZ,EAAYA;EAAG,OAAO,UAAS+U,CAAT,EAASA;IAAOA,EAAEjB,IAAFiB,IAAEjB,CAAQiB,IAAEA,EAAEshL,MAAZviL,KAAmB9T,EAAE+U,CAAF/U,CAArB+U;EAAuBA,CAA9C;ACAnqM;;AAAA,SAASmtD,EAAT,CAAiBx3D,CAAjB,EAAiBA;EACf,IAAIwlB,IAAQjjB,OAAO5G,MAAP4G,CAAc,IAAdA,CAAZ;EACA,OAAO,UAAU6uB,CAAV,EAAUA;IAEf,YADmBn9B,CACnB,KADIuxB,EAAM4L,CAAN5L,CACJ,KAD8BA,EAAM4L,CAAN5L,IAAaxlB,EAAGoxB,CAAHpxB,CAC3C,GAAOwlB,EAAM4L,CAAN5L,CAAP;EAAa4L,CAFf;ACGF;;AAAA,ICLuCzZ,EDKvC;AAAA,ICHM6N,EDGN;AAAA,IA+CIu1Z,KAAW,SAAXA,EAAW,CAAkBvmb,CAAlB,EAAyBwoF,CAAzB,EAAyBA;EACtC,OAAOg+V,UAAAA,CA5CK,UAAiB5za,CAAjB,EAAyB41E,CAAzB,EAAyBA;IAErC,IAAIppF,KAAS,CAAb;IAAA,IACI0na,IAAY,EADhB;;IAGA;MACE,QAAQx+Z,UAAAA,CAAMw+Z,CAANx+Z,CAAR;QACE,KAAK,CAAL;UAEoB,OAAdw+Z,CAAc,IAAiB,OAAXjzG,UAAAA,EAAN,KAKhBrrO,EAAOppF,CAAPopF,IAAgB,CALA,GAQlB51E,EAAOxT,CAAPwT,KAAiB6za,GAAWnpa,UAAAA,GAAW,CAAtBmpa,CARC;UASlB;;QAEF,KAAK,CAAL;UACE7za,EAAOxT,CAAPwT,KAAiB8za,SAAAA,CAAQ5f,CAAR4f,CAAjB9za;UACA;;QAEF,KAAK,CAAL;UAEE,IAAkB,OAAdk0Z,CAAJ,EAAsB;YAEpBl0Z,IAASxT,CAATwT,IAA6B,OAAXihT,UAAAA,EAAW,GAAK,KAAL,GAAa,EAA1CjhT,EACA41E,EAAOppF,CAAPopF,IAAgB51E,EAAOxT,CAAPwT,EAAc1T,MAD9B0T;YAEA;UAKJ;;QAAA;UACEA,EAAOxT,CAAPwT,KAAiBuK,UAAAA,CAAK2pZ,CAAL3pZ,CAAjBvK;MA9BJ;IA8B0Bk0Z,CA/B5B,QAiCSA,IAAYhhZ,UAAAA,EAjCrB;;IAmCA,OAAOlT,CAAP;EAIe+za,CA5CH,CA4CWppZ,UAAAA,CAAMv9B,CAANu9B,CA5CX,EA4CyBirD,CA5CzB,CA4CLg+V,CAAP;AAAqCh+V,CAhDvC;AAAA,IAoDIo+V,KAA+B,IAAIjxX,OAAJ,EApDnC;AAAA,IAqDIkxX,KAAS,SAATA,EAAS,CAAgBrja,CAAhB,EAAgBA;EAC3B,IAAqB,WAAjBA,EAAQnd,IAAS,IAAWmd,EAAQm1B,MAAnB,IACpBn1B,EAAQtkB,MADT;IASA,KAJA,IAAIc,IAAQwjB,EAAQxjB,KAApB,EACI24C,IAASn1B,EAAQm1B,MADrB,EAEImuY,IAAiBtja,EAAQs8O,MAARt8O,KAAmBm1B,EAAOmnN,MAA1Bt8O,IAAoCA,EAAQxQ,IAARwQ,KAAiBm1B,EAAO3lC,IAEjF,EAAuB,WAAhB2lC,EAAOtyC,IAAd;MAEE,MADAsyC,IAASA,EAAOA,MAChB,GAAa;IAFf;;IAMA,KAA6B,MAAzBn1B,EAAQd,KAARc,CAActkB,MAAW,IAA6B,OAAxBc,EAAM2U,UAAN3U,CAAiB,CAAjBA,CAAL,IAEzB4mb,GAAchxa,GAAdgxa,CAAkBjuY,CAAlBiuY,CAFJ,KAEsBjuY,CAMlBmuY,CARJ,EAQA;MAIAF,GAAc3pa,GAAd2pa,CAAkBpja,CAAlBoja,EAAkBpja,CAAS,CAA3Boja;;MAKA,KAJA,IAAIp+V,IAAS,EAAb,EACIg9I,IAAQ+gN,GAASvmb,CAATumb,EAAgB/9V,CAAhB+9V,CADZ,EAEIQ,IAAcpuY,EAAOj2B,KAFzB,EAISzjB,IAAI,CAJb,EAIgB23E,IAAI,CAApB,EAAuB33E,IAAIumO,EAAMtmO,MAAjC,EAAyCD,GAAzC;QACE,KAAK,IAAIohC,IAAI,CAAb,EAAgBA,IAAI0mZ,EAAY7nb,MAAhC,EAAwCmhC,KAAKu2C,GAA7C;UACEpzD,EAAQd,KAARc,CAAcozD,CAAdpzD,IAAmBglE,EAAOvpF,CAAPupF,IAAYg9I,EAAMvmO,CAANumO,EAASv6N,OAATu6N,CAAiB,MAAjBA,EAAyBuhN,EAAY1mZ,CAAZ0mZ,CAAzBvhN,CAAZh9I,GAAuDu+V,EAAY1mZ,CAAZ0mZ,IAAiB,GAAjBA,GAAuBvhN,EAAMvmO,CAANumO,CAAjGhiN;QADF;MADF;IAE2GvkB;EAAAA;AAAAA,CAxF7G;AAAA,IA4FI+nb,KAAc,SAAdA,EAAc,CAAqBxja,CAArB,EAAqBA;EACrC,IAAqB,WAAjBA,EAAQnd,IAAZ,EAA6B;IAC3B,IAAIrG,IAAQwjB,EAAQxjB,KAApB;IAGwB,QAAxBA,EAAM2U,UAAN3U,CAAiB,CAAjBA,CAAwB,IACA,OAAxBA,EAAM2U,UAAN3U,CAAiB,CAAjBA,CADwB,KAGtBwjB,EAAgB2zK,MAAhB3zK,GAAoB,EAApBA,EACAA,EAAQxjB,KAARwjB,GAAgB,EAJM;EAIN;AAAA,CArGtB;AAAA,IAkII2ia,KAAe,SAAfA,EAAe,CAAsB3ia,CAAtB,EAAsBA;EACvC,OAAsC,QAA/BA,EAAQnd,IAARmd,CAAa7O,UAAb6O,CAAwB,CAAxBA,CAA+B,IAAsC,OAA/BA,EAAQnd,IAARmd,CAAa7O,UAAb6O,CAAwB,CAAxBA,CAA7C;AAAqE,CAnIvE;AAAA,IAmJIyja,KAAiB,SAAjBA,EAAiB,CAAwBzja,CAAxB,EAAwBA;EAC3CA,EAAQnd,IAARmd,GAAe,EAAfA,EACAA,EAAQxjB,KAARwjB,GAAgB,EADhBA,EAEAA,EAAgB2zK,MAAhB3zK,GAAoB,EAFpBA,EAGAA,EAAQ2F,QAAR3F,GAAmB,EAHnBA,EAIAA,EAAQd,KAARc,GAAgB,EAJhBA;AAIgB,CAxJlB;AAAA,IA2JI0ja,KAAuB,SAAvBA,EAAuB,CAA8B1ja,CAA9B,EAAuCpkB,CAAvC,EAA8C+pB,CAA9C,EAA8CA;EAClEg9Z,GAAa3ia,CAAb2ia,MAID3ia,EAAQm1B,MAARn1B,IACF/P,QAAQ1I,KAAR0I,CAAc,oLAAdA,GACAwza,GAAezja,CAAfyja,CAFEzja,IA1B4B,UAAqCpkB,CAArC,EAA4C+pB,CAA5C,EAA4CA;IAC5E,KAAK,IAAIlqB,IAAIG,IAAQ,CAArB,EAAwBH,KAAK,CAA7B,EAAgCA,GAAhC;MACE,KAAKknb,GAAah9Z,EAASlqB,CAATkqB,CAAbg9Z,CAAL,EACE,QAAO,CAAP;IAFJ;;IAMA,QAAO,CAAP;EAsBWgB,CA7BqB,CA6BO/nb,CA7BP,EA6Bc+pB,CA7Bd,MA8B9B1V,QAAQ1I,KAAR0I,CAAc,sGAAdA,GACAwza,GAAezja,CAAfyja,CA/B8B,CAsB3Bd;AASY3ia,CArKnB;AAAA,IAyKI+X,KAAgC,sBAAbtqB,QAzKvB;AAAA,IA0KIm2a,KAAuB7rZ,UAAY97B,CAAZ87B,IC/KYpY,KD+KwB;EAC7D,OAAO6/C,GAAQ;IACb,IAAIhyC,IAAQ,EAAZ;IACA,OAAO,UAAUnxB,CAAV,EAAUA;MACf,OAAOmxB,EAAMnxB,CAANmxB,CAAP;IAAanxB,CADf;EACeA,CAHVmjE,CAAP;AAGiBnjE,CCnLoBsjB,EAEjC6N,KAAQ,IAAI2kC,OAAJ,EAFyBxyC,EAG9B,UAAUyZ,CAAV,EAAUA;EACf,IAAI5L,GAAMgjC,GAANhjC,CAAU4L,CAAV5L,CAAJ,EAEE,OAAOA,GAAMpb,GAANob,CAAU4L,CAAV5L,CAAP;EAGF,IAAI6Q,IAAM1e,GAAKyZ,CAALzZ,CAAV;EAEA,OADA6N,GAAM/T,GAAN+T,CAAU4L,CAAV5L,EAAe6Q,CAAf7Q,GACO6Q,CAAP;AAAOA,CDoKgBtG,CA1K3B;AAAA,IAkLI8rZ,KAAuB,CFvL0rM,UAAYp+a,CAAZ,EAAcuN,CAAd,EAAgBmI,CAAhB,EAAkB1f,CAAlB,EAAkBA;EAAG,KAAIgK,EAAEkuL,MAAN,EAAa,QAAOluL,EAAE5C,IAAT;IAAe,KAA1rM,MAA0rM;MAAO4C,EAAEkuL,MAAFluL,GAAS0lJ,GAAG1lJ,EAAEjJ,KAAL2uJ,EAAW1lJ,EAAE/J,MAAbyvJ,CAAT1lJ;MAA8B;;IAAM,KAAjlM,YAAilM;MAAO,OAAO6tB,GAAG,CAAC42H,UAAAA,CAAEvvH,UAAAA,CAAEl1B,EAAEjJ,KAAJm+B,EAAU,GAAVA,EAAc,MAAI5pB,UAAlB4pB,CAAFuvH,EAAuBzkJ,CAAvBykJ,EAAyB,EAAzBA,CAAD,CAAH52H,EAAkC73B,CAAlC63B,CAAP;;IAA4C,KAAryM,MAAqyM;MAAO,IAAG7tB,EAAE/J,MAAL,EAAY,OAAjpL,UAAW4B,CAAX,EAAa+U,CAAb,EAAaA;QAAG,OAAO/U,EAAEsa,GAAFta,CAAM+U,CAAN/U,EAAS0P,IAAT1P,CAAc,EAAdA,CAAP;MAAwoL2pI,CAAxpL,CAA0pLxhI,EAAEyZ,KAA5pL,EAA4pLA,UAAgBtM,CAAhBsM,EAAgBtM;QAAG,QAAp9L,UAAWtV,CAAX,EAAa+U,CAAb,EAAaA;UAAG,QAAO/U,IAAE+U,EAAEia,IAAFja,CAAO/U,CAAP+U,CAAT,IAAoB/U,EAAE,CAAFA,CAApB,GAAyBA,CAAzB;QAA28Lo9B,CAA39L,CAA69L9nB,CAA79L,EAA+9L,uBAA/9L,CAAo9L;UAAqC,KAAI,YAAJ;UAAiB,KAAI,aAAJ;YAAkB,OAAO0gB,GAAG,CAAC42H,UAAAA,CAAEvvH,UAAAA,CAAE/nB,CAAF+nB,EAAI,aAAJA,EAAkB,UAAlBA,CAAFuvH,EAAgCzkJ,CAAhCykJ,EAAkC,EAAlCA,CAAD,CAAH52H,EAA2C73B,CAA3C63B,CAAP;;UAAqD,KAAI,eAAJ;YAAoB,OAAOA,GAAG,CAAC42H,UAAAA,CAAEvvH,UAAAA,CAAE/nB,CAAF+nB,EAAI,YAAJA,EAAiB,MAAI5pB,UAAJ,GAAM,UAAvB4pB,CAAFuvH,EAAqCzkJ,CAArCykJ,EAAuC,EAAvCA,CAAD,EAA4CA,UAAAA,CAAEvvH,UAAAA,CAAE/nB,CAAF+nB,EAAI,YAAJA,EAAiB,UAAjBA,CAAFuvH,EAA+BzkJ,CAA/BykJ,EAAiC,EAAjCA,CAA5C,EAAiFA,UAAAA,CAAEvvH,UAAAA,CAAE/nB,CAAF+nB,EAAI,YAAJA,EAAiBr9B,cAAjBq9B,CAAFuvH,EAAiCzkJ,CAAjCykJ,EAAmC,EAAnCA,CAAjF,CAAH52H,EAA4H73B,CAA5H63B,CAAP;QAAjJ;;QAAuR,OAAM,EAAN;MAAM,CAA58L,CAAipL;EAAhI;AAA2b,CEuLvpN,CAlL3B;AAAA,IAoLIwwZ,KAAc,SAAdA,EAAc,CAAqB5ob,CAArB,EAAqBA;EACrC,IAAIY,IAAMZ,EAAQY,GAAlB;EAEA,IAA6B,KAA7B,EACE;;EAGF,IAAIi8B,MAAqB,UAARj8B,CAAjB,EAAgC;IAC9B,IAAIiob,IAAYt2a,SAASmiG,gBAATniG,CAA0B,mCAA1BA,CAAhB;IAKAzG,MAAMvD,SAANuD,CAAgB3E,OAAhB2E,CAAwB2B,IAAxB3B,CAA6B+8a,CAA7B/8a,EAAwC,UAAUmZ,CAAV,EAAUA;MAAAA,CASL,CATKA,KAOrBA,EAAKyuB,YAALzuB,CAAkB,cAAlBA,EAEFtkB,OAFEskB,CAEM,GAFNA,CAPqBA,KAYhD1S,SAASs1M,IAATt1M,CAAc8rC,WAAd9rC,CAA0B0S,CAA1B1S,GACA0S,EAAK3R,YAAL2R,CAAkB,QAAlBA,EAA4B,EAA5BA,CAbgDA;IAapB,CAb9BnZ;EAiBF;;EAAA,IAAIg9a,IAAgB9ob,EAAQ8ob,aAAR9ob,IAAyB2ob,EAA7C;EAEA,IAA6B,KAA7B,EAGI;EAIJ,IAEInva,CAFJ;EAAA,IAoBIuva,CApBJ;EAAA,IAAIC,IAAW,EAAf;EAAA,IAGIC,IAAiB,EAHrB;EAKIpsZ,OACFrjB,IAAYxZ,EAAQwZ,SAARxZ,IAAqBuS,SAASs1M,IAA1CruM,EACA1N,MAAMvD,SAANuD,CAAgB3E,OAAhB2E,CAAwB2B,IAAxB3B,CAEAyG,SAASmiG,gBAATniG,CAA0B,0BAA2B3R,CAA3B,GAAiC,KAA3D2R,CAFAzG,EAEoE,UAAUmZ,CAAV,EAAUA;IAG5E,KAFA,IAAIika,IAASjka,EAAKyuB,YAALzuB,CAAkB,cAAlBA,EAAkC5kB,KAAlC4kB,CAAwC,GAAxCA,CAAb,EAES1kB,IAAI,CAAb,EAAgBA,IAAI2ob,EAAO1ob,MAA3B,EAAmCD,GAAnC;MACEyob,EAASE,EAAO3ob,CAAP2ob,CAATF,IAAgBzob,CAAM,CAAtByob;IADF;;IAIAC,EAAe7+a,IAAf6+a,CAAoBhka,CAApBgka;EAAoBhka,CATtBnZ,CAFE+wB;EAiBJ,IAAIssZ,IAAqB,CAAChB,EAAD,EAASG,EAAT,CAAzB;;EAWA,IAT6B,UAC3Ba,CAD2B,EASzBtsZ,EAAJ,EAAe;IACb,IAAI4sZ,CAAJ;IAAA,IACIC,IAAoB,CAACn5a,EAAD,EAAqC,SAAe,CAAf,GAUzDo5a,GAAU,UAAUvoT,CAAV,EAAUA;MACtBqoT,EAAapjS,MAAbojS,CAAoBroT,CAApBqoT;IAAoBroT,CADlBuoT,CAVoB,CADxB;IAAA,IAcIvqH,IAAaxB,GAAWurH,EAAmBn9a,MAAnBm9a,CAA0BL,CAA1BK,EAAyCO,CAAzCP,CAAXvrH,CAdjB;;IAoBAmrH,IAAU,WAAgBp/L,CAAhB,EAA0BmkH,CAA1B,EAAsClvD,CAAtC,EAA6CgrI,CAA7C,EAA6CA;MACrDH,IAAe7qI,CAAf6qI,EAE6B,WAC3BA,CAD2B,CAF7BA,EAJOhqb,GAAUoqb,GAcVlgM,IAAWA,IAAW,GAAXA,GAAiBmkH,EAAW38P,MAA5Bw4I,GAAqC,GAAhDA,GAAsDmkH,EAAW38P,MAdvD04U,CAAVpqb,EAA2B2/T,CAA3B3/T,CAIPgqb,EAYIG,MACFt3Z,EAAM02Z,QAAN12Z,CAAew7U,EAAW3sW,IAA1BmxB,IAA0BnxB,CAAQ,CADhCyob,CAZJH;IAaoC,CAdtCV;EAcsC,CAnCxC,MAsCO;IACL,IAAIe,IAAqB,CAACv5a,EAAD,CAAzB;IAAA,IAEIw5a,IAAcnsH,GAAWurH,EAAmBn9a,MAAnBm9a,CAA0BL,CAA1BK,EAAyCW,CAAzCX,CAAXvrH,CAFlB;IAAA,IASIosH,IAAoBtB,GAAqBI,CAArBJ,EAAoC9nb,CAApC8nb,CATxB;IAAA,IAWIb,IAAW,SAAXA,CAAW,CAAkBl+L,CAAlB,EAA4BmkH,CAA5B,EAA4BA;MACzC,IAAI3sW,IAAO2sW,EAAW3sW,IAAtB;MAMA,YAJgCJ,CAIhC,KAJIipb,EAAkB7ob,CAAlB6ob,CAIJ,KAHEA,EAAkB7ob,CAAlB6ob,IAVKvqb,GAAUoqb,GAUmBlgM,IAAWA,IAAW,GAAXA,GAAiBmkH,EAAW38P,MAA5Bw4I,GAAqC,GAAhDA,GAAsDmkH,EAAW38P,MAVpF04U,CAAVpqb,EAA2Bsqb,CAA3Btqb,CAaP,GAAOuqb,EAAkB7ob,CAAlB6ob,CAAP;IAAyB7ob,CAlB3B;;IAqBA4nb,IAAU,WAAiBp/L,CAAjB,EAA2BmkH,CAA3B,EAAuClvD,CAAvC,EAA8CgrI,CAA9C,EAA8CA;MACtD,IAAIzob,IAAO2sW,EAAW3sW,IAAtB;MAAA,IACI2lO,IAAQ+gN,EAASl+L,CAATk+L,EAAmB/5E,CAAnB+5E,CADZ;MAGA,YAAqB9mb,CAArB,KAAIuxB,EAAM61Z,MAAV,IAIMyB,MACFt3Z,EAAM02Z,QAAN12Z,CAAenxB,CAAfmxB,IAAenxB,CAAQ,CADrByob,GAMqB,SAChB9iN,CADgB,GAIlBA,CAdT,IAuBM8iN,UACFt3Z,EAAM02Z,QAAN12Z,CAAenxB,CAAfmxB,IAAuBw0M,CADrB8iN,IAGK9iN,CA1BX;IA0BWA,CA9BbiiN;EAoCF;;EAAA,IAAIz2Z,IAAQ;IACV1xB,KAAKA,CADK;IAEVg+S,OAAO,IAAIuoI,UAAJ,CAAe;MACpBvmb,KAAKA,CADe;MAEpB4Y,WAAWA,CAFS;MAGpBgua,OAAOxnb,EAAQwnb,KAHK;MAIpBF,QAAQtnb,EAAQsnb,MAJI;MAKpBxmY,SAAS9gD,EAAQ8gD;IALG,CAAf,CAFG;IASV0mY,OAAOxnb,EAAQwnb,KATL;IAUVwB,UAAUA,CAVA;IAWViB,YAAY,EAXF;IAYV5jS,QAAQ0iS;EAZE,CAAZ;EAeA,OADAz2Z,EAAMssR,KAANtsR,CAAY+yL,OAAZ/yL,CAAoB22Z,CAApB32Z,GACOA,CAAP;AAAOA,CA3WT;;AA2WSA;EAAAA;AAAAA;;AAAAA;EAAAA;IAAAA;IAAAA;IAAAA;MAAAA;QAAAA;MAAAA;;;;;;;;;MAAAA;;EAAAA;AEvWI;;AAAA,IAAIxc,KAAE,qBAAoBsB,MAApB,IAA4BA,OAAOo4K,GAAzC;AAAA,IAA6CjlL,KAAEuL,KAAEsB,OAAOo4K,GAAPp4K,CAAW,eAAXA,CAAFtB,GAA8B,KAA7E;AAAA,IAAmFe,KAAEf,KAAEsB,OAAOo4K,GAAPp4K,CAAW,cAAXA,CAAFtB,GAA6B,KAAlH;AAAA,IAAwH1T,KAAE0T,KAAEsB,OAAOo4K,GAAPp4K,CAAW,gBAAXA,CAAFtB,GAA+B,KAAzJ;AAAA,IAA+J8mB,KAAE9mB,KAAEsB,OAAOo4K,GAAPp4K,CAAW,mBAAXA,CAAFtB,GAAkC,KAAnM;AAAA,IAAyM25B,KAAE35B,KAAEsB,OAAOo4K,GAAPp4K,CAAW,gBAAXA,CAAFtB,GAA+B,KAA1O;AAAA,IAAgP9I,KAAE8I,KAAEsB,OAAOo4K,GAAPp4K,CAAW,gBAAXA,CAAFtB,GAA+B,KAAjR;AAAA,IAAuRoiE,KAAEpiE,KAAEsB,OAAOo4K,GAAPp4K,CAAW,eAAXA,CAAFtB,GAA8B,KAAvT;AAAA,IAA6T/L,KAAE+L,KAAEsB,OAAOo4K,GAAPp4K,CAAW,kBAAXA,CAAFtB,GAAiC,KAAhW;AAAA,IAAsWc,KAAEd,KAAEsB,OAAOo4K,GAAPp4K,CAAW,uBAAXA,CAAFtB,GAAsC,KAA9Y;AAAA,IAAoZ4B,KAAE5B,KAAEsB,OAAOo4K,GAAPp4K,CAAW,mBAAXA,CAAFtB,GAAkC,KAAxb;AAAA,IAA8b+B,KAAE/B,KAAEsB,OAAOo4K,GAAPp4K,CAAW,gBAAXA,CAAFtB,GAA+B,KAA/d;AAAA,IAAqew/D,KAAEx/D,KACpfsB,OAAOo4K,GAAPp4K,CAAW,qBAAXA,CADoftB,GACld,KADrB;AAAA,IAC2BqB,KAAErB,KAAEsB,OAAOo4K,GAAPp4K,CAAW,YAAXA,CAAFtB,GAA2B,KADxD;AAAA,IAC8DwB,KAAExB,KAAEsB,OAAOo4K,GAAPp4K,CAAW,YAAXA,CAAFtB,GAA2B,KAD3F;AAAA,IACiGnE,KAAEmE,KAAEsB,OAAOo4K,GAAPp4K,CAAW,aAAXA,CAAFtB,GAA4B,KAD/H;AAAA,IACqIorC,KAAEprC,KAAEsB,OAAOo4K,GAAPp4K,CAAW,mBAAXA,CAAFtB,GAAkC,KADzK;AAAA,IAC+K0pB,KAAE1pB,KAAEsB,OAAOo4K,GAAPp4K,CAAW,iBAAXA,CAAFtB,GAAgC,KADjN;AAAA,IACuN2pB,KAAE3pB,KAAEsB,OAAOo4K,GAAPp4K,CAAW,aAAXA,CAAFtB,GAA4B,KADrP;;AAEb,SAASq/E,EAAT,CAAWt/E,CAAX,EAAWA;EAAG,IAAG,mBAAkBA,CAAlB,IAAqB,SAAOA,CAA/B,EAAiC;IAAC,IAAIoK,IAAEpK,EAAEi7K,QAAR;;IAAiB,QAAO7wK,CAAP;MAAU,KAAK1V,EAAL;QAAO,QAAOsL,IAAEA,EAAElO,IAAX;UAAmB,KAAKoC,EAAL;UAAO,KAAK6M,EAAL;UAAO,KAAKxU,EAAL;UAAO,KAAKqtC,EAAL;UAAO,KAAK7S,EAAL;UAAO,KAAK/kB,EAAL;YAAO,OAAOhC,CAAP;;UAAS;YAAQ,QAAOA,IAAEA,KAAGA,EAAEi7K,QAAd;cAA0B,KAAK54G,EAAL;cAAO,KAAKxgE,EAAL;cAAO,KAAKJ,EAAL;cAAO,KAAKH,EAAL;cAAO,KAAKnK,EAAL;gBAAO,OAAO6I,CAAP;;cAAS;gBAAQ,OAAOoK,CAAP;YAA9E;;QAA9E;;MAAsK,KAAKpJ,EAAL;QAAO,OAAOoJ,CAAP;IAA9L;EAAqMA;AAAI;;AAAA,SAAS2oE,EAAT,CAAW/yE,CAAX,EAAWA;EAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOv+E,EAAd;AAAgB;;AAAA;EAAAqxM,WAAkBl+M,EAAlB;EAAkBA,gBAAyB6M,EAA3C;EAA2CA,iBAA0BshE,EAArE;EAAqEA,iBAA0BlrE,EAA/F;EAA+FA,SAAkBzC,EAAjH;EAAiHA,YAAqBmN,EAAtI;EAAsIA,UAAmBtV,EAAzJ;EAAyJA,MAAekV,EAAxK;EAAwKA,MAAeH,EAAvL;EAAuLA,QAAiBN,EAAxM;EAAwMA,UAC/d44B,EADuR;EACvRA,YAAqB7S,EADkQ;EAClQA,UAAmB/kB,EAD+O;EAC/OA,aAAsB,qBAAShC,CAAT,EAASA;IAAG,OAAO+yE,GAAE/yE,CAAF+yE,KAAMuM,GAAEt/E,CAAFs/E,MAAOprF,EAApB;EAAoBA,CADyL;EACzLA,kBAA4B6+E,EAD6J;EAC7JA,mBAA4B,2BAAS/yE,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOjd,EAAd;EAAcA,CADuG;EACvGA,mBAA6B,2BAASriE,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOnoF,EAAd;EAAcA,CADgD;EAChDA,WAAqB,mBAAS6I,CAAT,EAASA;IAAG,OAAM,mBAAkBA,CAAlB,IAAqB,SAAOA,CAA5B,IAA+BA,EAAEi7K,QAAFj7K,KAAatL,EAAlD;EAAkDA,CADnC;EACmCA,cAAwB,sBAASsL,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOz9E,EAAd;EAAcA,CADrF;EACqFA,YAAsB,oBAAS7B,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAO/yF,EAAd;EAAcA,CADrI;EACqIA,QAAkB,gBAASyT,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAO79E,EAAd;EAAcA,CADjL;EACiLA,QAC1c,gBAASzB,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOh+E,EAAd;EAAcA,CAF+P;EAE/PA,UAAoB,kBAAStB,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOt+E,EAAd;EAAcA,CAFiN;EAEjNA,YAAsB,oBAAShB,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAO1lD,EAAd;EAAcA,CAFiK;EAEjKA,cAAwB,sBAAS55B,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOv4D,EAAd;EAAcA,CAF+G;EAE/GA,YAAsB,oBAAS/mB,CAAT,EAASA;IAAG,OAAOs/E,GAAEt/E,CAAFs/E,MAAOt9E,EAAd;EAAcA,CAF+D;EAE/DA,oBAC9M,4BAAShC,CAAT,EAASA;IAAG,OAAM,mBAAkBA,CAAlB,IAAqB,qBAAoBA,CAAzC,IAA4CA,MAAIzT,EAAhD,IAAmDyT,MAAIe,EAAvD,IAA0Df,MAAI45B,EAA9D,IAAiE55B,MAAI+mB,EAArE,IAAwE/mB,MAAIgC,EAA5E,IAA+EhC,MAAIy/D,EAAnF,IAAsF,mBAAkBz/D,CAAlB,IAAqB,SAAOA,CAA5B,KAAgCA,EAAEi7K,QAAFj7K,KAAayB,EAAbzB,IAAgBA,EAAEi7K,QAAFj7K,KAAasB,EAA7BtB,IAAgCA,EAAEi7K,QAAFj7K,KAAa7I,EAA7C6I,IAAgDA,EAAEi7K,QAAFj7K,KAAaqiE,EAA7DriE,IAAgEA,EAAEi7K,QAAFj7K,KAAa6B,EAA7E7B,IAAgFA,EAAEi7K,QAAFj7K,KAAaqrC,EAA7FrrC,IAAgGA,EAAEi7K,QAAFj7K,KAAa2pB,EAA7G3pB,IAAgHA,EAAEi7K,QAAFj7K,KAAa4pB,EAA7H5pB,IAAgIA,EAAEi7K,QAAFj7K,KAAalE,EAA7K,CAA5F;EAAyQA,CAHR;EAGQA,QAAmBwjF;AAH3B;AAAA,IAG2BA;ECDtS,UAC3B,CAD2B;AAC3B,CDAiUA,CAH3B;AAAA,ICGtSg9D;ECZ2B,QAC3B9vJ,YAAiBgpb,EADU,GAG3Bhpb,CAH2B;AAGVipb,CDSjB,CDHsS;AAAA,IGkCpS18X,KAAe,EHlCqR;;AGmCxSA,GAAajB,GAAQkB,UAArBD,IAhB0B;EACxBkiI,WAAY,CADY;EAExBpiI,SAAQ,CAFgB;EAGxBV,eAAc,CAHU;EAIxB9jC,cAAa,CAJW;EAKxBzE,YAAW;AALa,CAgB1BmpC,EACAA,GAAajB,GAAQmB,IAArBF,IAVmB;EACjBkiI,WAAY,CADK;EAEjBvxJ,UAAS,CAFQ;EAGjByuB,eAAc,CAHG;EAIjB9jC,cAAa,CAJI;EAKjBzE,YAAW,CALM;EAMjB9d,OAAM;AANW,CASnBinD;AC9CA,IAAI/xB,KAAgC,sBAAbtqB,QAAvB;;AACA,SAASg5a,EAAT,CAA6BtB,CAA7B,EAAyCuB,CAAzC,EAA2DlkZ,CAA3D,EAA2DA;EACzD,IAAImkZ,IAAe,EAAnB;EAQA,OAPAnkZ,EAAWjnC,KAAXinC,CAAiB,GAAjBA,EAAsBngC,OAAtBmgC,CAA8B,UAAU/a,CAAV,EAAUA;IAAAA,KACRxrB,CADQwrB,KAClC09Z,EAAW19Z,CAAX09Z,CADkC19Z,GAEpCi/Z,EAAiBphb,IAAjBohb,CAAsBvB,EAAW19Z,CAAX09Z,IAAwB,GAA9CuB,CAFoCj/Z,GAIpCk/Z,KAAgBl/Z,IAAY,GAJQA;EAIR,CAJhC+a,GAOOmkZ,CAAP;AAEF;;AAAA,IAAIC,KAAe,SAAfA,EAAe,CAAsBp5Z,CAAtB,EAA6Bw7U,CAA7B,EAAyC69E,CAAzC,EAAyCA;EAC1D,IAAIp/Z,IAAY+F,EAAM1xB,GAAN0xB,GAAY,GAAZA,GAAkBw7U,EAAW3sW,IAA7C;;EAeA,MARiB,CAQjB,KARCwqb,CAQD,IARCA,CAIa,CAJbA,KAID9uZ,EAJC8uZ,IAID9uZ,KAAwC97B,CAAxC87B,KAAuBvK,EAAM61Z,MAI7B,KAJ6BA,KAAyDpnb,CAAzDonb,KAAyB71Z,EAAM23Z,UAAN33Z,CAAiB/F,CAAjB+F,CAItD,KAHEA,EAAM23Z,UAAN33Z,CAAiB/F,CAAjB+F,IAA8Bw7U,EAAW38P,MAG3C,GAH2CA,KAGHpwG,CAHGowG,KAGvC7+E,EAAM02Z,QAAN12Z,CAAew7U,EAAW3sW,IAA1BmxB,CAAJ,EAAmD;IACjD,IAAIs5Z,IAAe,EAAnB;IAAA,IACIhka,IAAUkmV,CADd;;IAGA,GAAG;MACD,IAAI+9E,IAAcv5Z,EAAM+zH,MAAN/zH,CAAaw7U,MAAelmV,CAAfkmV,GAAyB,MAAMvhV,CAA/BuhV,GAA2C,EAAxDx7U,EAA4D1K,CAA5D0K,EAAqEA,EAAMssR,KAA3EtsR,EAA2EssR,CAAO,CAAlFtsR,CAAlB;MAEKuK,WAA6B97B,CAA7B87B,KAAagvZ,CAAbhvZ,KACH+uZ,KAAgBC,CADbhvZ,GAILjV,IAAUA,EAAQR,IAJbyV;IAIazV,CAPpB,QAOoBA,KACCrmB,CADDqmB,KACXQ,CART;;IAUA,KAAKiV,EAAL,IAA0C,MAAxB+uZ,EAAaprb,MAA/B,EACE,OAAOorb,CAAP;EAAOA;AAAAA,CA/Bb;;ACZA,IAAIE,KAAe;EACjBz4P,yBAAyB,CADR;EAEjBE,mBAAmB,CAFF;EAGjBC,kBAAkB,CAHD;EAIjBC,kBAAkB,CAJD;EAKjBC,SAAS,CALQ;EAMjBC,cAAc,CANG;EAOjBC,iBAAiB,CAPA;EAQjBC,aAAa,CARI;EASjBC,SAAS,CATQ;EAUjBtjF,MAAM,CAVW;EAWjBujF,UAAU,CAXO;EAYjBC,cAAc,CAZG;EAajBC,YAAY,CAbK;EAcjBC,cAAc,CAdG;EAejBC,WAAW,CAfM;EAgBjBE,SAAS,CAhBQ;EAiBjBC,YAAY,CAjBK;EAkBjBC,aAAa,CAlBI;EAmBjBC,cAAc,CAnBG;EAoBjBC,YAAY,CApBK;EAqBjBC,eAAe,CArBE;EAsBjBC,gBAAgB,CAtBC;EAuBjBC,iBAAiB,CAvBA;EAwBjBm3P,WAAW,CAxBM;EAyBjBC,eAAe,CAzBE;EA0BjBC,cAAc,CA1BG;EA2BjBC,kBAAkB,CA3BD;EA4BjBp5U,YAAY,CA5BK;EA6BjB8zB,YAAY,CA7BK;EA8BjBnoB,SAAS,CA9BQ;EA+BjBq2E,OAAO,CA/BU;EAgCjBC,SAAS,CAhCQ;EAiCjBC,SAAS,CAjCQ;EAkCjBC,QAAQ,CAlCS;EAmCjBC,QAAQ,CAnCS;EAoCjBC,MAAM,CApCW;EAqCjBg3P,iBAAiB,CArCA;EAuCjB/2P,aAAa,CAvCI;EAwCjBC,cAAc,CAxCG;EAyCjBC,aAAa,CAzCI;EA0CjBC,iBAAiB,CA1CA;EA2CjBC,kBAAkB,CA3CD;EA4CjBC,kBAAkB,CA5CD;EA6CjBC,eAAe,CA7CE;EA8CjB/uD,aAAa;AA9CI,CAAnB;AAAA,ICIIylT,KAAgC,4bDJpC;AAAA,ICKIC,KAAgC,kIDLpC;AAAA,ICMIC,KAAiB,YDNrB;AAAA,ICOIC,KAAiB,6BDPrB;AAAA,ICSIC,KAAmB,SAAnBA,EAAmB,CAA0B50a,CAA1B,EAA0BA;EAC/C,OAAkC,OAA3BA,EAAS3B,UAAT2B,CAAoB,CAApBA,CAAP;AAA2B,CDV7B;AAAA,ICaI60a,KAAqB,SAArBA,EAAqB,CAA4Bnrb,CAA5B,EAA4BA;EACnD,OAAgB,QAATA,CAAS,IAAyB,oBAAVA,CAA/B;AAA+BA,CDdjC;AAAA,ICiBIorb,KAAkCpoX,GAAQ,UAAUgtC,CAAV,EAAUA;EACtD,OAAOk7U,GAAiBl7U,CAAjBk7U,IAA8Bl7U,CAA9Bk7U,GAA0Cl7U,EAAU/kG,OAAV+kG,CAAkBg7U,EAAlBh7U,EAAkC,KAAlCA,EAAyCnvG,WAAzCmvG,EAAjD;AAA0FnvG,CADtDmiE,CDjBtC;AAAA,ICqBIqoX,KAAoB,YAA2B/rb,CAA3B,EAAgCU,CAAhC,EAAgCA;EACtD,QAAQV,CAAR;IACE,KAAK,WAAL;IACA,KAAK,eAAL;MAEI,IAAqB,mBAAVU,CAAX,EACE,OAAOA,EAAMiL,OAANjL,CAAcirb,EAAdjrb,EAA8B,UAAUkR,CAAV,EAAiB6nF,CAAjB,EAAqByE,CAArB,EAAqBA;QAMxD,OALA+1I,KAAS;UACP1zO,MAAMk5F,CADC;UAEP8W,QAAQrS,CAFD;UAGP13E,MAAMytN;QAHC,CAATA,EAKOx6I,CAAP;MAAOA,CANF/4F,CAAP;EALR;;EAiBA,OAAsB,MAAlBsrb,GAAShsb,CAATgsb,CAAkB,IAAMJ,GAAiB5rb,CAAjB4rb,CAAN,IAAgD,mBAAVlrb,CAAtC,IAAsE,MAAVA,CAA5D,GAIfA,CAJe,GACbA,IAAQ,IADjB;AACiB,CDxCnB;;AC8CA,IAA6B,KAA7B,EAA2C,+BA4B3C;;AAAA,SAAS8rb,EAAT,CAA6BC,CAA7B,EAA0CpD,CAA1C,EAAsDqD,CAAtD,EAAsDA;EACpD,IAAqB,QAAjBA,CAAJ,EACE,OAAO,EAAP;;EAGF,SAAuCvsb,CAAvC,KAAIusb,EAAcC,gBAAlB,EAAkD;IAChD,IAA6B,KAA7B,EACE;IAGF,OAAOD,CAAP;EAGF;;EAAA,eAAeA,CAAf;IACE,KAAK,SAAL;MAEI,OAAO,EAAP;;IAGJ,KAAK,QAAL;MAEI,IAA2B,MAAvBA,EAAclxW,IAAlB,EAME,OALAy4J,KAAS;QACP1zO,MAAMmsb,EAAcnsb,IADb;QAEPgwG,QAAQm8U,EAAcn8U,MAFf;QAGP/pF,MAAMytN;MAHC,CAATA,EAKOy4M,EAAcnsb,IAArB;;MAGF,SAA6BJ,CAA7B,KAAIusb,EAAcn8U,MAAlB,EAAwC;QACtC,IAAI/pF,IAAOkma,EAAclma,IAAzB;QAEA,SAAarmB,CAAb,KAAIqmB,CAAJ,EAGE,YAAgBrmB,CAAhB,KAAOqmB,CAAP;UACEytN,KAAS;YACP1zO,MAAMimB,EAAKjmB,IADJ;YAEPgwG,QAAQ/pF,EAAK+pF,MAFN;YAGP/pF,MAAMytN;UAHC,CAATA,EAKAztN,IAAOA,EAAKA,IALZytN;QADF;QAUF,IAAI1jI,IAASm8U,EAAcn8U,MAAdm8U,GAAuB,GAApC;QAMA,OAJ6B,WAC3Bn8U,CAD2B,GAItBA,CAAP;MAGF;;MAAA,OA2CR,UAAgCk8U,CAAhC,EAA6CpD,CAA7C,EAAyD/pb,CAAzD,EAAyDA;QACvD,IAAIwkB,IAAS,EAAb;QAEA,IAAI5Y,MAAMgD,OAANhD,CAAc5L,CAAd4L,CAAJ,EACE,KAAK,IAAIvL,IAAI,CAAb,EAAgBA,IAAIL,EAAIM,MAAxB,EAAgCD,GAAhC;UACEmkB,KAAU0oa,GAAoBC,CAApBD,EAAiCnD,CAAjCmD,EAA6Cltb,EAAIK,CAAJL,CAA7Cktb,IAAuD,GAAjE1oa;QADF,CADF,MAKE,KAAK,IAAIq/J,CAAT,IAAiB7jL,CAAjB,EAAsB;UACpB,IAAIoB,IAAQpB,EAAI6jL,CAAJ7jL,CAAZ;UAEA,IAAqB,mBAAVoB,CAAX,EACoB,QAAd2ob,CAAc,IAAdA,KAA4Clpb,CAA5Ckpb,KAAsBA,EAAW3ob,CAAX2ob,CAAR,GAChBvla,KAAUq/J,IAAO,GAAPA,GAAakmQ,EAAW3ob,CAAX2ob,CAAblmQ,GAAiC,GAD3B,GAEP0oQ,GAAmBnrb,CAAnBmrb,MACT/na,KAAUgoa,GAAiB3oQ,CAAjB2oQ,IAAyB,GAAzBA,GAA+BC,GAAkB5oQ,CAAlB4oQ,EAAwBrrb,CAAxBqrb,CAA/BD,GAAgE,GADjED,CAFO,CADpB,KAMO;YACL,IAAa,4BAAT1oQ,CAAS,IAAoD,iBAAzB/zK,YAAxC,EACE;;YAGF,KAAIlE,MAAMgD,OAANhD,CAAcxK,CAAdwK,CAAJ,IAAgD,mBAAbxK,EAAM,CAANA,CAAnC,IAA2E,QAAd2ob,CAAc,IAAdA,KAA+Clpb,CAA/Ckpb,KAAsBA,EAAW3ob,EAAM,CAANA,CAAX2ob,CAAnF,EAMO;cACL,IAAIuD,IAAeJ,GAAoBC,CAApBD,EAAiCnD,CAAjCmD,EAA6C9rb,CAA7C8rb,CAAnB;;cAEA,QAAQrpQ,CAAR;gBACE,KAAK,WAAL;gBACA,KAAK,eAAL;kBAEIr/J,KAAUgoa,GAAiB3oQ,CAAjB2oQ,IAAyB,GAAzBA,GAA+Bc,CAA/Bd,GAA8C,GAAxDhoa;kBACA;;gBAGJ;kBAEiC,UAC3B3P,CAD2B,EAI7B2P,KAAUq/J,IAAO,GAAPA,GAAaypQ,CAAbzpQ,GAA4B,GAJT;cAVnC;YAc4C,CAvB9C,MACE,KAAK,IAAIj9J,IAAK,CAAd,EAAiBA,IAAKxlB,EAAMd,MAA5B,EAAoCsmB,GAApC;cACM2la,GAAmBnrb,EAAMwlB,CAANxlB,CAAnBmrb,MACF/na,KAAUgoa,GAAiB3oQ,CAAjB2oQ,IAAyB,GAAzBA,GAA+BC,GAAkB5oQ,CAAlB4oQ,EAAwBrrb,EAAMwlB,CAANxlB,CAAxBqrb,CAA/BD,GAAoE,GAD5ED;YADN;UAEkF;QA4B1F;QAAA,OAAO/na,CAAP;MAhGa+oa,CA2Cf,CA3CsCJ,CA2CtC,EA3CmDpD,CA2CnD,EA3C+DqD,CA2C/D,CA3CQ;;IAGJ,KAAK,UAAL;MAEI,SAAoBvsb,CAApB,KAAIssb,CAAJ,EAA+B;QAC7B,IAAIK,IAAiB74M,EAArB;QAAA,IACI1/N,IAASm4a,EAAcD,CAAdC,CADb;QAGA,OADAz4M,KAAS64M,CAAT74M,EACOu4M,GAAoBC,CAApBD,EAAiCnD,CAAjCmD,EAA6Cj4a,CAA7Ci4a,CAAP;MACkC;;MAAA,UAClCr4a,CADkC;MAIpC;;IAGJ,KAAK,QAAL;MACE,IAA6B,KAA7B,EAA2C,aASkO;;EArEjR;;EA6EA,IAAkB,QAAdk1a,CAAJ,EACE,OAAOqD,CAAP;EAGF,IAAIO,IAAS5D,EAAWqD,CAAXrD,CAAb;EACA,YAAkBlpb,CAAlB,KAAO8sb,CAAP,GAA8BA,CAA9B,GAAuCP,CAAvC;AA2DF;;AAAA,IACIQ,EADJ;AAAA,IASIj5M,EATJ;AAAA,IAAIk5M,KAAe,gCAAnB;AAG6B,WAC3BD,CAD2B;;AAO7B,IAAIE,KAAkB,SAAlBA,EAAkB,CAAyB18a,CAAzB,EAA+B24a,CAA/B,EAA2CoD,CAA3C,EAA2CA;EAC/D,IAAoB,MAAhB/7a,EAAK9Q,MAAW,IAAwB,mBAAZ8Q,EAAK,CAALA,CAAZ,IAAgD,SAAZA,EAAK,CAALA,CAApC,IAAyC,KAAkCvQ,CAAlC,KAAeuQ,EAAK,CAALA,EAAQ6/F,MAApF,EACE,OAAO7/F,EAAK,CAALA,CAAP;EAGF,IAAI28a,KAAa,CAAjB;EAAA,IACI98U,IAAS,EADb;EAEA0jI,UAAS9zO,CAAT8zO;EACA,IA0BIq5M,CA1BJ;EAAA,IAAIC,IAAU78a,EAAK,CAALA,CAAd;EAEe,QAAX68a,CAAW,IAAXA,KAAmCptb,CAAnCotb,KAAmBA,EAAQrma,GAAhB,IACbmma,KAAa,CAAbA,EACA98U,KAAUi8U,GAAoBC,CAApBD,EAAiCnD,CAAjCmD,EAA6Ce,CAA7Cf,CAFG,KAIgB,UAC3Br4a,CAD2B,EAI7Bo8F,KAAUg9U,EAAQ,CAARA,CARG;;EAYf,KAAK,IAAI5tb,IAAI,CAAb,EAAgBA,IAAI+Q,EAAK9Q,MAAzB,EAAiCD,GAAjC;IACE4wG,KAAUi8U,GAAoBC,CAApBD,EAAiCnD,CAAjCmD,EAA6C97a,EAAK/Q,CAAL+Q,CAA7C87a,CAAVj8U,EAEI88U,MAC2B,UAC3Bl5a,CAD2B,EAI7Bo8F,KAAUg9U,EAAQ5tb,CAAR4tb,CALRF,CAFJ98U;EADF;;EAc6B,WAC3BA,CAD2B,GAQ7B48U,GAAa/6Z,SAAb+6Z,GAAyB,CARI;;EAY7B,KAHA,IACIv7a,CADJ,EAAI47a,IAAiB,EAGrB,EAA+C,UAAvC57a,IAAQu7a,GAAa38Z,IAAb28Z,CAAkB58U,CAAlB48U,CAA+B,CAA/C;IACEK,KAAkB,MAClB57a,EAAM,CAANA,CADA47a;EADF;;EAKA,IAAIjtb,IChSN,UAAiBpB,CAAjB,EAAiBA;IAYf,KANA,IAEIm4E,CAFJ,EAAIlrE,IAAI,CAAR,EAGIzM,IAAI,CAHR,EAII4hB,IAAMpiB,EAAIS,MAEd,EAAO2hB,KAAO,CAAd,EAAc,EAAK5hB,CAAL,EAAQ4hB,KAAO,CAA7B;MAEE+1D,IAEe,cAAV,SAHLA,IAAwB,MAApBn4E,EAAIkW,UAAJlW,CAAeQ,CAAfR,CAAoB,GAALQ,CAAmC,MAAtBR,EAAIkW,UAAJlW,CAAIkW,EAAa1V,CAAjBR,CAAbQ,KAA4C,CAAvC,GAAuC,CAA2B,MAAtBR,EAAIkW,UAAJlW,CAAIkW,EAAa1V,CAAjBR,CAAL,KAAoC,EAA3E,GAA2E,CAA4B,MAAtBA,EAAIkW,UAAJlW,CAAIkW,EAAa1V,CAAjBR,CAAN,KAAqC,EAGnI,CAAU,KAA2B,SAAZm4E,MAAM,EAAM,KAAU,EAArC,CAFfA,EAMAlrE,IAEe,cAAV,SALLkrE,KAEAA,MAAM,EAGD,CAAU,KAA2B,SAAZA,MAAM,EAAM,KAAU,EAArC,IAEA,cAAV,QAAJlrE,CAAc,KAA2B,SAAZA,MAAM,EAAM,KAAU,EAArC,CAVfkrE;IAFF;;IAgBA,QAAQ/1D,CAAR;MACE,KAAK,CAAL;QACEnV,MAA8B,MAAxBjN,EAAIkW,UAAJlW,CAAeQ,IAAI,CAAnBR,CAANiN,KAAuC,EAAvCA;;MAEF,KAAK,CAAL;QACEA,MAA8B,MAAxBjN,EAAIkW,UAAJlW,CAAeQ,IAAI,CAAnBR,CAANiN,KAAuC,CAAvCA;;MAEF,KAAK,CAAL;QAEEA,IAEe,cAAV,SAHLA,KAAyB,MAApBjN,EAAIkW,UAAJlW,CAAeQ,CAAfR,CAGA,CAAU,KAA2B,SAAZiN,MAAM,EAAM,KAAU,EAArC,CAFfA;IATJ;;IAoBA,UAHAA,IAEe,cAAV,SAHLA,KAAKA,MAAM,EAGN,CAAU,KAA2B,SAAZA,MAAM,EAAM,KAAU,EAArC,CACf,IAAaA,MAAM,EAAnB,MAA2B,CAA3B,EAA8B1D,QAA9B,CAAuC,EAAvC;EDgPW+kb,CChSb,CDgSwBl9U,CChSxB,IDgSkCi9U,CAAhC;;EAEA,OAA6B,SAEpB,CAFoB,GAatB;IACLjtb,MAAMA,CADD;IAELgwG,QAAQA,CAFH;IAGL/pF,MAAMytN;EAHD,CAbP;AAgBQA,CAvEV;AAAA,IEtOIh4M,KAAgC,sBAAbtqB,QFsOvB;AAAA,IErOIoD,KAAiBtG,OAAO9G,SAAP8G,CAAiBsG,cFqOtC;AAAA,IEnOI24a,KAAqCrka,uBAAAA,CAMlB,sBAAhB0kM,WAAgB,GAA6Bi6N,GAAY;EAC9Dhob,KAAK;AADyD,CAAZgob,CAA7B,GAElB,IARoC3+Z,CFmOzC;;AEzN6B,WAC3Bqka,CAD2B,GAITA,GAAoBhja,QAJX;;AAS7B,IAAIija,KAAmB,YAA0B9pa,CAA1B,EAA0BA;EAE/C,OAAoBilN,oBAAAA,CAAW,UAAU1lN,CAAV,EAAiByD,CAAjB,EAAiBA;IAE9C,IAAI6K,IAAQ7G,oBAAAA,CAAW6ia,EAAX7ia,CAAZ;IACA,OAAOhH,EAAKT,CAALS,EAAY6N,CAAZ7N,EAAmBgD,CAAnBhD,CAAP;EAA0BgD,CAHRiiN,CAApB;AAG4BjiN,CAL9B;;AASKoV,OACH0xZ,KAAmB,YAA0B9pa,CAA1B,EAA0BA;EAC3C,OAAO,UAAUT,CAAV,EAAUA;IACf,IAAIsO,IAAQ7G,oBAAAA,CAAW6ia,EAAX7ia,CAAZ;IAEA,OAAc,SAAV6G,CAAU,IAMZA,IAAQs2Z,GAAY;MAClBhob,KAAK;IADa,CAAZgob,CAARt2Z,EAGoBpf,uBAAAA,CAAco7a,GAAoBhja,QAAlCpY,EAA4C;MAC9D5R,OAAOgxB;IADuD,CAA5Cpf,EAEjBuR,EAAKT,CAALS,EAAY6N,CAAZ7N,CAFiBvR,CATR,IAaLuR,EAAKT,CAALS,EAAY6N,CAAZ7N,CAbT;EAaqB6N,CAhBvB;AAgBuBA,CAlBtBuK;AAwBL,IAAI2xZ,KAA8Bvka,uBAAAA,CAAc,EAAdA,CAAlC;AAE6B,WAC3Buka,CAD2B;;AA6D7B,IAIIC,KAAe,oCAJnB;AAAA,IAKIC,KAAgB,qCALpB;AAAA,IAMIC,KAAqB,SAArBA,EAAqB,CAA4Bhnb,CAA5B,EAAkCqc,CAAlC,EAAkCA;EACzD,IAA6B,KAA7B,EAEE;EAGF,IAAI4qa,IAAW,EAAf;;EAEA,KAAK,IAAIhub,CAAT,IAAgBojB,CAAhB;IACMrO,GAAelI,IAAfkI,CAAoBqO,CAApBrO,EAA2B/U,CAA3B+U,MACFi5a,EAAShub,CAATgub,IAAgB5qa,EAAMpjB,CAANojB,CADdrO;EADN;;EAQA,IAFAi5a,EAASH,EAATG,IAAyBjnb,CAAzBinb,EAE6B,iBAAzB5+a,YAAJ,EAA2C;IACzC,IAAI3D,IAAQ,IAAIiB,KAAJ,EAAZ;;IAEA,IAAIjB,EAAMmC,KAAV,EAAiB;MAEf,IAAIgE,IAAQnG,EAAMmC,KAANnC,CAAYmG,KAAZnG,CAAkB,iGAAlBA,CAAZ;MAEKmG,MAEHA,IAAQnG,EAAMmC,KAANnC,CAAYmG,KAAZnG,CAAkB,2BAAlBA,CAFLmG,GAKDA,MACFo8a,EAASF,EAATE,IAA6Cp8a,EAAM,CAANA,EAlCjCjG,OAkCiCiG,CAlCzB,KAkCyBA,EAlClB,GAkCkBA,CAD3CA,CALCA;IA5BwB;EAuCjC;;EAAA,OAAOo8a,CAAP;AAAOA,CAxCT;AAAA,IA0CIC,KAAyBN,GAAiB,UAAUvqa,CAAV,EAAiBsO,CAAjB,EAAwB7K,CAAxB,EAAwBA;EACpE,IAAIqna,IAAU9qa,EAAMiuM,GAApB;EAIuB,mBAAZ68N,CAAY,IAAZA,KAAsD/tb,CAAtD+tb,KAAwBx8Z,EAAM23Z,UAAN33Z,CAAiBw8Z,CAAjBx8Z,CAAZ,KACrBw8Z,IAAUx8Z,EAAM23Z,UAAN33Z,CAAiBw8Z,CAAjBx8Z,CADW;EAIvB,IAAI3qB,IAAOqc,EAAMyqa,EAANzqa,CAAX;EAAA,IACIwna,IAAmB,CAACsD,CAAD,CADvB;EAAA,IAEIvia,IAAY,EAFhB;EAI+B,mBAApBvI,EAAMuI,SAAc,GAC7BA,IAAYg/Z,GAAoBj5Z,EAAM23Z,UAA1BsB,EAAsCC,CAAtCD,EAAwDvna,EAAMuI,SAA9Dg/Z,CADiB,GAED,QAAnBvna,EAAMuI,SAAa,KAC5BA,IAAYvI,EAAMuI,SAANvI,GAAkB,GADF,CAFC;EAM/B,IAAI8pV,IAAakgF,GAAgBxC,CAAhBwC,EAAgBxC,KAAkBzqb,CAAlCitb,EAA6Cvia,oBAAAA,CAAW+ia,EAAX/ia,CAA7Cuia,CAAjB;;EAEA,IAA6B,KAA7B,EAAkF,UAQlF;;EAAA,IAAIlnN,IAAQ4kN,GAAap5Z,CAAbo5Z,EAAoB59E,CAApB49E,EAAgD,mBAAT/jb,CAAvC+jb,CAAZ;EACAn/Z,KAAa+F,EAAM1xB,GAAN0xB,GAAY,GAAZA,GAAkBw7U,EAAW3sW,IAA1CorB;EACA,IAAIqia,IAAW,EAAf;;EAEA,KAAK,IAAIhub,CAAT,IAAgBojB,CAAhB;IAAgBA,CACVrO,GAAelI,IAAfkI,CAAoBqO,CAApBrO,EAA2B/U,CAA3B+U,CADUqO,IACiC,UAARpjB,CADzBojB,IAC0CpjB,MAAQ6tb,EADlDzqa,IAC4F,UAAgBpjB,CAD5GojB,KAEZ4qa,EAAShub,CAATgub,IAAgB5qa,EAAMpjB,CAANojB,CAFJA;EAAhB;;EAMA4qa,EAASnna,GAATmna,GAAenna,CAAfmna,EACAA,EAASria,SAATqia,GAAqBria,CADrBqia;EAEA,IAAII,IAAmB97a,uBAAAA,CAAcvL,CAAduL,EAAoB07a,CAApB17a,CAAvB;;EAEA,KAAK2pB,EAAL,IAAKA,KAAuB97B,CAAvB87B,KAAaiqM,CAAlB,EAAuC;IAMrC,KALA,IAAIv8M,CAAJ,EAEI0ka,IAAkBnhF,EAAW3sW,IAFjC,EAGIimB,IAAO0mV,EAAW1mV,IAEtB,EAFsBA,KAENrmB,CAFMqmB,KAEfA,CAAP;MACE6na,KAAmB,MAAM7na,EAAKjmB,IAA9B8tb,EACA7na,IAAOA,EAAKA,IADZ6na;IADF;;IAKA,OAAoB/7a,uBAAAA,CAAcm1M,cAAdn1M,EAAwB,IAAxBA,EAA2CA,uBAAAA,CAAc,OAAdA,GAAc,CAAUqX,IAAO,EAAjB,EAA0B,cAA1B,IAA4C+H,EAAM1xB,GAAN0xB,GAAY,GAAZA,GAAkB28Z,CAA9D,EAA+E1ka,EAAKioK,uBAALjoK,GAA+B;MACzLs/K,QAAQi9B;IADiL,CAA9G,EAE1Ev8M,EAAKi9Z,KAALj9Z,GAAa+H,EAAMssR,KAANtsR,CAAYk1Z,KAFiD,EAE1Cj9Z,CAF4BrX,EAA3CA,EAEuB87a,CAFvB97a,CAApB;EAKF;;EAAA,OAAO87a,CAAP;AAAOA,CA3DoBT,CA1C7B;;AAwG6B,WAC3BM,CAD2B,GACL59R;ECvOxB,SAASg6F,CAAT,GAASA;IAgBP,OAfA5oP,YAAiB4oP,IAAW57O,OAAOuhB,MAAPvhB,IAAiB,UAAUT,CAAV,EAAUA;MACrD,KAAK,IAAIrO,IAAI,CAAb,EAAgBA,IAAIgR,UAAU/Q,MAA9B,EAAsCD,GAAtC,EAA2C;QACzC,IAAI+J,IAASiH,UAAUhR,CAAVgR,CAAb;;QAEA,KAAK,IAAI3Q,CAAT,IAAgB0J,CAAhB;UACM+E,OAAO9G,SAAP8G,CAAiBsG,cAAjBtG,CAAgC5B,IAAhC4B,CAAqC/E,CAArC+E,EAA6CzO,CAA7CyO,MACFT,EAAOhO,CAAPgO,IAActE,EAAO1J,CAAP0J,CADZ+E;QADN;MAOF;;MAAA,OAAOT,CAAP;IAAOA,CAXTvM,EAcAA,EAAO9C,OAAP8C,CAAwB+G,OAAxB/G,GAA4BA,EAAO9C,OAdnC8C,EAc4CA,wBAA4B,CAdxEA,EAeO4oP,EAASl/O,KAATk/O,CAAe10O,IAAf00O,EAAqB15O,SAArB05O,CAAP;EAGF5oP;;EAAAA,YAAiB4oP,CAAjB5oP,EACAA,EAAO9C,OAAP8C,CAAwB+G,OAAxB/G,GAA4BA,EAAO9C,OADnC8C,EAC4CA,wBAA4B,CADxEA;AACwE,CDmNhD,CADK;;AE1N7B,IA4EIwmO,KAAM,SAANA,EAAM,CAAalhO,CAAb,EAAmBqc,CAAnB,EAAmBA;EAC3B,IAAI1S,IAAOC,SAAX;EAEA,IAAa,QAATyS,CAAS,IAATA,CAAkBrO,GAAelI,IAAfkI,CAAoBqO,CAApBrO,EAA2B,KAA3BA,CAAtB,EAEE,OAAOzC,yBAAAA,CAAcnH,KAAMhL,CAApBmS,EAA+B5B,CAA/B4B,CAAP;EAGF,IAAIg8a,IAAa59a,EAAK9Q,MAAtB;EAAA,IACI2ub,IAAwB,IAAIrjb,KAAJ,CAAUojb,CAAV,CAD5B;EAEAC,EAAsB,CAAtBA,IAA2BN,EAA3BM,EACAA,EAAsB,CAAtBA,IAA2BR,GAAmBhnb,CAAnBgnb,EAAyB3qa,CAAzB2qa,CAD3BQ;;EAGA,KAAK,IAAI5ub,IAAI,CAAb,EAAgBA,IAAI2ub,CAApB,EAAgC3ub,GAAhC;IACE4ub,EAAsB5ub,CAAtB4ub,IAA2B79a,EAAK/Q,CAAL+Q,CAA3B69a;EADF;;EAKA,OAAOj8a,yBAAAA,CAAoB,IAApBA,EAA0Bi8a,CAA1Bj8a,CAAP;AAAiCi8a,CA9FnC;AAAA,IAiGIC,KAAAA,gDAAAA,CAA8B,CAjGlC;AAAA,IAqGIC,KAAwBd,GAAiB,UAAUvqa,CAAV,EAAiBsO,CAAjB,EAAiBA;EAC/B,UAK3Bvd,CAL2B;EAS7B,IAAIo8F,IAASntF,EAAMmtF,MAAnB;EAAA,IACI28P,IAAakgF,GAAgB,CAAC78U,CAAD,CAAhB68U,EAAiB78U,KAASpwG,CAA1Bitb,EAAqCvia,oBAAAA,CAAW+ia,EAAX/ia,CAArCuia,CADjB;;EAGA,KAAKsB,EAAL,EAAkB;IAOhB,KANA,IAAI/ka,CAAJ,EAEI0ka,IAAkBnhF,EAAW3sW,IAFjC,EAGIoub,IAAmBzhF,EAAW38P,MAHlC,EAII/pF,IAAO0mV,EAAW1mV,IAEtB,EAFsBA,KAENrmB,CAFMqmB,KAEfA,CAAP;MACE6na,KAAmB,MAAM7na,EAAKjmB,IAA9B8tb,EACAM,KAAoBnoa,EAAK+pF,MADzB89U,EAEA7na,IAAOA,EAAKA,IAFZ6na;IADF;;IAMA,IAAIrF,KAA+B,CAA/BA,KAAct3Z,EAAM61Z,MAAxB;IAAA,IACIrhN,IAAQx0M,EAAM+zH,MAAN/zH,CAAa,EAAbA,EAAiB;MAC3BnxB,MAAM8tb,CADqB;MAE3B99U,QAAQo+U;IAFmB,CAAjBj9Z,EAGTA,EAAMssR,KAHGtsR,EAGIs3Z,CAHJt3Z,CADZ;IAMA,OAAIs3Z,IACK,IADLA,GAIgB12a,uBAAAA,CAAc,OAAdA,GAAc,CAAUqX,IAAO,EAAjB,EAA0B,cAA1B,IAA4C+H,EAAM1xB,GAAN0xB,GAAY,UAAZA,GAAyB28Z,CAArE,EAAsF1ka,EAAKioK,uBAALjoK,GAA+B;MACrJs/K,QAAQi9B;IAD6I,CAArH,EAE/Bv8M,EAAKi9Z,KAALj9Z,GAAa+H,EAAMssR,KAANtsR,CAAYk1Z,KAFM,EAECj9Z,CAFfrX,EAJpB;EAaF;;EAAA,IAAIs8a,IAAW9na,gBAAAA,EAAf;EAqDA,OApDAyG,yBAAAA,CAAgB;IACd,IAAIvtB,IAAM0xB,EAAM1xB,GAAN0xB,GAAY,SAAtB;IAAA,IACIssR,IAAQ,IAAIuoI,UAAJ,CAAe;MACzBvmb,KAAKA,CADoB;MAEzB4mb,OAAOl1Z,EAAMssR,KAANtsR,CAAYk1Z,KAFM;MAGzBhua,WAAW8Y,EAAMssR,KAANtsR,CAAY9Y,SAHE;MAIzB8ta,QAAQh1Z,EAAMssR,KAANtsR,CAAY+0Z;IAJK,CAAf,CADZ;IAAA,IAOIoI,KAAc,CAPlB;IAAA,IASIxqa,IAAO1S,SAAS87J,aAAT97J,CAAuB,yBAA0B3R,CAA1B,GAAgC,GAAhC,GAAsCktW,EAAW3sW,IAAjD,GAAwD,IAA/EoR,CATX;IAuBA,OAZI+f,EAAMssR,KAANtsR,CAAYu3B,IAAZv3B,CAAiB9xB,MAAjB8xB,KACFssR,EAAMl2J,MAANk2J,GAAetsR,EAAMssR,KAANtsR,CAAYu3B,IAAZv3B,CAAiB,CAAjBA,CADbA,GAIS,SAATrN,CAAS,KACXwqa,KAAc,CAAdA,EAEAxqa,EAAK3R,YAAL2R,CAAkB,cAAlBA,EAAkCrkB,CAAlCqkB,CAFAwqa,EAGA7wI,EAAMv5F,OAANu5F,CAAc,CAAC35R,CAAD,CAAd25R,CAJW,CAJTtsR,EAWJk9Z,EAAS5na,OAAT4na,GAAmB,CAAC5wI,CAAD,EAAQ6wI,CAAR,CAXfn9Z,EAYG;MACLssR,EAAMzS,KAANyS;IAAMzS,CADR;EACQA,CAzBVh+Q,EA2BG,CAACmE,CAAD,CA3BHnE,GA4BAA,yBAAAA,CAAgB;IACd,IAAIuha,IAAkBF,EAAS5na,OAA/B;IAAA,IACIg3R,IAAQ8wI,EAAgB,CAAhBA,CADZ;IAIA,IAFkBA,EAAgB,CAAhBA,CAElB,EACEA,EAAgB,CAAhBA,IAAgB,CAAK,CAArBA,CADF;MAUA,SALwB3ub,CAKxB,KALI+sW,EAAW1mV,IAKf,IAHEska,GAAap5Z,CAAbo5Z,EAAoB59E,EAAW1mV,IAA/Bska,EAA+Btka,CAAM,CAArCska,CAGF,EAAI9sI,EAAM/0P,IAAN+0P,CAAWp+S,MAAf,EAAuB;QAErB,IAAIskB,IAAU85R,EAAM/0P,IAAN+0P,CAAWA,EAAM/0P,IAAN+0P,CAAWp+S,MAAXo+S,GAAoB,CAA/BA,EAAkCvsB,kBAAhD;QACAusB,EAAMl2J,MAANk2J,GAAe95R,CAAf85R,EACAA,EAAMzS,KAANyS,EADAA;MAIFtsR;;MAAAA,EAAM+zH,MAAN/zH,CAAa,EAAbA,EAAiBw7U,CAAjBx7U,EAA6BssR,CAA7BtsR,EAA6BssR,CAAO,CAApCtsR;IAAoC;EAAA,CAtBtCnE,EAuBG,CAACmE,CAAD,EAAQw7U,EAAW3sW,IAAnB,CAvBHgtB,CA5BAA,EAoDO,IAAP;AAAO,CAlGmBoga,CArG5B;;AA8MA,SAASt8N,EAAT,GAASA;EACP,KAAK,IAAInuC,IAAOvyK,UAAU/Q,MAArB,EAA6B8Q,IAAO,IAAIxF,KAAJ,CAAUg4K,CAAV,CAApC,EAAqDC,IAAO,CAAjE,EAAoEA,IAAOD,CAA3E,EAAiFC,GAAjF;IACEzyK,EAAKyyK,CAALzyK,IAAaC,UAAUwyK,CAAVxyK,CAAbD;EADF;;EAIA,OAAO08a,GAAgB18a,CAAhB08a,CAAP;AAT2B;;AAAA,WAC3BqB,CAD2B;;AAY7B,IAcIM,KAAa,SAASA,CAAT,CAAoBr+a,CAApB,EAAoBA;EAKnC,KAJA,IAAI6Q,IAAM7Q,EAAK9Q,MAAf,EACID,IAAI,CADR,EAEI4/R,IAAM,EAEV,EAAO5/R,IAAI4hB,CAAX,EAAgB5hB,GAAhB,EAAqB;IACnB,IAAI29B,IAAM5sB,EAAK/Q,CAAL+Q,CAAV;;IACA,IAAW,QAAP4sB,CAAJ;MACA,IAAI0xZ,SAAQ,CAAZ;;MAEA,eAAe1xZ,CAAf;QACE,KAAK,SAAL;UACE;;QAEF,KAAK,QAAL;UAEI,IAAIpyB,MAAMgD,OAANhD,CAAcoyB,CAAdpyB,CAAJ,EACE8jb,IAAQD,EAAWzxZ,CAAXyxZ,CAARC,CADF,KASE,KAAK,IAAI13W,CAAT,IAN6B,UAC3BnjE,CAD2B,EAI7B66a,IAAQ,EAJqB,EAMf1xZ,CAAd;YACMA,EAAIg6C,CAAJh6C,KAAUg6C,CAAVh6C,KACF0xZ,MAAUA,KAAS,GAAnBA,GACAA,KAAS13W,CAFPh6C;UADN;UAQF;;QAGJ;UAEI0xZ,IAAQ1xZ,CAAR0xZ;MA5BN;;MAgCIA,MACFzvJ,MAAQA,KAAO,GAAfA,GACAA,KAAOyvJ,CAFLA;IAEKA;EAIX;;EAAA,OAAOzvJ,CAAP;AAAOA,CA9DT;;AAiEA,SAASxyR,EAAT,CAAes8a,CAAf,EAA2Bh4N,CAA3B,EAAgC1lM,CAAhC,EAAgCA;EAC9B,IAAIi/Z,IAAmB,EAAvB;EAAA,IACIC,IAAeF,GAAoBtB,CAApBsB,EAAgCC,CAAhCD,EAAkDh/Z,CAAlDg/Z,CADnB;EAGA,OAAIC,EAAiBhrb,MAAjBgrb,GAA0B,CAA1BA,GACKj/Z,CADLi/Z,GAIGC,IAAex5N,EAAIu5N,CAAJv5N,CAJtB;AAOF;;AAAA,IAAI49N,KAA4BtB,GAAiB,UAAUvqa,CAAV,EAAiBsO,CAAjB,EAAiBA;EAChE,IAqDM/H,CArDN;EAAA,IAAIu8M,IAAQ,EAAZ;EAAA,IACIgpN,IAAmB,EADvB;EAAA,IAEIC,KAAc,CAFlB;EAAA,IAII99N,IAAM,SAANA,CAAM;IACR,IAAI89N,KAAwC,iBAAzB//a,YAAnB,EACE;;IAGF,KAAK,IAAI8zK,IAAOvyK,UAAU/Q,MAArB,EAA6B8Q,IAAO,IAAIxF,KAAJ,CAAUg4K,CAAV,CAApC,EAAqDC,IAAO,CAAjE,EAAoEA,IAAOD,CAA3E,EAAiFC,GAAjF;MACEzyK,EAAKyyK,CAALzyK,IAAaC,UAAUwyK,CAAVxyK,CAAbD;IADF;;IAIA,IAAIw8V,IAAakgF,GAAgB18a,CAAhB08a,EAAsB17Z,EAAM23Z,UAA5B+D,CAAjB;IAEA,IAAIsB,EAAJ,EACE5D,GAAap5Z,CAAbo5Z,EAAoB59E,CAApB49E,EAAoB59E,CAAY,CAAhC49E,EADF,KAEO;MACL,IAAIlpZ,IAAMkpZ,GAAap5Z,CAAbo5Z,EAAoB59E,CAApB49E,EAAoB59E,CAAY,CAAhC49E,CAAV;MAA0C,KAE9B3qb,CAF8B,KAEtCyhC,CAFsC,KAGxCskM,KAAStkM,CAH+B;IAW5C;IAAA,OAJK8sZ,OACHQ,KAAoB,MAAMhiF,EAAW3sW,IADlCmub,GAIEh9Z,EAAM1xB,GAAN0xB,GAAY,GAAZA,GAAkBw7U,EAAW3sW,IAApC;EAAoCA,CA7BtC;EAAA,IA4CI6U,IAAU;IACZi8M,KAAKA,CADO;IAEZlmH,IAdO;MACP,IAAIgkV,KAAwC,iBAAzB//a,YAAnB,EACE;;MAGF,KAAK,IAAIggb,IAAQz+a,UAAU/Q,MAAtB,EAA8B8Q,IAAO,IAAIxF,KAAJ,CAAUkkb,CAAV,CAArC,EAAuDC,IAAQ,CAApE,EAAuEA,IAAQD,CAA/E,EAAsFC,GAAtF;QACE3+a,EAAK2+a,CAAL3+a,IAAcC,UAAU0+a,CAAV1+a,CAAdD;MADF;;MAIA,OAAO3D,GAAM2kB,EAAM23Z,UAAZt8a,EAAwBskN,CAAxBtkN,EAA6Bgib,GAAWr+a,CAAXq+a,CAA7Bhib,CAAP;IAA+C2D,CAGnC;IAGZ4+a,OAAOzka,oBAAAA,CAAW+ia,EAAX/ia;EAHK,CA5Cd;EAAA,IAiDIuja,IAAMhra,EAAMyG,QAANzG,CAAehO,CAAfgO,CAjDV;;EAoDA,OAFA+ra,KAAc,CAAdA,EAEKT,MAAgC,MAAjBxoN,EAAMtmO,MAArB8ub,GAQEN,CARFM,GAGiBp8a,uBAAAA,CAAcm1M,cAAdn1M,EAAwB,IAAxBA,EAA2CA,uBAAAA,CAAc,OAAdA,GAAc,CAAUqX,IAAO,EAAjB,EAA0B,cAA1B,IAA4C+H,EAAM1xB,GAAN0xB,GAAY,GAAZA,GAAkBw9Z,EAAiBjvb,SAAjBivb,CAA2B,CAA3BA,CAA9D,EAA6Fvla,EAAKioK,uBAALjoK,GAA+B;IACvMs/K,QAAQi9B;EAD+L,CAA5H,EAE1Ev8M,EAAKi9Z,KAALj9Z,GAAa+H,EAAMssR,KAANtsR,CAAYk1Z,KAFiD,EAE1Cj9Z,CAF4BrX,EAA3CA,EAEuB87a,CAFvB97a,CAHtB;AAK6C87a,CA1DfT,CAAhC;;AAoEA,IAJ6B,WAC3BsB,CAD2B,GAIA,iBAAzB7/a,YAAJ,EAA2C;EACzC,IAAI6sB,KAAgC,sBAAbtqB,QAAvB;EAAA,IAEI49a,KAAyB,sBAATC,IAFpB;;EAIA,IAAIvzZ,OAAcszZ,EAAlB,EAA0B;IACxB,IAAIE,KAAgBxzZ,KAAY9oB,MAAZ8oB,GAAqBxZ,qBAAzC;IAAA,IACIita,KAAY,qBA3WV,SA2W2Cjwb,KA3W3C,CA2WiD,GA3WjD,EA2WsD,CA3WtD,CA2WU,GAAiD,IADjE;IAGIgwb,GAAcC,EAAdD,KACFt7a,QAAQC,IAARD,CAAa,6MAAbA,CADEs7a,EAIJA,GAAcC,EAAdD,IAAcC,CAAa,CAJvBD;EAIuB;AC/XhB;;AAAA,SAAShqa,EAAT,CAAiBnmB,CAAjB,EAAiBA;EAa9B,QATEmmB,KADoB,qBAAXjP,MAAW,IAAyC,mBAApBA,OAAOkP,QAA5B,GACV,UAAiBpmB,CAAjB,EAAiBA;IACzB,cAAcA,CAAd;EAAcA,CAFI,GAKV,UAAiBA,CAAjB,EAAiBA;IACzB,OAAOA,KAAyB,qBAAXkX,MAAdlX,IAAuCA,EAAIkV,WAAJlV,KAAoBkX,MAA3DlX,IAAqEA,MAAQkX,OAAO7O,SAApFrI,GAAgG,QAAhGA,GAAgG,OAAkBA,CAAzH;EAAyHA,CAI7H,EAAeA,CAAf;AAAeA;;;;;;;;ACLjB,IAAI0lB,KAAwBvW,OAAOuW,qBAAnC;AAAA,IACIjQ,KAAiBtG,OAAO9G,SAAP8G,CAAiBsG,cADtC;AAAA,IAEI46a,KAAmBlhb,OAAO9G,SAAP8G,CAAiBgzD,oBAFxC;;AAIA,SAASmuX,EAAT,CAAkBxvb,CAAlB,EAAkBA;EACjB,IAAIA,SAAJ,EACC,MAAM,IAAIf,SAAJ,CAAc,uDAAd,CAAN;EAGD,OAAOoP,OAAOrO,CAAPqO,CAAP;AA+CD;;AAAA,SA5CA;EACC;IACC,KAAKA,OAAOuhB,MAAZ,EACC,QAAO,CAAP;IAMD,IAAI+xM,IAAQ,IAAIpgN,MAAJ,CAAW,KAAX,CAAZ;IAEA,IADAogN,EAAM,CAANA,IAAW,IAAXA,EAC6C,QAAzCtzN,OAAOyjB,mBAAPzjB,CAA2BszN,CAA3BtzN,EAAkC,CAAlCA,CAAJ,EACC,QAAO,CAAP;;IAKD,KADA,IAAIuzN,IAAQ,EAAZ,EACSriO,IAAI,CAAb,EAAgBA,IAAI,EAApB,EAAwBA,GAAxB;MACCqiO,EAAM,MAAMrgN,OAAOC,YAAPD,CAAoBhiB,CAApBgiB,CAAZqgN,IAAsCriO,CAAtCqiO;IADD;;IAMA,IAAwB,iBAHXvzN,OAAOyjB,mBAAPzjB,CAA2BuzN,CAA3BvzN,EAAkCqN,GAAlCrN,CAAsC,UAAUqI,CAAV,EAAUA;MAC5D,OAAOkrN,EAAMlrN,CAANkrN,CAAP;IAAalrN,CADDrI,EAGFyC,IAHEzC,CAGG,EAHHA,CAGb,EACC,QAAO,CAAP;IAID,IAAIwzN,IAAQ,EAAZ;IAIA,OAHA,uBAAuBxiO,KAAvB,CAA6B,EAA7B,EAAiC8G,OAAjC,CAAyC,UAAUk2a,CAAV,EAAUA;MAClDx6M,EAAMw6M,CAANx6M,IAAgBw6M,CAAhBx6M;IAAgBw6M,CADjB,GAIE,2BADEhua,OAAOC,IAAPD,CAAYA,OAAOuhB,MAAPvhB,CAAc,EAAdA,EAAkBwzN,CAAlBxzN,CAAZA,EAAsCyC,IAAtCzC,CAA2C,EAA3CA,CAAJ;EAMC,CArCF,CAqCE,OAAOvJ,CAAP,EAAOA;IAER,QAAO,CAAP;EAAO;AAIQ2qb,CA5CjB,KA4CqCphb,OAAOuhB,MA5C5C,GA4CqD,UAAUhiB,CAAV,EAAkBtE,CAAlB,EAAkBA;EAKtE,KAJA,IAAImU,CAAJ,EAEIoH,CAFJ,EACIisE,IAAK0+V,GAAS5hb,CAAT4hb,CADT,EAIS14a,IAAI,CAAb,EAAgBA,IAAIvG,UAAU/Q,MAA9B,EAAsCsX,GAAtC,EAA2C;IAG1C,KAAK,IAAIlX,CAAT,IAFA6d,IAAOpP,OAAOkC,UAAUuG,CAAVvG,CAAPlC,CAEP;MACKsG,GAAelI,IAAfkI,CAAoB8I,CAApB9I,EAA0B/U,CAA1B+U,MACHm8E,EAAGlxF,CAAHkxF,IAAUrzE,EAAK7d,CAAL6d,CADP9I;IADL;;IAMA,IAAIiQ,EAAJ,EAA2B;MAC1BC,IAAUD,GAAsBnH,CAAtBmH,CAAVC;;MACA,KAAK,IAAItlB,IAAI,CAAb,EAAgBA,IAAIslB,EAAQrlB,MAA5B,EAAoCD,GAApC;QACKgwb,GAAiB9ib,IAAjB8ib,CAAsB9xa,CAAtB8xa,EAA4B1qa,EAAQtlB,CAARslB,CAA5B0qa,MACHz+V,EAAGjsE,EAAQtlB,CAARslB,CAAHisE,IAAiBrzE,EAAKoH,EAAQtlB,CAARslB,CAALpH,CADd8xa;MADL;IAEgChwb;EAMlC;;EAAA,OAAOuxF,CAAP;AAAOA,CAxBR;AAAA,IAwBQA,KC/EmB,8CDuD3B;AAAA,IEvDIgxI,KAAe,gBFuDnB;;AErDA,IAA6B,KAA7B,EAA2C,mBA8B3C;;AAAA,SAASv9M,EAAT,CAAwBmra,CAAxB,EAAmCl6X,CAAnC,EAA2CxiD,CAA3C,EAAqDkQ,CAArD,EAAoEysa,CAApE,EAAoEA;EAClE,IAA6B,KAA7B,EACE;AAoDJpra;;AAAAA,GAAe1B,iBAAf0B,GAAmC;EACJ,WAC3By9M,CAD2B;AACN,CAFzBz9M;;AAMA,kBAAiBA,gDAAAA,EAAjB;AAAA,ICtFI+vC,WAAAA,GAAMrc,SAASxrC,IAATwrC,CAAcjxC,IAAdixC,CAAmB5pC,OAAO9G,SAAP8G,CAAiBsG,cAApCsjC,CDsFV;AAAA,ICrFI6pL,WAAAA,GAAe,gBDqFnB;;ACpEA,SAAS8tN,WAAT,GAASA;EACP,OAAO,IAAP;AAhB2B;;AAAA,WAC3B9tN,CAD2B;;AAmB7B,kBAAiB,SAAjB7yG,EAAiB,CAAS05G,CAAT,EAAyBtgF,CAAzB,EAAyBA;EAExC,IAAIwnS,IAAoC,qBAAXz5a,MAAW,IAAcA,OAAOkP,QAA7D;EAuEA,IAAIwqa,IAAY,eAAhB;EAAA,IAIIxsa,IAAiB;IACnBC,OAAOwsa,EAA2B,OAA3BA,CADY;IAEnBvsa,MAAMusa,EAA2B,SAA3BA,CAFa;IAGnBtsa,MAAMssa,EAA2B,UAA3BA,CAHa;IAInB3ib,QAAQ2ib,EAA2B,QAA3BA,CAJW;IAKnBp5a,QAAQo5a,EAA2B,QAA3BA,CALW;IAMnBrsa,QAAQqsa,EAA2B,QAA3BA,CANW;IAOnBpsa,QAAQosa,EAA2B,QAA3BA,CAPW;IASnBnsa,KAyHOosa,EAA2BJ,WAA3BI,CAlIY;IAUnBnsa,SA2HF,iBAAkCosa,CAAlC,EAAkCA;MAkBhC,OAAOD,EAjBP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,IAA2B,qBAAhB8sa,CAAX,EACE,OAAO,IAAIhuN,CAAJ,CAAkB,eAAe9+M,CAAf,GAA8B,kBAA9B,GAAmDD,CAAnD,GAAmE,iDAArF,CAAP;QAEF,IAAIgta,IAAYlta,EAAMC,CAAND,CAAhB;QACA,KAAKlY,MAAMgD,OAANhD,CAAcolb,CAAdplb,CAAL,EAEE,OAAO,IAAIm3N,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,mBADVgta,EAAYD,CAAZC,CACU,GAA+E,iBAA/E,GAAmGjta,CAAnG,GAAmH,uBAArI,CAAP;;QAEF,KAAK,IAAI3jB,IAAI,CAAb,EAAgBA,IAAI2wb,EAAU1wb,MAA9B,EAAsCD,GAAtC,EAA2C;UACzC,IAAI8L,IAAQ4kb,EAAYC,CAAZD,EAAuB1wb,CAAvB0wb,EAA0B/sa,CAA1B+sa,EAAyCj9a,CAAzCi9a,EAAmD9sa,IAAe,GAAfA,GAAqB5jB,CAArB4jB,GAAyB,GAA5E8sa,EAAiFxta,EAAjFwta,CAAZ;UACA,IAAI5kb,aAAiBiB,KAArB,EACE,OAAOjB,CAAP;QAGJ;;QAAA,OAAO,IAAP;MAAO,CAEF2kb,CAAP;IAFS,CArJU;IAWnBlsa,SAwJOksa,EARP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;MAC1D,IAAI+sa,IAAYlta,EAAMC,CAAND,CAAhB;MACA,OAAK2lN,EAAeunN,CAAfvnN,IAIE,IAJFA,GAEI,IAAI1G,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,mBADVgta,EAAYD,CAAZC,CACU,GAA+E,iBAA/E,GAAmGjta,CAAnG,GAAmH,oCAArI,CAFT;IAE8I,CAIzI8sa,CAnKY;IAYnBjsa,aAmKOisa,EARP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;MAC1D,IAAI+sa,IAAYlta,EAAMC,CAAND,CAAhB;MACA,OAAKolI,GAAQkgE,kBAARlgE,CAA2B8nS,CAA3B9nS,IAIE,IAJFA,GAEI,IAAI65E,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,mBADVgta,EAAYD,CAAZC,CACU,GAA+E,iBAA/E,GAAmGjta,CAAnG,GAAmH,yCAArI,CAFT;IAE8I,CAIzI8sa,CA/KY;IAanBhsa,YAqKF,oBAAmCosa,CAAnC,EAAmCA;MASjC,OAAOJ,EARP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,MAAMH,EAAMC,CAAND,aAA2Bota,CAAjC,GAAiD;UAC/C,IAAIC,IAAoBD,EAAcjwb,IAAdiwb,IAAsBN,CAA9C;UAEA,OAAO,IAAI7tN,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,sBAyRT+sa,IA1RmBlta,EAAMC,CAAND,CACV,EA0Rd5O,WA1Rc,IA0RE87a,EAAU97a,WAAV87a,CAAsB/vb,IA1RxB,GA6RtB+vb,EAAU97a,WAAV87a,CAAsB/vb,IA7RA,GA2RpB2vb,CA3RoB,IAAsF,iBAAtF,IAA0G5sa,CAA1G,iCAA+Jmta,CAA/J,GAAmL,IAArM,CAAP;QAyRN;;QAAA,IAAsBH,CAAtB;QAvRI,OAAO,IAAP;MAAO,CAEFF,CAAP;IAFS,CAzLU;IAcnB/ra,MA+QO+ra,EANP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;MAC1D,OAAK69T,EAAOh+T,EAAMC,CAAND,CAAPg+T,IAGE,IAHFA,GACI,IAAI/+G,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,uBAAwED,CAAxE,GAAwF,0BAA1G,CADT;IACmH,CAI9G8sa,CA7RY;IAenB9ra,UAkNF,kBAAmC+ra,CAAnC,EAAmCA;MAoBjC,OAAOD,EAnBP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,IAA2B,qBAAhB8sa,CAAX,EACE,OAAO,IAAIhuN,CAAJ,CAAkB,eAAe9+M,CAAf,GAA8B,kBAA9B,GAAmDD,CAAnD,GAAmE,kDAArF,CAAP;QAEF,IAAIgta,IAAYlta,EAAMC,CAAND,CAAhB;QAAA,IACImtE,IAAWggW,EAAYD,CAAZC,CADf;QAEA,IAAiB,aAAbhgW,CAAJ,EACE,OAAO,IAAI8xI,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,mBAAoEgtE,CAApE,GAA+E,iBAA/E,GAAmGjtE,CAAnG,GAAmH,wBAArI,CAAP;;QAEF,KAAK,IAAItjB,CAAT,IAAgBswb,CAAhB;UACE,IAAI57X,WAAAA,CAAI47X,CAAJ57X,EAAe10D,CAAf00D,CAAJ,EAAyB;YACvB,IAAIjpD,IAAQ4kb,EAAYC,CAAZD,EAAuBrwb,CAAvBqwb,EAA4B/sa,CAA5B+sa,EAA2Cj9a,CAA3Ci9a,EAAqD9sa,IAAe,GAAfA,GAAqBvjB,CAA1Eqwb,EAA+Exta,EAA/Ewta,CAAZ;YACA,IAAI5kb,aAAiBiB,KAArB,EACE,OAAOjB,CAAP;UAIN;QARA;;QAQA,OAAO,IAAP;MAAO,CAEF2kb,CAAP;IAFS,CAnPU;IAgBnB7ra,OA8KF,eAA+Bmsa,CAA/B,EAA+BA;MAC7B,KAAKxlb,MAAMgD,OAANhD,CAAcwlb,CAAdxlb,CAAL,EAWE,OAV6B,UAEzBg3N,CAFyB,EAUtB8tN,WAAP;;MAGF,SAASzoY,CAAT,CAAkBnkC,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAE1D,KADA,IAAI+sa,IAAYlta,EAAMC,CAAND,CAAhB,EACSzjB,IAAI,CAAb,EAAgBA,IAAI+wb,EAAe9wb,MAAnC,EAA2CD,GAA3C;UACE,IAAIy8B,EAAGk0Z,CAAHl0Z,EAAcs0Z,EAAe/wb,CAAf+wb,CAAdt0Z,CAAJ,EACE,OAAO,IAAP;QAFJ;;QAMA,IAAIu0Z,IAAejhb,KAAKC,SAALD,CAAeghb,CAAfhhb,EAA+B,UAAkB1P,CAAlB,EAAuBU,CAAvB,EAAuBA;UAEvE,OAAa,aADFkwb,EAAelwb,CAAfkwb,CACE,GACJjva,OAAOjhB,CAAPihB,CADI,GAGNjhB,CAHP;QAGOA,CALUgP,CAAnB;QAOA,OAAO,IAAI2yN,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,GAA8C,cAA9C,GAA+D5B,OAAO2ua,CAAP3ua,CAA/D,uBAA6G2B,CAA7G,GAA6H,qBAA7H,GAAqJqta,CAArJ,GAAoK,GAAtL,CAAP;MAEF;;MAAA,OAAOP,EAA2B7oY,CAA3B6oY,CAAP;IAAkC7oY,CA9Nf;IAiBnB/iC,WAuOF,mBAAgCqsa,CAAhC,EAAgCA;MAC9B,KAAK3lb,MAAMgD,OAANhD,CAAc2lb,CAAd3lb,CAAL,EAEE,OADyB,UAAeg3N,CAAf,EAClB8tN,WAAP;;MAGF,KAAK,IAAIrwb,IAAI,CAAb,EAAgBA,IAAIkxb,EAAoBjxb,MAAxC,EAAgDD,GAAhD,EAAqD;QACnD,IAAImxb,IAAUD,EAAoBlxb,CAApBkxb,CAAd;QACA,IAAuB,qBAAZC,CAAX,EAKE,OAJA5uN,WAAAA,CACE,gGACcQ,EAAyBouN,CAAzBpuN,CADd,GACkD,YADlD,GACiE/iO,CADjE,GACqE,GAFvEuiO,GAIO8tN,WAAP;MAcJ;;MAAA,OAAOI,EAVP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,KAAK,IAAI5jB,IAAI,CAAb,EAAgBA,IAAIkxb,EAAoBjxb,MAAxC,EAAgDD,GAAhD;UAEE,IAA6F,SAAzFmxb,GADUD,EAAoBlxb,CAApBkxb,CAC+E,EAAjFzta,CAAiF,EAA1EC,CAA0E,EAAhEC,CAAgE,EAAjDlQ,CAAiD,EAAvCmQ,CAAuC,EAAzBV,EAAyB,CAA7F,EACE,OAAO,IAAP;QAHJ;;QAOA,OAAO,IAAIw/M,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,uBAAwED,CAAxE,GAAwF,IAA1G,CAAP;MAAiH,CAE5G8sa,CAAP;IAFmH,CAjRhG;IAkBnB3ra,OA8QF,eAAgCm+M,CAAhC,EAAgCA;MAmB9B,OAAOwtN,EAlBP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,IAAI+sa,IAAYlta,EAAMC,CAAND,CAAhB;QAAA,IACImtE,IAAWggW,EAAYD,CAAZC,CADf;QAEA,IAAiB,aAAbhgW,CAAJ,EACE,OAAO,IAAI8xI,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,GAA8C,aAA9C,GAA8DgtE,CAA9D,uBAAmGjtE,CAAnG,GAAmH,uBAArI,CAAP;;QAEF,KAAK,IAAItjB,CAAT,IAAgB4iO,CAAhB,EAA4B;UAC1B,IAAIkuN,IAAUluN,EAAW5iO,CAAX4iO,CAAd;;UACA,IAAKkuN,CAAL;YAGA,IAAIrlb,IAAQqlb,EAAQR,CAARQ,EAAmB9wb,CAAnB8wb,EAAwBxta,CAAxBwta,EAAuC19a,CAAvC09a,EAAiDvta,IAAe,GAAfA,GAAqBvjB,CAAtE8wb,EAA2Ejua,EAA3Eiua,CAAZ;YACA,IAAIrlb,CAAJ,EACE,OAAOA,CAAP;UAAOA;QAGX;;QAAA,OAAO,IAAP;MAAO,CAEF2kb,CAAP;IAFS,CAjTU;IAmBnB1ra,OAmSF,eAAsCk+M,CAAtC,EAAsCA;MA2BpC,OAAOwtN,EA1BP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA4DA;QAC1D,IAAI+sa,IAAYlta,EAAMC,CAAND,CAAhB;QAAA,IACImtE,IAAWggW,EAAYD,CAAZC,CADf;QAEA,IAAiB,aAAbhgW,CAAJ,EACE,OAAO,IAAI8xI,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,GAA8C,aAA9C,GAA8DgtE,CAA9D,uBAAmGjtE,CAAnG,GAAmH,uBAArI,CAAP;QAIF,IAAI8E,IAAU4H,GAAO,EAAPA,EAAW5M,EAAMC,CAAND,CAAX4M,EAA4B4yM,CAA5B5yM,CAAd;;QACA,KAAK,IAAIhwB,CAAT,IAAgBooB,CAAhB,EAAyB;UACvB,IAAI0oa,IAAUluN,EAAW5iO,CAAX4iO,CAAd;UACA,KAAKkuN,CAAL,EACE,OAAO,IAAIzuN,CAAJ,CACL,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,GAA8C,SAA9C,GAA0DvjB,CAA1D,GAAgE,iBAAhE,GAAoFsjB,CAApF,wBACmB5T,KAAKC,SAALD,CAAe0T,EAAMC,CAAND,CAAf1T,EAAgC,IAAhCA,EAAsC,IAAtCA,CADnB,GAEA,gBAFA,GAEoBA,KAAKC,SAALD,CAAejB,OAAOC,IAAPD,CAAYm0N,CAAZn0N,CAAfiB,EAAwC,IAAxCA,EAA8C,IAA9CA,CAHf,CAAP;UAMF,IAAIjE,IAAQqlb,EAAQR,CAARQ,EAAmB9wb,CAAnB8wb,EAAwBxta,CAAxBwta,EAAuC19a,CAAvC09a,EAAiDvta,IAAe,GAAfA,GAAqBvjB,CAAtE8wb,EAA2Ejua,EAA3Eiua,CAAZ;UACA,IAAIrlb,CAAJ,EACE,OAAOA,CAAP;QAGJ;;QAAA,OAAO,IAAP;MAAO,CAGF2kb,CAAP;IAHS;EA9UU,CAJrB;;EA+BA,SAASh0Z,CAAT,CAAYwC,CAAZ,EAAeC,CAAf,EAAeA;IAEb,OAAID,MAAMC,CAAND,GAGW,MAANA,CAAM,IAAK,IAAIA,CAAJ,IAAU,IAAIC,CAH9BD,GAMKA,KAAMA,CAANA,IAAWC,KAAMA,CAN1B;EAkBF;;EAAA,SAASwjM,CAAT,CAAuB55N,CAAvB,EAAuBA;IACrBkN,KAAKlN,OAALkN,GAAelN,CAAfkN,EACAA,KAAK/H,KAAL+H,GAAa,EADbA;EAMF;;EAAA,SAASy6a,CAAT,CAAoC7oY,CAApC,EAAoCA;IAClC,IAA6B,KAA7B,EACE;;IAGF,SAASwpY,CAAT,CAAmBvta,CAAnB,EAA+BJ,CAA/B,EAAsCC,CAAtC,EAAgDC,CAAhD,EAA+DlQ,CAA/D,EAAyEmQ,CAAzE,EAAuFpH,CAAvF,EAAuFA;MAIrF,IAHAmH,IAAgBA,KAAiB4sa,CAAjC5sa,EACAC,IAAeA,KAAgBF,CAD/BC,EAGInH,MAAW0G,EAAf,EAAqC;QACnC,IAAI4lI,CAAJ,EAAyB;UAEvB,IAAIvjJ,IAAM,IAAIwH,KAAJ,CACR,mLADQ,CAAV;UAMA,MADAxH,EAAI3E,IAAJ2E,GAAW,qBAAXA,EACMA,CAAN;QACK;;QAAA,IAA6B,KAA7B,EAA6E,UAgBhFo9N;MAIN;;MAAA,OAAuB,QAAnBl/M,EAAMC,CAAND,CAAmB,GACjBI,IACsB,SAApBJ,EAAMC,CAAND,CAAoB,GACf,IAAIi/M,CAAJ,CAAkB,SAASjvN,CAAT,GAAoB,IAApB,GAA2BmQ,CAA3B,oCAAiFD,CAAjF,GAAiG,6BAAnH,CADe,GAGjB,IAAI++M,CAAJ,CAAkB,SAASjvN,CAAT,GAAoB,IAApB,GAA2BmQ,CAA3B,oCAAiFD,CAAjF,GAAiG,kCAAnH,CAJLE,GAMG,IAPc,GASd+jC,EAASnkC,CAATmkC,EAAgBlkC,CAAhBkkC,EAA0BjkC,CAA1BikC,EAAyCn0C,CAAzCm0C,EAAmDhkC,CAAnDgkC,CATT;IAaF;;IAAA,IAAIi7K,IAAmBuuN,EAAU3pb,IAAV2pb,CAAe,IAAfA,EAAe,CAAM,CAArBA,CAAvB;IAGA,OAFAvuN,EAAiBh/M,UAAjBg/M,GAA8BuuN,EAAU3pb,IAAV2pb,CAAe,IAAfA,EAAe,CAAM,CAArBA,CAA9BvuN,EAEOA,CAAP;EAGF;;EAAA,SAAS2tN,CAAT,CAAoC1tN,CAApC,EAAoCA;IAclC,OAAO2tN,EAbP,UAAkBhta,CAAlB,EAAyBC,CAAzB,EAAmCC,CAAnC,EAAkDlQ,CAAlD,EAA4DmQ,CAA5D,EAA0EpH,CAA1E,EAA0EA;MACxE,IAAIm0a,IAAYlta,EAAMC,CAAND,CAAhB;MAEA,OADemta,EAAYD,CAAZC,MACE9tN,CADF8tN,GAON,IAAIluN,CAAJ,CAAkB,aAAajvN,CAAb,GAAwB,IAAxB,GAA+BmQ,CAA/B,mBAFPqta,EAAeN,CAAfM,CAEO,GAAkF,iBAAlF,GAAsGtta,CAAtG,qBAA+Im/M,CAA/I,GAA8J,IAAhL,CAPM8tN,GASR,IARP;IAQO,CAEFH,CAAP;EAsNF;;EAAA,SAAShvG,CAAT,CAAgBkvG,CAAhB,EAAgBA;IACd,eAAeA,CAAf;MACE,KAAK,QAAL;MACA,KAAK,QAAL;MACA,KAAK,WAAL;QACE,QAAO,CAAP;;MACF,KAAK,SAAL;QACE,QAAQA,CAAR;;MACF,KAAK,QAAL;QACE,IAAIplb,MAAMgD,OAANhD,CAAcolb,CAAdplb,CAAJ,EACE,OAAOolb,EAAUt0a,KAAVs0a,CAAgBlvG,CAAhBkvG,CAAP;QAEF,IAAkB,SAAdA,CAAc,IAAQvnN,EAAeunN,CAAfvnN,CAA1B,EACE,QAAO,CAAP;;QAGF,IAAIioN,IA9ZV,UAAuBC,CAAvB,EAAuBA;UACrB,IAAID,IAAaC,MAAkBhB,KAAmBgB,EAAchB,CAAdgB,CAAnBhB,IAAqDgB,EAjB/D,YAiB+DA,CAAvEA,CAAjB;UACA,IAA0B,qBAAfD,CAAX,EACE,OAAOA,CAAP;QA2ZmBE,CA9ZvB,CA8ZqCZ,CA9ZrC,CA8ZM;;QACA,KAAIU,CAAJ,EAqBE,QAAO,CAAP;QApBA,IACIp7M,CADJ;QAAA,IAAIlwN,IAAWsra,EAAWnkb,IAAXmkb,CAAgBV,CAAhBU,CAAf;;QAEA,IAAIA,MAAeV,EAAU9gZ,OAA7B,EAA6BA;UAC3B,SAASomM,IAAOlwN,EAASc,IAATd,EAAhB,EAAiCziB,IAAjC;YACE,KAAKm+U,EAAOxrG,EAAKl1O,KAAZ0gV,CAAL,EACE,QAAO,CAAP;UAFJ;QAEW,CAHb,MAQE,SAASxrG,IAAOlwN,EAASc,IAATd,EAAhB,EAAiCziB,IAAjC,GAAuC;UACrC,IAAIwxD,IAAQmhL,EAAKl1O,KAAjB;UACA,IAAI+zD,MACG2sR,EAAO3sR,EAAM,CAANA,CAAP2sR,CADP,EAEI,QAAO,CAAP;QASV;;QAAA,QAAO,CAAP;;MACF;QACE,QAAO,CAAP;IA1CJ;EAuEF;;EAAA,SAASmvG,CAAT,CAAqBD,CAArB,EAAqBA;IACnB,IAAI//V,WAAkB+/V,CAAtB;IACA,OAAIplb,MAAMgD,OAANhD,CAAcolb,CAAdplb,IACK,OADLA,GAGAolb,aAAqBz+a,MAArBy+a,GAIK,QAJLA,GA9BN,UAAkB//V,CAAlB,EAA4B+/V,CAA5B,EAA4BA;MAE1B,OAAiB,aAAb//V,CAAa,IAAbA,EAKC+/V,CALD//V,KAU+B,aAA/B+/V,EAAU,eAAVA,CAA+B,IAKb,qBAAX95a,MAAW,IAAc85a,aAAqB95a,MAfrD+5E,CAAJ;IAkCIryB,CApCN,CAoCeqyB,CApCf,EAoCyB+/V,CApCzB,IAqCW,QArCX,GAuCS//V,CAZP;EAiBF;;EAAA,SAASqgW,CAAT,CAAwBN,CAAxB,EAAwBA;IACtB,IAAI,QAAOA,CAAX,EACE,OAAO,KAAKA,CAAZ;IAEF,IAAI//V,IAAWggW,EAAYD,CAAZC,CAAf;;IACA,IAAiB,aAAbhgW,CAAJ,EAA2B;MACzB,IAAI+/V,aAAqB7+a,IAAzB,EACE,OAAO,MAAP;MACK,IAAI6+a,aAAqBz+a,MAAzB,EACL,OAAO,QAAP;IAGJ;;IAAA,OAAO0+E,CAAP;EAKF;;EAAA,SAASmyI,CAAT,CAAkChiO,CAAlC,EAAkCA;IAChC,IAAIqG,IAAO6pb,EAAelwb,CAAfkwb,CAAX;;IACA,QAAQ7pb,CAAR;MACE,KAAK,OAAL;MACA,KAAK,QAAL;QACE,OAAO,QAAQA,CAAf;;MACF,KAAK,SAAL;MACA,KAAK,MAAL;MACA,KAAK,QAAL;QACE,OAAO,OAAOA,CAAd;;MACF;QACE,OAAOA,CAAP;IATJ;EAyBF;;EAAA,OAvaAs7N,EAAc16N,SAAd06N,GAA0B31N,MAAM/E,SAAhC06N,EAmaA3+M,EAAeiB,cAAfjB,GAAgCiB,WAnahC09M,EAoaA3+M,EAAeT,iBAAfS,GAAmCiB,WAAAA,CAAe1B,iBApalDo/M,EAqaA3+M,EAAekB,SAAflB,GAA2BA,CAra3B2+M,EAuaO3+M,CAAP;AAAOA,CAxiBT;;AC1BA,SAASX,WAAT,GAASA,CACT;;AAAA,SAASC,WAAT,GAASA,CACTA;;AAAAA,WAAAA,CAAuBC,iBAAvBD,GAA2CD,WAA3CC;AAEA;ECRA,IAA6B,KAA7B,EAA2C,UAA3C,MAUEvhB,YDFe;IACf,SAAS0hB,CAAT,CAAcC,CAAd,EAAqBC,CAArB,EAA+BC,CAA/B,EAA8ClQ,CAA9C,EAAwDmQ,CAAxD,EAAsEpH,CAAtE,EAAsEA;MACpE,IAAIA,MAAW0G,EAAf;QAIA,IAAI3d,IAAM,IAAIwH,KAAJ,CACR,iLADQ,CAAV;QAMA,MADAxH,EAAI3E,IAAJ2E,GAAW,qBAAXA,EACMA,CAAN;MAAMA;IAGR;;IAAA,SAASue,CAAT,GAASA;MACP,OAAON,CAAP;IAFFA;;IAAAA,EAAKK,UAALL,GAAkBA,CAAlBA;IAMA,IAAIO,IAAiB;MACnBC,OAAOR,CADY;MAEnBS,MAAMT,CAFa;MAGnBU,MAAMV,CAHa;MAInB3V,QAAQ2V,CAJW;MAKnBpM,QAAQoM,CALW;MAMnBW,QAAQX,CANW;MAOnBY,QAAQZ,CAPW;MASnBa,KAAKb,CATc;MAUnBc,SAASR,CAVU;MAWnBS,SAASf,CAXU;MAYnBgB,aAAahB,CAZM;MAanBiB,YAAYX,CAbO;MAcnBY,MAAMlB,CAda;MAenBmB,UAAUb,CAfS;MAgBnBc,OAAOd,CAhBY;MAiBnBe,WAAWf,CAjBQ;MAkBnBgB,OAAOhB,CAlBY;MAmBnBiB,OAAOjB,CAnBY;MAqBnBkB,gBAAgB3B,WArBG;MAsBnBC,mBAAmBF,WAAAA;IAtBA,CAArB;IA2BA,OAFAW,EAAekB,SAAflB,GAA2BA,CAA3BA,EAEOA,CAAP;EC7CiByta,CDFF,ECEf1vb;AAAiB0vb,CDFnB;AAAA,ICEmBA,WAAAA;ECfnB1ib,OAAO2H,cAAP3H,CAAsB9P,CAAtB8P,EAA+B,YAA/BA,EAA6C;IAC5C/N,QAAO;EADqC,CAA7C+N;;EAIA,IAAI47O,IAAW57O,OAAOuhB,MAAPvhB,IAAiB,UAAUT,CAAV,EAAUA;IAAU,KAAK,IAAIrO,IAAI,CAAb,EAAgBA,IAAIgR,UAAU/Q,MAA9B,EAAsCD,GAAtC,EAA2C;MAAE,IAAI+J,IAASiH,UAAUhR,CAAVgR,CAAb;;MAA2B,KAAK,IAAI3Q,CAAT,IAAgB0J,CAAhB;QAA8B+E,OAAO9G,SAAP8G,CAAiBsG,cAAjBtG,CAAgC5B,IAAhC4B,CAAqC/E,CAArC+E,EAA6CzO,CAA7CyO,MAAqDT,EAAOhO,CAAPgO,IAActE,EAAO1J,CAAP0J,CAAnE+E;MAA9B;IAAoH;;IAAA,OAAOT,CAAP;EAAOA,CAAvP;EAAA,IAEIo0K,IAAe;IAAc,SAAS58J,CAAT,CAA0BxX,CAA1B,EAAkCoV,CAAlC,EAAkCA;MAAS,KAAK,IAAIzjB,IAAI,CAAb,EAAgBA,IAAIyjB,EAAMxjB,MAA1B,EAAkCD,GAAlC,EAAuC;QAAE,IAAImvD,IAAa1rC,EAAMzjB,CAANyjB,CAAjB;QAA2B0rC,EAAWz4C,UAAXy4C,GAAwBA,EAAWz4C,UAAXy4C,IAAWz4C,CAAc,CAAjDy4C,EAAwDA,EAAWnpC,YAAXmpC,GAAWnpC,CAAe,CAAlFmpC,EAA4F,WAAWA,CAAX,KAAuBA,EAAWlpC,QAAXkpC,GAAWlpC,CAAW,CAA7C,CAA5FkpC,EAA+IrgD,OAAO2H,cAAP3H,CAAsBT,CAAtBS,EAA8BqgD,EAAW9uD,GAAzCyO,EAA8CqgD,CAA9CrgD,CAA/IqgD;MAA6LA;IAAiB;;IAAA,OAAO,UAAUksS,CAAV,EAAuBo2F,CAAvB,EAAmCC,CAAnC,EAAmCA;MAAiJ,OAA9HD,KAAY5ra,EAAiBw1U,EAAYrzV,SAA7B6d,EAAwC4ra,CAAxC5ra,CAAZ4ra,EAAqEC,KAAa7ra,EAAiBw1U,CAAjBx1U,EAA8B6ra,CAA9B7ra,CAAlF4ra,EAAqIp2F,CAAP;IAAOA,CAAlM;EAA3U,GAFnB;EAAA,IAMIs2F,IAAU7rO,EAAuB8rO,KAAvB9rO,CANd;EAAA,IAUI+rO,IAAc/rO,EAAuBgsO,WAAvBhsO,CAVlB;;EAYA,SAASA,CAAT,CAAgCnmN,CAAhC,EAAgCA;IAAO,OAAOA,KAAOA,EAAIsX,UAAXtX,GAAwBA,CAAxBA,GAA8B;MAAEkJ,SAASlJ;IAAX,CAArC;EAUvC;;EAAA,IAAIoyb,IAAa;IAChB1za,UAAU,UADM;IAEhBiuD,KAAK,CAFW;IAGhBtkD,MAAM,CAHU;IAIhBslD,YAAY,QAJI;IAKhBf,QAAQ,CALQ;IAMhBg9D,UAAU,QANM;IAOhByoT,YAAY;EAPI,CAAjB;EAAA,IAUIC,IAAwB,CAAC,YAAD,EAAe,cAAf,EAA+B,gBAA/B,EAAiD,UAAjD,EAA6D,YAA7D,EAA2E,UAA3E,EAAuF,YAAvF,EAAqG,uBAArG,CAV5B;EAAA,IAmBIC,IAAa,SAAbA,CAAa,CAAoBthV,CAApB,EAA4BlsF,CAA5B,EAA4BA;IAC5CA,EAAKikD,KAALjkD,CAAW0tF,QAAX1tF,GAAsBksF,EAAOwB,QAA7B1tF,EACAA,EAAKikD,KAALjkD,CAAWytF,UAAXztF,GAAwBksF,EAAOuB,UAD/BztF,EAEAA,EAAKikD,KAALjkD,CAAW6tF,UAAX7tF,GAAwBksF,EAAO2B,UAF/B7tF,EAGAA,EAAKikD,KAALjkD,CAAW4tF,SAAX5tF,GAAuBksF,EAAO0B,SAH9B5tF,EAIAA,EAAKikD,KAALjkD,CAAW8tF,aAAX9tF,GAA2BksF,EAAO4B,aAJlC9tF,EAKAA,EAAKikD,KAALjkD,CAAWyta,aAAXzta,GAA2BksF,EAAOuhV,aALlCzta;EAKkCyta,CAzBnC;EAAA,IA4BI3gO,MAAyB,sBAAXh+M,MAAW,IAAXA,CAA0BA,OAAOhB,SAA/Cg/M,KAA2D,yBAAyB1wN,IAAzB,CAA8B0S,OAAOhB,SAAPgB,CAAiBf,SAA/C,CA5B/D;EAAA,IA8BI0xY,IAAa,SAAbA,CAAa;IAGhB,OAAO3yL,IAAO,MAAMrwN,KAAKioC,MAALjoC,GAAc4H,QAAd5H,CAAuB,EAAvBA,EAA2B6S,MAA3B7S,CAAkC,CAAlCA,EAAqC,EAArCA,CAAbqwN,GAAkD,KAAMhxN,CAA/D;EAA+DA,CAjChE;EAAA,IAoCI4xb,IAAgB,UAAUvnO,CAAV,EAAUA;IAY7B,SAASunO,CAAT,CAAuB3ua,CAAvB,EAAuBA;MAAAA,CAtDxB,UAAyB1b,CAAzB,EAAmCszV,CAAnC,EAAmCA;QAAe,MAAMtzV,aAAoBszV,CAA1B,GAA0C,MAAM,IAAI37V,SAAJ,CAAc,mCAAd,CAAN;MAuD1F8iL,CAvDF,CAuDkBxsK,IAvDlB,EAuDwBo8a,CAvDxB,CAsDwB3ua;;MAGtB,IAAIrG,IAvDN,UAAoCyF,CAApC,EAA0C3V,CAA1C,EAA0CA;QAAQ,KAAK2V,CAAL,EAAa,MAAM,IAAI4wI,cAAJ,CAAmB,2DAAnB,CAAN;QAAyF,QAAOvmJ,CAAP,IAAgC,mBAATA,CAAS,IAA4B,qBAATA,CAAnD,GAAiF2V,CAAjF,GAA0E3V,CAA1E;MAuD1Imlb,CAvDd,CAuDyCr8a,IAvDzC,EAuDyCA,CAAOo8a,EAAc/0Z,SAAd+0Z,IAA2Btjb,OAAOkG,cAAPlG,CAAsBsjb,CAAtBtjb,CAAlCkH,EAAwE9I,IAAxE8I,CAA6EA,IAA7EA,EAAmFyN,CAAnFzN,CAvDzC,CAuDE;;MAsBA,OApBAoH,EAAMwoY,QAANxoY,GAAiB,UAAUoU,CAAV,EAAUA;QAC1BpU,EAAM9E,KAAN8E,GAAcoU,CAAdpU,EACoC,qBAAzBA,EAAMqG,KAANrG,CAAYwoY,QAAa,IACnCxoY,EAAMqG,KAANrG,CAAYwoY,QAAZxoY,CAAqBoU,CAArBpU,CAFDA;MAEsBoU,CAHvBpU,EAOAA,EAAMk1a,mBAANl1a,GAA4B,UAAUoU,CAAV,EAAUA;QACrCpU,EAAMm1a,gBAANn1a,GAAyBoU,CAAzBpU;MAAyBoU,CAR1BpU,EAWAA,EAAMo1a,QAANp1a,GAAiB,UAAUoU,CAAV,EAAUA;QAC1BpU,EAAMq1a,KAANr1a,GAAcoU,CAAdpU;MAAcoU,CAZfpU,EAeAA,EAAM4B,KAAN5B,GAAc;QACbs1a,YAAYjva,EAAM4hN,QADL;QAEbstN,SAASlva,EAAMnX,EAANmX,IAAY0gY,GAFR;QAGbyuC,QAAQnva,EAAMnX;MAHD,CAfd8Q,EAoBOA,CAAP;IA4ID;;IAAA,OAvND,UAAmB8rM,CAAnB,EAA6BC,CAA7B,EAA6BA;MAAc,IAA0B,qBAAfA,CAAe,IAA6B,SAAfA,CAAxC,EAA+D,MAAM,IAAIzpN,SAAJ,CAAc,oEAAoEypN,CAAlF,CAAN;MAAuGD,EAASlhN,SAATkhN,GAAqBp6M,OAAO5G,MAAP4G,CAAcq6M,KAAcA,EAAWnhN,SAAvC8G,EAAkD;QAAE+F,aAAa;UAAE9T,OAAOmoN,CAAT;UAAmBxyM,aAAY,CAA/B;UAAsCuP,WAAU,CAAhD;UAAsDD,eAAc;QAApE;MAAf,CAAlDlX,CAArBo6M,EAAyKC,MAAYr6M,OAAOghC,cAAPhhC,GAAwBA,OAAOghC,cAAPhhC,CAAsBo6M,CAAtBp6M,EAAgCq6M,CAAhCr6M,CAAxBA,GAAsEo6M,EAAS7rL,SAAT6rL,GAAqBC,CAAvGA,CAAzKD;IAuChN5mC,CAvCD,CAuCW8vQ,CAvCX,EAwNER,eAxNF,GAyCCnvQ,EAAa2vQ,CAAb3vQ,EAA4B,IAA5BA,EAAkC,CAAC;MAClCpiL,KAAK,0BAD6B;MAElCU,OAAO,eAAkC0iB,CAAlC,EAAyCzE,CAAzC,EAAyCA;QAC/C,IAAI1S,IAAKmX,EAAMnX,EAAf;QAEA,OAAOA,MAAO0S,EAAM4za,MAAbtmb,GAAsB;UAAEqmb,SAASrmb,KAAM63Y,GAAjB;UAA+ByuC,QAAQtmb;QAAvC,CAAtBA,GAAoE,IAA3E;MAA2E;IAL1C,CAAD,CAAlCm2K,CAzCD,EA8ECA,EAAa2vQ,CAAb3vQ,EAA4B,CAAC;MAC5BpiL,KAAK,mBADuB;MAE5BU,OAAO;QACNiV,KAAK68a,OAAL78a,GAAK68a,CAAU,CAAf78a,EACAA,KAAK88a,eAAL98a,EADAA,EAEAA,KAAK+8a,gBAAL/8a,EAFAA;MAEK+8a;IALsB,CAAD,EAOzB;MACF1yb,KAAK,oBADH;MAEFU,OAAO,eAA4Byhb,CAA5B,EAAuC+B,CAAvC,EAAuCA;QACzCA,EAAUmO,UAAVnO,KAAyBvua,KAAKgJ,KAALhJ,CAAW08a,UAApCnO,IACkC,qBAA1Bvua,KAAKyN,KAALzN,CAAWg9a,UADnBzO,IAEFvua,KAAKyN,KAALzN,CAAWg9a,UAAXh9a,CAAsBA,KAAKgJ,KAALhJ,CAAW08a,UAAjC18a,CAFEuua,EAKJvua,KAAK+8a,gBAAL/8a,EALIuua;MAKCwO;IARJ,CAPyB,EAiBzB;MACF1yb,KAAK,sBADH;MAEFU,OAAO;QACNiV,KAAK68a,OAAL78a,GAAK68a,CAAU,CAAf78a;MAAe;IAHd,CAjByB,EAsBzB;MACF3V,KAAK,iBADH;MAEFU,OAAO;QACN,IAAKiV,KAAK68a,OAAL78a,IAAiBxC,OAAOo8M,gBAA7B;UAGA,IAAIqjO,IAAcj9a,KAAKsC,KAALtC,IAAcxC,OAAOo8M,gBAAPp8M,CAAwBwC,KAAKsC,KAA7B9E,CAAhC;UACKy/a,MAGLf,EAAWe,CAAXf,EAAwBl8a,KAAKy8a,KAA7BP,GACIl8a,KAAKu8a,gBAALv8a,IACHk8a,EAAWe,CAAXf,EAAwBl8a,KAAKu8a,gBAA7BL,CALIe;QAKyBV;MAAAA;IAZ7B,CAtByB,EAqCzB;MACFlyb,KAAK,kBADH;MAEFU,OAAO;QACN,IAAKiV,KAAK68a,OAAL78a,IAAiBA,KAAKy8a,KAAtBz8a,IAAsBy8a,KAA2C,CAA3CA,KAAgBz8a,KAAKy8a,KAALz8a,CAAWkiN,WAAtD;UAGA,IAAIg7N,SAAgB,CAApB;UAECA,IADGl9a,KAAKyN,KAALzN,CAAWivJ,WAAXjvJ,KAAWivJ,CAAiBjvJ,KAAKyN,KAALzN,CAAWjV,KAA5BkkK,IAAqCjvJ,KAAKyN,KAALzN,CAAWjV,KAAXiV,IAAoBA,KAAKyN,KAALzN,CAAWm9a,qBAA/En9a,IACa7U,KAAKwzB,GAALxzB,CAAS6U,KAAKy8a,KAALz8a,CAAWkiN,WAApB/2N,EAAiC6U,KAAKu8a,gBAALv8a,CAAsBkiN,WAAvD/2N,IAAsE,CADnF6U,GAGaA,KAAKy8a,KAALz8a,CAAWkiN,WAAXliN,GAAyB,CAFzCk9a,EAEyC,CAI1CA,KADqC,aAApBl9a,KAAKyN,KAALzN,CAAW5O,IAAS,IAATA,KAA+C5G,CAA/C4G,KAAqB4O,KAAKyN,KAALzN,CAAWo9a,UAAvB,GAAkD,EAAlD,GAAuD7+Z,SAASve,KAAKyN,KAALzN,CAAWo9a,UAApB7+Z,KAAmC,CAHrF,IAKtBve,KAAKyN,KAALzN,CAAWqvN,QALW,KAMzC6tN,IAAgBl9a,KAAKyN,KAALzN,CAAWqvN,QANc,CAFzC6tN,EAUGA,MAAkBl9a,KAAKgJ,KAALhJ,CAAW08a,UAA7BQ,IACHl9a,KAAKmiJ,QAALniJ,CAAc;YACb08a,YAAYQ;UADC,CAAdl9a,CAXAk9a;QAYaA;MAAAA;IApBb,CArCyB,EA6DzB;MACF7yb,KAAK,UADH;MAEFU,OAAO;QACN,OAAOiV,KAAKsC,KAAZ;MAAYA;IAHX,CA7DyB,EAkEzB;MACFjY,KAAK,OADH;MAEFU,OAAO;QACNiV,KAAKsC,KAALtC,CAAWyhB,KAAXzhB;MAAWyhB;IAHV,CAlEyB,EAuEzB;MACFp3B,KAAK,MADH;MAEFU,OAAO;QACNiV,KAAKsC,KAALtC,CAAWu2J,IAAXv2J;MAAWu2J;IAHV,CAvEyB,EA4EzB;MACFlsK,KAAK,QADH;MAEFU,OAAO;QACNiV,KAAKsC,KAALtC,CAAWstY,MAAXttY;MAAWstY;IAHV,CA5EyB,EAiFzB;MACFjjZ,KAAK,cADH;MAEFU,OAAO;QAIN,IAAIsyb,IAAer9a,KAAKyN,KAALzN,CAAWq9a,YAA9B;QAEA,OAAO7hO,KAAQ6hO,CAAR7hO,GAAuBmgO,EAAQ9ob,OAAR8ob,CAAgBh/a,aAAhBg/a,CAA8B,OAA9BA,EAAuC;UAAE1/P,yBAAyB;YAC9FqX,QAAQ,WAAWtzL,KAAKgJ,KAALhJ,CAAW28a,OAAtB,GAAgC;UADsD;QAA3B,CAAvChB,CAAvBngO,GAEC,IAFR;MAEQ;IAVP,CAjFyB,EA6FzB;MACFnxN,KAAK,QADH;MAEFU,OAAO;QACN,IAAIuyb,IAAa,CAACt9a,KAAKyN,KAALzN,CAAW2xD,YAAZ,EAA0B3xD,KAAKyN,KAALzN,CAAWjV,KAArC,EAA4C,EAA5C,EAAgD+nB,MAAhD,CAAuD,UAAU6vE,CAAV,EAAyB60B,CAAzB,EAAyBA;UAChG,OAAI70B,YACIA,CADJA,GAGG60B,CAHP;QAGOA,CAJS,CAAjB;QAAA,IAOI+lU,IAAe7oM,EAAS,EAATA,EAAa10O,KAAKyN,KAALzN,CAAW2yD,KAAxB+hL,CAPnB;QAQK6oM,EAAangX,OAAbmgX,KAAsBA,EAAangX,OAAbmgX,GAAuB,cAA7CA;;QAEL,IAAIh1B,IAAa7zK,EAAS;UACzB8oM,WAAW,aADc;UAEzB5mX,OAAO52D,KAAKgJ,KAALhJ,CAAW08a,UAAX18a,GAAwB;QAFN,CAAT00O,EAGd10O,KAAKyN,KAALzN,CAAWuoZ,UAHG7zK,CAAjB;QAAA,IAKI+oM,IAnMP,UAAkC9zb,CAAlC,EAAuCoP,CAAvC,EAAuCA;UAAQ,IAAIV,IAAS,EAAb;;UAAiB,KAAK,IAAIrO,CAAT,IAAcL,CAAd;YAAyBoP,EAAK3O,OAAL2O,CAAa/O,CAAb+O,KAAmB,CAAnBA,IAAqCD,OAAO9G,SAAP8G,CAAiBsG,cAAjBtG,CAAgC5B,IAAhC4B,CAAqCnP,CAArCmP,EAA0C9O,CAA1C8O,MAAwDT,EAAOrO,CAAPqO,IAAY1O,EAAIK,CAAJL,CAApEmP,CAArCC;UAAzB;;UAA4I,OAAOV,CAAP;QAmMxLo4a,CAnMpB,CAmM6Czwa,KAAKyN,KAnMlD,EAmMyD,EAnMzD,CA8LG;;QAYA,OAtLmB,UAAyBgwa,CAAzB,EAAyBA;UAC9CxB,EAAsBrrb,OAAtBqrb,CAA8B,UAAUltK,CAAV,EAAUA;YACvC,cAAc0uK,EAAW1uK,CAAX0uK,CAAd;UAAyB1uK,CAD1BktK;QAgLEyB,CAjLmB,CAiLHD,CAjLG,GAkLnBA,EAAWzna,SAAXyna,GAAuBz9a,KAAKyN,KAALzN,CAAWkqZ,cAlLf,EAmLnBuzB,EAAWnnb,EAAXmnb,GAAgBz9a,KAAKgJ,KAALhJ,CAAW28a,OAnLR,EAoLnBc,EAAW9qX,KAAX8qX,GAAmBl1B,CApLA,EAsLZozB,EAAQ9ob,OAAR8ob,CAAgBh/a,aAAhBg/a,CACN,KADMA,EAEN;UAAE3la,WAAWhW,KAAKyN,KAALzN,CAAWgW,SAAxB;UAAmC28C,OAAO4qX;QAA1C,CAFM5B,EAGN37a,KAAK29a,YAAL39a,EAHM27a,EAINA,EAAQ9ob,OAAR8ob,CAAgBh/a,aAAhBg/a,CAA8B,OAA9BA,EAAuCjnM,EAAS,EAATA,EAAa+oM,CAAb/oM,EAAyB;UAAExjO,KAAKlR,KAAK4vY;QAAZ,CAAzBl7J,CAAvCinM,CAJMA,EAKNA,EAAQ9ob,OAAR8ob,CAAgBh/a,aAAhBg/a,CACC,KADDA,EAEC;UAAEzqa,KAAKlR,KAAKw8a,QAAZ;UAAsB7pX,OAAOopX;QAA7B,CAFDJ,EAGC2B,CAHD3B,CALMA,EAUN37a,KAAKyN,KAALzN,CAAWivJ,WAAXjvJ,GAAyB27a,EAAQ9ob,OAAR8ob,CAAgBh/a,aAAhBg/a,CACxB,KADwBA,EAExB;UAAEzqa,KAAKlR,KAAKs8a,mBAAZ;UAAiC3pX,OAAOopX;QAAxC,CAFwBJ,EAGxB37a,KAAKyN,KAALzN,CAAWivJ,WAHa0sR,CAAzB37a,GAII,IAdE27a,CAAP;MAcK;IAvCJ,CA7FyB,CAA5BlvQ,CA9ED,EAuNQ2vQ,CAAP;EAjLmB,GApCpB;;EAwNAA,EAAclta,SAAdkta,GAA0B;IACzBpma,WAAW6la,EAAYhpb,OAAZgpb,CAAoB1ta,MADN;IAEzBwjD,cAAckqX,EAAYhpb,OAAZgpb,CAAoBxta,GAFT;IAGzB+ua,YAAYvB,EAAYhpb,OAAZgpb,CAAoBhta,SAApBgta,CAA8B,CAC1CA,EAAYhpb,OAAZgpb,CAAoBhkb,MADsB,EACdgkb,EAAYhpb,OAAZgpb,CAAoB1ta,MADN,CAA9B0ta,CAHa;IAKzBvlb,IAAIulb,EAAYhpb,OAAZgpb,CAAoB1ta,MALC;IAMzBkva,cAAcxB,EAAYhpb,OAAZgpb,CAAoB5ta,IANT;IAOzBi8Y,gBAAgB2xB,EAAYhpb,OAAZgpb,CAAoB1ta,MAPX;IAQzByhY,UAAUisC,EAAYhpb,OAAZgpb,CAAoB3ta,IARL;IASzBq6Y,YAAYszB,EAAYhpb,OAAZgpb,CAAoBz6a,MATP;IAUzBiuN,UAAUwsN,EAAYhpb,OAAZgpb,CAAoBhta,SAApBgta,CAA8B,CACxCA,EAAYhpb,OAAZgpb,CAAoBhkb,MADoB,EACZgkb,EAAYhpb,OAAZgpb,CAAoB1ta,MADR,CAA9B0ta,CAVe;IAYzBmB,YAAYnB,EAAYhpb,OAAZgpb,CAAoB3ta,IAZP;IAazBuI,UAAUola,EAAYhpb,OAAZgpb,CAAoB3ta,IAbL;IAczB+gJ,aAAa4sR,EAAYhpb,OAAZgpb,CAAoB1ta,MAdR;IAezBgva,uBAAuBtB,EAAYhpb,OAAZgpb,CAAoB5ta,IAflB;IAgBzB0kD,OAAOkpX,EAAYhpb,OAAZgpb,CAAoBz6a,MAhBF;IAiBzBrW,OAAO8wb,EAAYhpb,OAAZgpb,CAAoBxta;EAjBF,CAA1B+ta,EAmBAA,EAAc3kY,YAAd2kY,GAA6B;IAC5B/sN,UAAU,CADkB;IAE5BguN,eAAc;EAFc,CAnB7BjB,EAwBApzb,YAAkBozb,CAxBlBA;AAwBkBA,CD3PCZ,EDFnB;;AGfe,SAAShvQ,WAAT,CAAyBz6K,CAAzB,EAAmCszV,CAAnC,EAAmCA;EAChD,MAAMtzV,aAAoBszV,CAA1B,GACE,MAAM,IAAI37V,SAAJ,CAAc,mCAAd,CAAN;ACFJ;;AAAA,SAASk0b,WAAT,CAA2Bvlb,CAA3B,EAAmCoV,CAAnC,EAAmCA;EACjC,KAAK,IAAIzjB,IAAI,CAAb,EAAgBA,IAAIyjB,EAAMxjB,MAA1B,EAAkCD,GAAlC,EAAuC;IACrC,IAAImvD,IAAa1rC,EAAMzjB,CAANyjB,CAAjB;IACA0rC,EAAWz4C,UAAXy4C,GAAwBA,EAAWz4C,UAAXy4C,IAAWz4C,CAAc,CAAjDy4C,EACAA,EAAWnpC,YAAXmpC,GAAWnpC,CAAe,CAD1BmpC,EAEI,WAAWA,CAAX,KAAuBA,EAAWlpC,QAAXkpC,GAAWlpC,CAAW,CAA7C,CAFJkpC,EAGArgD,OAAO2H,cAAP3H,CAAsBT,CAAtBS,EAA8BqgD,EAAW9uD,GAAzCyO,EAA8CqgD,CAA9CrgD,CAHAqgD;EAG8CA;AAInC;;AAAA,SAASszH,WAAT,CAAsB44K,CAAtB,EAAmCo2F,CAAnC,EAA+CC,CAA/C,EAA+CA;EAG5D,OAFID,KAAYmC,WAAAA,CAAkBv4F,EAAYrzV,SAA9B4rb,EAAyCnC,CAAzCmC,CAAZnC,EACAC,KAAakC,WAAAA,CAAkBv4F,CAAlBu4F,EAA+BlC,CAA/BkC,CADbnC,EAEGp2F,CAAP;ACba;;AAAA,SAASjyI,WAAT,CAAyB5yM,CAAzB,EAA4Bc,CAA5B,EAA4BA;EAMzC,QALA8xM,WAAAA,GAAkBt6M,OAAOghC,cAAPhhC,IAAyB,UAAyB0H,CAAzB,EAA4Bc,CAA5B,EAA4BA;IAErE,OADAd,EAAE6mB,SAAF7mB,GAAcc,CAAdd,EACOA,CAAP;EAAOA,CAGT,EAAuBA,CAAvB,EAA0Bc,CAA1B;ACLa;;AAAA,SAASgrK,EAAT,CAAmB4mC,CAAnB,EAA6BC,CAA7B,EAA6BA;EAC1C,IAA0B,qBAAfA,CAAe,IAA6B,SAAfA,CAAxC,EACE,MAAM,IAAIzpN,SAAJ,CAAc,oDAAd,CAAN;EAGFwpN,EAASlhN,SAATkhN,GAAqBp6M,OAAO5G,MAAP4G,CAAcq6M,KAAcA,EAAWnhN,SAAvC8G,EAAkD;IACrE+F,aAAa;MACX9T,OAAOmoN,CADI;MAEXjjM,WAAU,CAFC;MAGXD,eAAc;IAHH;EADwD,CAAlDlX,CAArBo6M,EAOIC,KAAYr5K,WAAAA,CAAeo5K,CAAfp5K,EAAyBq5K,CAAzBr5K,CAPhBo5K;ACOF;;AAAA,SAASvjM,EAAT,CAAyBhmB,CAAzB,EAA8BU,CAA9B,EAAmCU,CAAnC,EAAmCA;EAYjC,OAXIV,KAAOV,CAAPU,GACFyO,OAAO2H,cAAP3H,CAAsBnP,CAAtBmP,EAA2BzO,CAA3ByO,EAAgC;IAC9B/N,OAAOA,CADuB;IAE9B2V,aAAY,CAFkB;IAG9BsP,eAAc,CAHgB;IAI9BC,WAAU;EAJoB,CAAhCnX,CADEzO,GAQFV,EAAIU,CAAJV,IAAWoB,CARTV,EAWGV,CAAP;AAGF;;AAAA,SAASwlB,EAAT,CAAiB/N,CAAjB,EAAyBgO,CAAzB,EAAyBA;EACvB,IAAIrW,IAAOD,OAAOC,IAAPD,CAAYsI,CAAZtI,CAAX;;EAEA,IAAIA,OAAOuW,qBAAX,EAAkC;IAChC,IAAIC,IAAUxW,OAAOuW,qBAAPvW,CAA6BsI,CAA7BtI,CAAd;IACIsW,MAAgBE,IAAUA,EAAQC,MAARD,CAAe,UAAUE,CAAV,EAAUA;MACrD,OAAO1W,OAAO2W,wBAAP3W,CAAgCsI,CAAhCtI,EAAwC0W,CAAxC1W,EAA6C4H,UAApD;IAAoDA,CADxB4O,CAA1BF,GAGJrW,EAAKlF,IAALkF,CAAUvD,KAAVuD,CAAgBA,CAAhBA,EAAsBuW,CAAtBvW,CAHIqW;EAMN;;EAAA,OAAOrW,CAAP;AAGF;;AAAA,SAAS2W,EAAT,CAAwBrX,CAAxB,EAAwBA;EACtB,KAAK,IAAIrO,IAAI,CAAb,EAAgBA,IAAIgR,UAAU/Q,MAA9B,EAAsCD,GAAtC,EAA2C;IACzC,IAAI+J,IAAyB,QAAhBiH,UAAUhR,CAAVgR,CAAgB,GAAOA,UAAUhR,CAAVgR,CAAP,GAAsB,EAAnD;IAEIhR,IAAI,CAAJA,GACFmlB,GAAQrW,OAAO/E,CAAP+E,CAARqW,EAAepb,CAAS,CAAxBob,EAA8Bve,OAA9Bue,CAAsC,UAAU9kB,CAAV,EAAUA;MAC9CslB,GAAgBtX,CAAhBsX,EAAwBtlB,CAAxBslB,EAA6B5b,EAAO1J,CAAP0J,CAA7B4b;IAAoCtlB,CADtC8kB,CADEnlB,GAIO8O,OAAO8W,yBAAP9W,GACTA,OAAO+W,gBAAP/W,CAAwBT,CAAxBS,EAAgCA,OAAO8W,yBAAP9W,CAAiC/E,CAAjC+E,CAAhCA,CADSA,GAGTqW,GAAQrW,OAAO/E,CAAP+E,CAARqW,EAAwBve,OAAxBue,CAAgC,UAAU9kB,CAAV,EAAUA;MACxCyO,OAAO2H,cAAP3H,CAAsBT,CAAtBS,EAA8BzO,CAA9ByO,EAAmCA,OAAO2W,wBAAP3W,CAAgC/E,CAAhC+E,EAAwCzO,CAAxCyO,CAAnCA;IAA2EzO,CAD7E8kB,CAPEnlB;EAaN;;EAAA,OAAOqO,CAAP;AAGF;;AAAA,SAASqkX,WAAT,CAAyBl8W,CAAzB,EAAyBA;EAIvB,QAHAk8W,WAAAA,GAAkB5jX,OAAOghC,cAAPhhC,GAAwBA,OAAOkG,cAA/BlG,GAAgD,UAAyB0H,CAAzB,EAAyBA;IACzF,OAAOA,EAAE6mB,SAAF7mB,IAAe1H,OAAOkG,cAAPlG,CAAsB0H,CAAtB1H,CAAtB;EAA4C0H,CAE9C,EAAuBA,CAAvB;AAwBF;;AAAA,SAAS67a,EAAT,CAAoCxva,CAApC,EAA0C3V,CAA1C,EAA0CA;EACxC,QAAIA,CAAJ,IAA6B,mBAATA,CAAS,IAA4B,qBAATA,CAAhD,GATF,UAAgC2V,CAAhC,EAAgCA;IAC9B,SAAa,CAAb,KAAIA,CAAJ,EACE,MAAM,IAAI4wI,cAAJ,CAAmB,2DAAnB,CAAN;IAGF,OAAO5wI,CAAP;EAQOw/J,CAbT,CAagCx/J,CAbhC,CASE,GACS3V,CADT;AAOF;;AAAA,SAASq1K,EAAT,CAAsBsxQ,CAAtB,EAAsBA;EACpB,IAAIC,IA9BN;IACE,IAAuB,sBAAZ5jZ,OAAY,IAAZA,CAA4BA,QAAQC,SAA/C,EAA0D,QAAO,CAAP;IAC1D,IAAID,QAAQC,SAARD,CAAkByjH,IAAtB,EAA4B,QAAO,CAAP;IAC5B,IAAqB,qBAAVC,KAAX,EAAiC,QAAO,CAAP;;IAEjC;MAEE,OADA9hJ,KAAK9J,SAAL8J,CAAe/I,QAAf+I,CAAwB5E,IAAxB4E,CAA6Bo+B,QAAQC,SAARD,CAAkBp+B,IAAlBo+B,EAAwB,EAAxBA,EAA4B,cAA5BA,CAA7Bp+B,GAAyD,CAClD,CAAP;IACA,CAHF,CAGE,OAAOjQ,CAAP,EAAOA;MACP,QAAO,CAAP;IAAO;EAqBuB+wX,CA9BlC,EA8BE;;EACA,OAAO;IACL,IACIh+W,CADJ;IAAA,IAAIm/a,IAAQrhE,WAAAA,CAAgBmhE,CAAhBnhE,CAAZ;;IAGA,IAAIohE,CAAJ,EAA+B;MAC7B,IAAIE,IAAYthE,WAAAA,CAAgB18W,IAAhB08W,EAAsB79W,WAAtC;MACAD,IAASs7B,QAAQC,SAARD,CAAkB6jZ,CAAlB7jZ,EAAyBl/B,SAAzBk/B,EAAoC8jZ,CAApC9jZ,CAATt7B;IAA6Co/a,CAF/C,MAIEp/a,IAASm/a,EAAMvob,KAANuob,CAAY/9a,IAAZ+9a,EAAkB/ib,SAAlB+ib,CAATn/a;;IAGF,OAAOy9a,GAA2Br8a,IAA3Bq8a,EAAiCz9a,CAAjCy9a,CAAP;EAAwCz9a,CAX1C;AAkBF;;AAAA,IAAI+W,KAAO,SAAPA,EAAO,KAAX;;AAcA,SAASsoa,EAAT,CAA2BjoY,CAA3B,EAAmCprD,CAAnC,EAAmCA;EACjC,OAAKA,IAEkB,QAAZA,EAAK,CAALA,CAAY,GACdorD,IAASprD,CADK,GAGdorD,IAAS,IAATA,GAAgBprD,CALpBA,GACIorD,CADT;AASF;;AAAA,SAASjlB,EAAT,CAAoBilB,CAApB,EAA4BhtC,CAA5B,EAAmCgN,CAAnC,EAAmCA;EACjC,IAAI9X,IAAM,CAAC8X,CAAD,CAAV;EAEA,IAAIhN,KAASgtC,CAAb,EACE,KAAK,IAAI3rD,CAAT,IAAgB2e,CAAhB;IACMA,EAAM5J,cAAN4J,CAAqB3e,CAArB2e,KAA6BA,EAAM3e,CAAN2e,CAA7BA,IACF9K,EAAIrK,IAAJqK,CAAS,GAAGzI,MAAH,CAAUwob,GAAkBjoY,CAAlBioY,EAA0B5zb,CAA1B4zb,CAAV,CAAT//a,CADE8K;EADN;EAOF,OAAO9K,EAAIqR,MAAJrR,CAAW,UAAUlU,CAAV,EAAUA;IAC1B,OAAOA,CAAP;EAAOA,CADFkU,EAEJiI,GAFIjI,CAEA,UAAUlU,CAAV,EAAUA;IACf,OAAOgiB,OAAOhiB,CAAPgiB,EAAUzhB,IAAVyhB,EAAP;EAAiBzhB,CAHZ2T,EAIJ3C,IAJI2C,CAIC,GAJDA,CAAP;AASF;;AAAA,IAAIu7O,KAAa,SAAbA,EAAa,CAAoB1uP,CAApB,EAAoBA;EACnC,OAAIwK,MAAMgD,OAANhD,CAAcxK,CAAdwK,IAA6BxK,EAAMwkB,MAANxkB,CAAa+4C,OAAb/4C,CAA7BwK,GACmB,aAAnBua,GAAQ/kB,CAAR+kB,CAAmB,IAAsB,SAAV/kB,CAAZ,GAAmC,CAACA,CAAD,CAAnC,GAChB,EAFP;AAEO,CAHT;AAAA,IAQImzb,KAAmB,SAAnBA,EAAmB,CAA0Bzwa,CAA1B,EAA0BA;EAiB/C,OAfAA,EAAMuI,SAANvI,EACIA,EAAM0wa,UADV1wa,EAEIA,EAAM+nF,EAFV/nF,EAGIA,EAAM2wa,SAHV3wa,EAIIA,EAAMqiC,QAJVriC,EAKIA,EAAMg6N,QALVh6N,EAMIA,EAAM4wa,OANV5wa,EAOIA,EAAM6wa,KAPV7wa,EAQIA,EAAMhkB,OARVgkB,EASIA,EAAM8wa,YATV9wa,EAUIA,EAAM+wa,WAVV/wa,EAWIA,EAAMw/J,QAXVx/J,EAYIA,EAAMksa,KAZVlsa,EAeOiC,GAAe,EAAfA,EAFc+ga,UAAAA,CAAyBhja,CAAzBgja,EAAgC,CAAC,WAAD,EAAc,YAAd,EAA4B,IAA5B,EAAkC,WAAlC,EAA+C,UAA/C,EAA2D,UAA3D,EAAuE,SAAvE,EAAkF,OAAlF,EAA2F,SAA3F,EAAsG,cAAtG,EAAsH,aAAtH,EAAqI,UAArI,EAAiJ,OAAjJ,CAAhCA,CAEd/ga,CAAP;AAFsM,CAvBxM;;AAyCA,SAAS+ua,EAAT,CAA2Bjja,CAA3B,EAA2BA;EACzB,OAAO,CAACxf,SAAS6oC,eAAV,EAA2B7oC,SAASgpC,IAApC,EAA0CxnC,MAA1C,EAAkDpT,OAAlD,CAA0DoxB,CAA1D,IAA0DA,CAAO,CAAxE;AAIF;;AAAA,SAASkja,EAAT,CAAsBlja,CAAtB,EAAsBA;EACpB,OAAIija,GAAkBjja,CAAlBija,IACKjhb,OAAO87M,WADZmlO,GAIGjja,EAAGknI,SAJV;AAMF;;AAAA,SAAS4tO,EAAT,CAAkB90W,CAAlB,EAAsB86C,CAAtB,EAAsBA;EAEhBmoX,GAAkBjja,CAAlBija,IACFjhb,OAAO8yX,QAAP9yX,CAAgB,CAAhBA,EAAmB84D,CAAnB94D,CADEihb,GAKJjja,EAAGknI,SAAHlnI,GAAe86C,CALXmoX;AAwCN;;AAAA,SAASE,EAAT,CAAsB59a,CAAtB,EAAyBxB,CAAzB,EAA4BvL,CAA5B,EAA+BsM,CAA/B,EAA+BA;EAC7B,OAAOtM,MAAM+M,IAAIA,IAAIT,CAAJS,GAAQ,CAAlB/M,IAAuB+M,CAAvB/M,GAA2B+M,CAA3B/M,GAA+B,CAA/BA,IAAoCuL,CAA3C;AAGF;;AAAA,SAASq/a,EAAT,CAA0Brwa,CAA1B,EAAmCgtE,CAAnC,EAAmCA;EACjC,IAAI/R,IAAWxuE,UAAU/Q,MAAV+Q,GAAmB,CAAnBA,IAAmB,KAAsBxQ,CAAtB,KAAKwQ,UAAU,CAAVA,CAAxBA,GAAqDA,UAAU,CAAVA,CAArDA,GAAoE,GAAnF;EAAA,IACIiD,IAAWjD,UAAU/Q,MAAV+Q,GAAmB,CAAnBA,IAAmB,KAAsBxQ,CAAtB,KAAKwQ,UAAU,CAAVA,CAAxBA,GAAqDA,UAAU,CAAVA,CAArDA,GAAoE2a,EADnF;EAAA,IAEIgI,IAAQ+ga,GAAanwa,CAAbmwa,CAFZ;EAAA,IAGIG,IAAStjW,IAAK59D,CAHlB;EAAA,IAIImha,IAAY,EAJhB;EAAA,IAKIjhX,IAAc,CALlB;;EAOA,SAASkhX,CAAT,GAASA;IAEP,IAAIt0b,IAAMk0b,GADV9gX,KAAeihX,CACLH,EAA0Bhha,CAA1Bgha,EAAiCE,CAAjCF,EAAyCn1W,CAAzCm1W,CAAV;IACAruD,GAAS/hX,CAAT+hX,EAAkB7lY,CAAlB6lY,GAEIzyT,IAAc2L,CAAd3L,GACFrgE,OAAOwzE,qBAAPxzE,CAA6Buhb,CAA7Bvhb,CADEqgE,GAGF5/D,EAASsQ,CAATtQ,CALFqyX;EASFyuD;;EAAAA;AAiCF;;AAAA,SAASC,EAAT,GAASA;EACP;IAEE,OADAhjb,SAASijb,WAATjjb,CAAqB,YAArBA,GAAqB,CACd,CAAP;EACA,CAHF,CAGE,OAAOnQ,CAAP,EAAOA;IACP,QAAO,CAAP;EAAO;AAiBX;;AAAA,IAAIqzb,MAAwB,CAA5B;AAAA,IACIz1b,KAAU;EACZ4oM;IACE,OAAO6sP,MAAwB,CAA/B;EAA+B;;AAFrB,CADd;AAAA,IAQIv0Y,KAAsB,sBAAXntC,MAAW,GAAcA,MAAd,GAAuB,EARjD;AAUImtC,GAAE35C,gBAAF25C,IAAsBA,GAAEj9C,mBAAxBi9C,KACFA,GAAE35C,gBAAF25C,CAAmB,GAAnBA,EAAwBh1B,EAAxBg1B,EAA8BlhD,EAA9BkhD,GACAA,GAAEj9C,mBAAFi9C,CAAsB,GAAtBA,EAA2Bh1B,EAA3Bg1B,EAA2Bh1B,CAAM,CAAjCg1B,CAFEA;AAKJ,IAAIw0Y,KAAwBD,EAA5B;;AAEA,SAASE,EAAT,CAA0Bpra,CAA1B,EAA0BA;EACxB,IAAIk7M,IAAYl7M,EAAKk7M,SAArB;EAAA,IACImwN,IAASrra,EAAKqra,MADlB;EAAA,IAEIpwN,IAAYj7M,EAAKi7M,SAFrB;EAAA,IAGIv5D,IAAY1hJ,EAAK0hJ,SAHrB;EAAA,IAII4pR,IAAetra,EAAKsra,YAJxB;EAAA,IAKIC,IAAkBvra,EAAKura,eAL3B;EAAA,IAOIjd,IADQtuZ,EAAK2la,KAAL3la,CACQsuZ,OAPpB;EAAA,IAQIrnN,IAxIN,UAAyB1sM,CAAzB,EAAyBA;IACvB,IAAIokD,IAAQinJ,iBAAiBrrM,CAAjBqrM,CAAZ;IAAA,IACI4lO,IAAyC,eAAnB7sX,EAAMtqD,QADhC;IAAA,IAEIo3a,IAAa,eAFjB;IAAA,IAGIC,IAAQ1jb,SAAS6oC,eAHrB;IAKA,IAAuB,YAAnB8tB,EAAMtqD,QAAV,EAAgC,OAAOq3a,CAAP;;IAEhC,KAAK,IAAIh8Y,IAASn1B,CAAlB,EAA2Bm1B,IAASA,EAAO41O,aAA3C;MAGE,IAFA3mN,IAAQinJ,iBAAiBl2K,CAAjBk2K,CAARjnJ,EAAyBjvB,EAErB87Y,CAFqB97Y,IAEqB,aAAnBivB,EAAMtqD,QAFRq7B,KAMrB+7Y,EAAW30b,IAAX20b,CAAgB9sX,EAAM4gE,QAAN5gE,GAAiBA,EAAMqnJ,SAAvBrnJ,GAAmCA,EAAMonJ,SAAzD0lO,CAJJ,EAKE,OAAO/7Y,CAAP;IARJ;;IAYA,OAAOg8Y,CAAP;EAoHmB5kO,CAxIrB,CAwIqCukO,CAxIrC,CAgIE;EAAA,IASIM,IAAe;IACjBjqR,WAAW,QADM;IAEjBw5D,WAAWA;EAFM,CATnB;;EAcA,KAAKmwN,CAAL,IAAKA,CAAWA,EAAOjlO,YAAvB,EAAqC,OAAOulO,CAAP;EAGrC,IACI98R,IADwBo4D,EAAa5kJ,qBAAb4kJ,GACa1kJ,MADzC;EAAA,IAGIqpX,IAAwBP,EAAOhpX,qBAAPgpX,EAH5B;EAAA,IAIIQ,IAAaD,EAAsBrqV,MAJvC;EAAA,IAKIuqV,IAAaF,EAAsBrpX,MALvC;EAAA,IAMIwpX,IAAUH,EAAsBtpX,GANpC;EAAA,IASI0pX,IADwBX,EAAOjlO,YAAPilO,CAAoBhpX,qBAApBgpX,GACa/oX,GATzC;EAAA,IAWI2pX,IAAazib,OAAOg5D,WAXxB;EAAA,IAYIksF,IAAYg8R,GAAazjO,CAAbyjO,CAZhB;EAAA,IAaIwB,IAAe3ha,SAASq7L,iBAAiBylO,CAAjBzlO,EAAyBsmO,YAAlC3ha,EAAgD,EAAhDA,CAbnB;EAAA,IAcI4ha,IAAY5ha,SAASq7L,iBAAiBylO,CAAjBzlO,EAAyBumO,SAAlC5ha,EAA6C,EAA7CA,CAdhB;EAAA,IAeI6ha,IAAiBJ,IAAeG,CAfpC;EAAA,IAgBIE,IAAiBJ,IAAaF,CAhBlC;EAAA,IAiBIO,IAAmBF,IAAiB19R,CAjBxC;EAAA,IAkBI69R,IAAmB19R,IAAeH,CAAfG,GAA2Bk9R,CAlBlD;EAAA,IAmBIS,IAAaX,IAAaI,CAAbJ,GAA0Bn9R,CAA1Bm9R,GAAsCK,CAnBvD;EAAA,IAoBIO,IAAW/9R,IAAYq9R,CAAZr9R,GAAsBy9R,CApBrC;EAAA,IAqBIO,IAAiB,GArBrB;;EAuBA,QAAQhrR,CAAR;IACE,KAAK,MAAL;IACA,KAAK,QAAL;MAEE,IAAI2qR,KAAkBP,CAAtB,EACE,OAAO;QACLpqR,WAAW,QADN;QAELw5D,WAAWA;MAFN,CAAP;MAOF,IAAIqxN,KAAoBT,CAApBS,IAAoBT,CAAeP,CAAvC,EAKE,OAJID,KACFV,GAAiB3jO,CAAjB2jO,EAA+B4B,CAA/B5B,EAA2C8B,CAA3C9B,CADEU,EAIG;QACL5pR,WAAW,QADN;QAELw5D,WAAWA;MAFN,CAAP;MAOF,KAAKqwN,CAAL,IAAwBgB,KAAoBtxN,CAA5C,IAAyDswN,KAAmBc,KAAkBpxN,CAA9F,EAQE,OAPIqwN,KACFV,GAAiB3jO,CAAjB2jO,EAA+B4B,CAA/B5B,EAA2C8B,CAA3C9B,CADEU,EAOG;QACL5pR,WAAW,QADN;QAELw5D,WAHsBqwN,IAAkBc,IAAiBH,CAAnCX,GAAkDgB,IAAmBL;MACtF,CAAP;;MAQF,IAAkB,WAAdxqR,CAAc,IAAU6pR,CAA5B,EAA6C;QAE3C,IAAIoB,IAAqBzxN,CAAzB;QAAA,IACI0xN,IAAarB,IAAkBa,CAAlBb,GAAmCe,CADpD;QAOA,OAJIM,KAAc3xN,CAAd2xN,KACFD,IAAqBx1b,KAAK0zB,GAAL1zB,CAASy1b,IAAaV,CAAbU,GAA4Bte,EAAQue,aAA7C11b,EAA4D+jO,CAA5D/jO,CADnBy1b,GAIG;UACLlrR,WAAW,KADN;UAELw5D,WAAWyxN;QAFN,CAAP;MAOF;;MAAA,IAAkB,aAAdjrR,CAAJ,EAKE,OAJI4pR,KACFhvD,GAASr1K,CAATq1K,EAAuBkwD,CAAvBlwD,CADEgvD,EAIG;QACL5pR,WAAW,QADN;QAELw5D,WAAWA;MAFN,CAAP;MAMF;;IAEF,KAAK,KAAL;MAEE,IAAIkxN,KAAkBN,CAAtB,EACE,OAAO;QACLpqR,WAAW,KADN;QAELw5D,WAAWA;MAFN,CAAP;MAOF,IAAIoxN,KAAoBR,CAApBQ,IAAoBR,CAAeP,CAAvC,EAKE,OAJID,KACFV,GAAiB3jO,CAAjB2jO,EAA+B6B,CAA/B7B,EAAyC8B,CAAzC9B,CADEU,EAIG;QACL5pR,WAAW,KADN;QAELw5D,WAAWA;MAFN,CAAP;;MAOF,KAAKqwN,CAAL,IAAwBe,KAAoBrxN,CAA5C,IAAyDswN,KAAmBa,KAAkBnxN,CAA9F,EAAyG;QACvG,IAAI6xN,IAAsB5xN,CAA1B;QAWA,SARKqwN,CAQL,IARwBe,KAAoBrxN,CAQ5C,IARyDswN,KAAmBa,KAAkBnxN,CAQ9F,MAPE6xN,IAAsBvB,IAAkBa,IAAiBD,CAAnCZ,GAA+Ce,IAAmBH,CAO1F,GAJIb,KACFV,GAAiB3jO,CAAjB2jO,EAA+B6B,CAA/B7B,EAAyC8B,CAAzC9B,CAGF,EAAO;UACLlpR,WAAW,KADN;UAELw5D,WAAW4xN;QAFN,CAAP;MASF;;MAAA,OAAO;QACLprR,WAAW,QADN;QAELw5D,WAAWA;MAFN,CAAP;;IAKF;MACE,MAAM,IAAIn4N,KAAJ,CAAU,+BAAgCtB,MAAhC,CAAuCigK,CAAvC,EAAkD,IAAlD,CAAV,CAAN;EAtHJ;;EA0HA,OAAOiqR,CAAP;AAYF;;AAAA,IAAIoB,KAAkB,SAAlBA,EAAkB,CAAyBz/a,CAAzB,EAAyBA;EAC7C,OAAa,WAANA,CAAM,GAAS,QAAT,GAAoBA,CAAjC;AAAiCA,CADnC;AAAA,IAgBI0/a,KAAsCtta,uBAAAA,CAAc;EACtDuta,oBAAoB;AADkC,CAAdvta,CAhB1C;AAAA,IAoBIwta,KAA0B,UAAUrsO,CAAV,EAAUA;EACtCvoC,GAAU40Q,CAAV50Q,EAsEAvpB,eAtEAupB;EAEA,IAAIS,IAASR,GAAa20Q,CAAb30Q,CAAb;;EAEA,SAAS20Q,CAAT,GAASA;IACP,IAAI95a,CAAJ;IAEAolK,WAAAA,CAAgBxsK,IAAhBwsK,EAAsB00Q,CAAtB10Q;;IAEA,KAAK,IAAIe,IAAOvyK,UAAU/Q,MAArB,EAA6B8Q,IAAO,IAAIxF,KAAJ,CAAUg4K,CAAV,CAApC,EAAqDC,IAAO,CAAjE,EAAoEA,IAAOD,CAA3E,EAAiFC,GAAjF;MACEzyK,EAAKyyK,CAALzyK,IAAaC,UAAUwyK,CAAVxyK,CAAbD;IADF;;IA8CA,QA1CAqM,IAAQ2lK,EAAO71K,IAAP61K,CAAYv3K,KAAZu3K,CAAkBA,CAAlBA,EAA0B,CAAC/sK,IAAD,EAAOvK,MAAP,CAAcsF,CAAd,CAA1BgyK,CA0CR,EAzCM/jK,KAyCN,GAzCc;MACZkmN,WAAW9nN,EAAMqG,KAANrG,CAAY+5a,aADX;MAEZzrR,WAAW;IAFC,CAyCd,EApCAtuJ,EAAMg6a,YAANh6a,GAAqB,UAAU8J,CAAV,EAAUA;MAC7B,IAAI2kM,IAAczuM,EAAMqG,KAAxB;MAAA,IACI4za,IAAgBxrO,EAAYwrO,aADhC;MAAA,IAEIF,IAAgBtrO,EAAYsrO,aAFhC;MAAA,IAGIG,IAAgBzrO,EAAYyrO,aAHhC;MAAA,IAIIC,IAAe1rO,EAAY0rO,YAJ/B;MAAA,IAKIC,IAA2B3rO,EAAY2rO,wBAL3C;MAAA,IAMI7H,IAAQ9jO,EAAY8jO,KANxB;;MAOA,IAAKzoa,CAAL;QAEA,IAAIqua,IAAmC,YAAjBgC,CAAtB;QAAA,IAEIv4a,IAAQo2a,GAAiB;UAC3BlwN,WAAWiyN,CADgB;UAE3B9B,QAAQnua,CAFmB;UAG3B+9M,WAAWoyN,CAHgB;UAI3B3rR,WAAW4rR,CAJgB;UAK3BhC,cANiBkC,MAA6BjC,CACnB;UAM3BA,iBAAiBA,CANU;UAO3B5F,OAAOA;QAPoB,CAAjByF,CAFZ;QAAA,IAWI6B,IAAqB75a,EAAMtV,OAANsV,CAAc65a,kBAXvC;QAYIA,KAAoBA,EAAmBj4a,CAAnBi4a,CAApBA,EAEJ75a,EAAM+6I,QAAN/6I,CAAe4B,CAAf5B,CAFI65a;MAEWj4a;IAAAA,CAYjB,EATA5B,EAAMq6a,eAANr6a,GAAwB;MACtB,IAAIk6a,IAAgBl6a,EAAMqG,KAANrG,CAAYk6a,aAAhC;MAAA,IACI5rR,IAAYtuJ,EAAM4B,KAAN5B,CAAYsuJ,SAAZtuJ,IAAyB25a,GAAgBO,CAAhBP,CADzC;MAEA,OAAOrxa,GAAeA,GAAe,EAAfA,EAAmBtI,EAAMqG,KAAzBiC,CAAfA,EAAgD,EAAhDA,EAAoD;QACzDgmJ,WAAWA,CAD8C;QAEzDw5D,WAAW9nN,EAAM4B,KAAN5B,CAAY8nN;MAFkC,CAApDx/M,CAAP;IAEyBw/M,CAI3B,EAAO9nN,CAAP;EAcF;;EAAA,OAXAqlK,WAAAA,CAAay0Q,CAAbz0Q,EAAyB,CAAC;IACxBpiL,KAAK,QADmB;IAExBU,OAAO;MAEL,QAAOmpB,GADQlU,KAAKyN,KAALzN,CAAWkU,QAC1B,EAAgB;QACdhD,KAAKlR,KAAKohb,YADI;QAEdM,aAAa1hb,KAAKyhb,eAALzhb;MAFC,CAAhB;IAEoByhb;EANE,CAAD,CAAzBh1Q,GAWOy0Q,CAAP;AAtE4B,GApB9B;;AA4FAA,GAAW3pY,WAAX2pY,GAAyBF,EAAzBE;;AAEA,IAmDIS,KAAY,SAAZA,EAAY,CAAmBx3Q,CAAnB,EAAmBA;EACjC,IAAIy3Q,IAAcz3Q,EAAMwvQ,KAAxB;EAAA,IACIkI,IAAWD,EAAYtf,OAAZsf,CAAoBC,QADnC;EAGA,OAAO;IACL3iX,OAFW0iX,EAAYE,MAAZF,CAEGG,SADT;IAEL79N,SAAS,GAAGzuN,MAAH,CAAqB,IAAXosb,CAAV,EAAwB,KAAxB,EAA+Bpsb,MAA/B,CAAiD,IAAXosb,CAAtC,EAAoD,IAApD,CAFJ;IAGLl4B,WAAW;EAHN,CAAP;AAGa,CA1Df;AAAA,IA8DIq4B,KAAsBL,EA9D1B;AAAA,IA+DIM,KAAoBN,EA/DxB;AAAA,IAgEIO,KAAmB,SAAnBA,EAAmB,CAA0Bz0a,CAA1B,EAA0BA;EAC/C,IAAIyG,IAAWzG,EAAMyG,QAArB;EAAA,IACI8B,IAAYvI,EAAMuI,SADtB;EAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;EAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;EAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;EAKA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;IACzBh5B,KAAK0iO,EAAU,kBAAVA,EAA8B3wa,CAA9B2wa,CADoB;IAEzBpoa,WAAWw/E,EAAG;MACZ,gBAAe,CADH;MAEZ,4BAA2B;IAFf,CAAHA,EAGRx/E,CAHQw/E;EAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,CANTo+M,CAAP;AAMgBp+M,CA5ElB;;AA8EAgua,GAAiBzqY,YAAjByqY,GAAgC;EAC9Bhua,UAAU;AADoB,CAAhCgua;;AAGA,IAAIE,KAAiB,SAAjBA,EAAiB,CAAwB30a,CAAxB,EAAwBA;EAC3C,IAAIyG,IAAWzG,EAAMyG,QAArB;EAAA,IACI8B,IAAYvI,EAAMuI,SADtB;EAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;EAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;EAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;EAKA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;IACzBh5B,KAAK0iO,EAAU,gBAAVA,EAA4B3wa,CAA5B2wa,CADoB;IAEzBpoa,WAAWw/E,EAAG;MACZ,gBAAe,CADH;MAEZ,yBAAwB;IAFZ,CAAHA,EAGRx/E,CAHQw/E;EAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,CANTo+M,CAAP;AAMgBp+M,CAZlB;;AAcAkua,GAAe3qY,YAAf2qY,GAA8B;EAC5Blua,UAAU;AADkB,CAA9Bkua;;AAMA,IAgLIC,EAhLJ;AAAA,IAYIC,KAA0B,UAAUC,CAAV,EAAUA;EACtCj2Q,GAAUg2Q,CAAVh2Q,EA4EAvpB,eA5EAupB;EAEA,IAAIe,IAAUd,GAAa+1Q,CAAb/1Q,CAAd;;EAEA,SAAS+1Q,CAAT,GAASA;IACP,IAAIh1Q,CAAJ;IAEAd,WAAAA,CAAgBxsK,IAAhBwsK,EAAsB81Q,CAAtB91Q;;IAEA,KAAK,IAAIitQ,IAAQz+a,UAAU/Q,MAAtB,EAA8B8Q,IAAO,IAAIxF,KAAJ,CAAUkkb,CAAV,CAArC,EAAuDC,IAAQ,CAApE,EAAuEA,IAAQD,CAA/E,EAAsFC,GAAtF;MACE3+a,EAAK2+a,CAAL3+a,IAAcC,UAAU0+a,CAAV1+a,CAAdD;IADF;;IAoBA,QAhBAuyK,IAASD,EAAQn2K,IAARm2K,CAAa73K,KAAb63K,CAAmBA,CAAnBA,EAA4B,CAACrtK,IAAD,EAAOvK,MAAP,CAAcsF,CAAd,CAA5BsyK,CAgBT,EAfOrkK,KAeP,GAfe;MACb0sJ,WAAW;IADE,CAef,EAXA4X,EAAO2zQ,kBAAP3zQ,GAA4B,UAAUjD,CAAV,EAAUA;MACpC,IAAI3U,IAAY2U,EAAM3U,SAAtB;MAGIA,MAFmBqrR,GAAgBzzQ,EAAO7/J,KAAP6/J,CAAag0Q,aAA7BP,CAEnBrrR,IACF4X,EAAOnrB,QAAPmrB,CAAgB;QACd5X,WAAWA;MADG,CAAhB4X,CADE5X;IAEWA,CAKjB,EAAO4X,CAAP;EA8CF;;EAAA,OA3CAb,WAAAA,CAAa61Q,CAAb71Q,EAAyB,CAAC;IACxBpiL,KAAK,QADmB;IAExBU,OAAO;MACL,IAAIy3b,IAAexib,KAAKyN,KAAxB;MAAA,IACIi7Z,IAAW8Z,EAAa9Z,QAD5B;MAAA,IAEIx0Z,IAAWsua,EAAatua,QAF5B;MAAA,IAGI8B,IAAYwsa,EAAaxsa,SAH7B;MAAA,IAIIysa,IAAiBD,EAAaC,cAJlC;MAAA,IAKIjtV,IAAKgtV,EAAahtV,EALtB;MAAA,IAMI2sV,IAAaK,EAAaL,UAN9B;MAAA,IAOIb,IAAgBkB,EAAalB,aAPjC;MAAA,IAQIj5a,IAAWm6a,EAAajB,YAR5B;MAAA,IASInD,IAAYoE,EAAapE,SAT7B;MAAA,IAUI/jO,IAAuB,YAAbhyM,CAVd;MAYA,KAAKqga,CAAL,IAAKA,CAAaruN,CAAlB,IAAkBA,CAAYooO,CAA9B,EACE,OAAO,IAAP;;MAGF,IAAI/sR,IAAY11J,KAAKgJ,KAALhJ,CAAW01J,SAAX11J,IAAwB+gb,GAAgBO,CAAhBP,CAAxC;MAAA,IACI/3U,IAxeV,UAA8Bz6F,CAA9B,EAA8BA;QAC5B,IAAIy6F,IAAOz6F,EAAQ8nD,qBAAR9nD,EAAX;QACA,OAAO;UACLgnF,QAAQyT,EAAKzT,MADR;UAELh/B,QAAQyyC,EAAKzyC,MAFR;UAGLvkD,MAAMg3F,EAAKh3F,IAHN;UAILC,OAAO+2F,EAAK/2F,KAJP;UAKLqkD,KAAK0yC,EAAK1yC,GALL;UAMLM,OAAOoyC,EAAKpyC;QANP,CAAP;MAsee8rX,CAxejB,CAwesCD,CAxetC,CAueM;MAAA,IAEIE,IAAiBtoO,IAAU,CAAVA,GAAc78M,OAAO87M,WAF1C;MAAA,IAGIhuL,IAAS09E,EAAK0sD,CAAL1sD,IAAkB25U,CAH/B;MAAA,IAUIC,IAActwN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;QACpCh5B,KAAK0iO,EAAU,YAAVA,EAPK;UACV9yZ,QAAQA,CADE;UAEVjjB,UAAUA,CAFA;UAGV2gG,MAAMA;QAHI,CAOLo1U,CAD+B;QAEpCpoa,WAAWw/E,EAAG;UACZ,gBAAe;QADH,CAAHA,EAERx/E,CAFQw/E;MAFyB,CAATk/I,EAK1BytM,CAL0BztM,CAAXpiB,EAKFp+M,CALEo+M,CAVlB;;MAgBA,OAAOA,GAAI0uN,GAAuBjsa,QAA3Bu9M,EAAqC;QAC1CvnO,OAAO;UACLk2b,oBAAoBjhb,KAAKihb;QADpB;MADmC,CAArC3uN,EAIJo2M,IAAwBl0Q,0BAAAA,CAAaouR,CAAbpuR,EAA0Bk0Q,CAA1Bl0Q,CAAxBk0Q,GAA8Dka,CAJ1DtwN,CAAP;IAIiEswN;EAvC3C,CAAD,CAAzBn2Q,GA2CO61Q,CAAP;AA5E4B,GAZ9B;;AAoLA,ICv4B+C1K,EDu4B/C;AAAA,ICv4BwDrma,EDu4BxD;AAAA,IAAIiE,KAAiC,QAAe;EAClD5qB,MAAM,QAD4C;EAElDgwG,QAAQ;AAF0C,CAAf,GAGjC,CAHJ;AAAA,IAaIioV,KAAM,SAANA,EAAM,CAAa7ua,CAAb,EAAaA;EACrB,IAAIqU,IAAOrU,EAAKqU,IAAhB;EAAA,IACI5a,IAAQgja,UAAAA,CAAyBz8Z,CAAzBy8Z,EAA+B,CAAC,MAAD,CAA/BA,CADZ;EAGA,OAAOn+M,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;IACzBn+K,QAAQluC,CADiB;IAEzBuuC,OAAOvuC,CAFkB;IAGzBiyI,SAAS,WAHgB;IAIzB,eAAe,MAJU;IAKzB/4C,WAAW,OALc;IAMzBm6F,KAAKlmM;EANoB,CAATk/N,EAOfjnO,CAPeinO,CAAXpiB,CAAP;AAOG7kN,CAxBL;AAAA,IA2BIq1a,KAAY,SAAZA,EAAY,CAAmBr1a,CAAnB,EAAmBA;EACjC,OAAO6kN,GAAIuwN,EAAJvwN,EAASoiB,UAAAA,CAAS;IACvBrsN,MAAM;EADiB,CAATqsN,EAEbjnO,CAFainO,CAATpiB,EAEIA,GAAI,MAAJA,EAAY;IACrBhyN,GAAG;EADkB,CAAZgyN,CAFJA,CAAP;AAGK,CA/BP;AAAA,IAkCIywN,KAAc,SAAdA,EAAc,CAAqBt1a,CAArB,EAAqBA;EACrC,OAAO6kN,GAAIuwN,EAAJvwN,EAASoiB,UAAAA,CAAS;IACvBrsN,MAAM;EADiB,CAATqsN,EAEbjnO,CAFainO,CAATpiB,EAEIA,GAAI,MAAJA,EAAY;IACrBhyN,GAAG;EADkB,CAAZgyN,CAFJA,CAAP;AAGK,CAtCP;AAAA,IA4CI0wN,KAAU,SAAVA,EAAU,CAAiBjrX,CAAjB,EAAiBA;EAC7B,IAAIk2W,IAAYl2W,EAAMk2W,SAAtB;EAAA,IACIgV,IAAclrX,EAAM4hX,KADxB;EAAA,IAEIkI,IAAWoB,EAAY3gB,OAAZ2gB,CAAoBpB,QAFnC;EAAA,IAGIC,IAASmB,EAAYnB,MAHzB;EAIA,OAAO;IACLt/a,OAAO,oBADF;IAEL08D,OAAO+uW,IAAY6T,EAAOoB,SAAnBjV,GAA+B6T,EAAOqB,SAFxC;IAGL/lX,SAAS,MAHJ;IAIL8mJ,SAAoB,IAAX29N,CAJJ;IAKL35P,YAAY,aALP;IAML,UAAU;MACRhpH,OAAO+uW,IAAY6T,EAAOsB,SAAnBnV,GAA+B6T,EAAOC;IADrC;EANL,CAAP;AAOiDA,CAxDnD;AAAA,IA6DIsB,KAAuBL,EA7D3B;AAAA,IA4EIM,KAAoBN,EA5ExB;AAAA,IA2HIO,KbhyBY;EACd,IAAIC,IAAa9nO,GAAIlmN,KAAJkmN,CAAIlmN,KAAM,CAAVkmN,EAAkB1gN,SAAlB0gN,CAAjB;EAAA,IACI9wN,IAAO,eAAe44b,EAAW54b,IADrC;EAGA,OAAO;IACLA,MAAMA,CADD;IAELgwG,QAAQ,gBAAgBhwG,CAAhB,GAAuB,GAAvB,GAA6B44b,EAAW5oV,MAAxC,GAAiD,GAFpD;IAGL/0B,MAAM,CAHD;IAIL9yE,UAAU;MACR,OAAO,UAAUiN,KAAKpV,IAAf,GAAsB,GAAtB,GAA4BoV,KAAK46F,MAAjC,GAA0C,OAAjD;IAAiD;EAL9C,CAAP;Aa4xByB7f,CbhyBX,CagyBqBsnW,OClgCUzK,KDkgCmD,CAAC,4DAAD,CClgCnDA,EACxCrma,OACHA,KAAMqma,GAAQltb,KAARktb,CAAc,CAAdA,CADHrma,CADwCqma,EDkgCUyK,KC7/BhDvpb,OAAOkhC,MAAPlhC,CAAcA,OAAO+W,gBAAP/W,CAAwB8+a,EAAxB9+a,EAAiC;EACpDyY,KAAK;IACHxmB,OAAO+N,OAAOkhC,MAAPlhC,CAAcyY,EAAdzY;EADJ;AAD+C,CAAjCA,CAAdA,CD6/B4Bupb,CbhyBrB,CaqqBhB;AAAA,IAiJIoB,KAAa,SAAbA,EAAa,CAAoBr5Q,CAApB,EAAoBA;EACnC,IAAI2yD,IAAQ3yD,EAAM2yD,KAAlB;EAAA,IACIzxM,IAAS8+I,EAAM9+I,MADnB;EAEA,OAAOgnM,GAAI,MAAJA,EAAY;IACjB5W,KAAkBgoO,GAAM;MACtBr+W,WAAW,GAAG5vE,MAAH,CAAU8tb,EAAV,EAAgC,kBAAhC,EAAoD9tb,MAApD,CAA2DsnO,CAA3D,EAAkE,cAAlE,CADW;MAEtB7uG,iBAAiB,cAFK;MAGtBy1T,cAAc,KAHQ;MAItBvmX,SAAS,cAJa;MAKtBwmX,YAAYt4Z,IAAS,KAATA,GAAiB,IALP;MAMtBirC,QAAQ,KANc;MAOtBstX,eAAe,KAPO;MAQtBjtX,OAAO;IARe,CAAN8sX,EASU,QAAe,EAAf,GAAoB,CAT9BA,EAS6E,QAAe,EAAf,GAAoB,CATjGA;EADD,CAAZpxN,CAAP;AAUqH,CA9JvH;AAAA,IAkKIwxN,KAAmB,SAAnBA,EAAmB,CAA0Br2a,CAA1B,EAA0BA;EAC/C,IAAIuI,IAAYvI,EAAMuI,SAAtB;EAAA,IACIw/E,IAAK/nF,EAAM+nF,EADf;EAAA,IAEI4oV,IAAY3wa,EAAM2wa,SAFtB;EAAA,IAGI+D,IAAa10a,EAAM00a,UAHvB;EAAA,IAII7D,IAAQ7wa,EAAM6wa,KAJlB;EAKA,OAAOhsN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;IACzBh5B,KAAK0iO,EAAU,kBAAVA,EAA8B3wa,CAA9B2wa,CADoB;IAEzBpoa,WAAWw/E,EAAG;MACZuuV,YAAW,CADC;MAEZ,sBAAqB;IAFT,CAAHvuV,EAGRx/E,CAHQw/E;EAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSA,GAAImxN,EAAJnxN,EAAgB;IAC9ByK,OAAO,CADuB;IAE9BzxM,QAAQgzZ;EAFsB,CAAhBhsN,CANTA,EASHA,GAAImxN,EAAJnxN,EAAgB;IAClByK,OAAO,GADW;IAElBzxM,SAAQ;EAFU,CAAhBgnM,CATGA,EAYHA,GAAImxN,EAAJnxN,EAAgB;IAClByK,OAAO,GADW;IAElBzxM,SAASgzZ;EAFS,CAAhBhsN,CAZGA,CAAP;AAcWgsN,CAtLb;;AAyLAwF,GAAiBrsY,YAAjBqsY,GAAgC;EAC9Bz7Z,MAAM;AADwB,CAAhCy7Z;;AAIA,IAkIIv7B,KAAa,SAAbA,EAAa,CAAoBzgN,CAApB,EAAoBA;EACnC,OAAO;IACLtlM,OAAO,OADF;IAELwhb,YAAY,CAFP;IAGLC,QAAQ,CAHH;IAIL7nV,UAAU,SAJL;IAKL8L,SAAS4/F,IAAW,CAAXA,GAAe,CALnB;IAMLo8O,SAAS,CANJ;IAOLhgO,SAAS,CAPJ;IAQLhlJ,OAAO;EARF,CAAP;AAQS,CA3IX;AAAA,IAwNIilX,KAAoB,SAApBA,EAAoB,CAA2B3rX,CAA3B,EAA2BA;EACjD,IAAItkD,IAAWskD,EAAMtkD,QAArB;EAAA,IACIiua,IAAa3pX,EAAM2pX,UADvB;EAEA,OAAO7vN,GAAI,KAAJA,EAAW6vN,CAAX7vN,EAAuBp+M,CAAvBo+M,CAAP;AAA8Bp+M,CA3NhC;AAAA,IA6NIkwa,KAAsBD,EA7N1B;AAAA,IA8NIE,KAAkBF,EA9NtB;;AAuOA,IAAIG,KAAa,SAAbA,EAAa,CAAoB72a,CAApB,EAAoBA;EACnC,IAAIyG,IAAWzG,EAAMyG,QAArB;EAAA,IACI8B,IAAYvI,EAAMuI,SADtB;EAAA,IAEIuua,IAAa92a,EAAM82a,UAFvB;EAAA,IAGI/uV,IAAK/nF,EAAM+nF,EAHf;EAAA,IAIIvoG,IAAOwgB,EAAMxgB,IAJjB;EAAA,IAKImxb,IAAY3wa,EAAM2wa,SALtB;EAAA,IAMI+D,IAAa10a,EAAM00a,UANvB;EAAA,IAOIr9R,IAAar3I,EAAMq3I,UAPvB;EAAA,IAQI0/R,IAAc/2a,EAAM+2a,WARxB;EAAA,IASIhG,IAAc/wa,EAAM+wa,WATxB;EAAA,IAUIiG,IAAYF,EAAWE,SAV3B;EAAA,IAWIC,IAAQH,EAAWG,KAXvB;EAAA,IAYIC,IAASJ,EAAWI,MAZxB;EAaA,OAAOryN,GAAIgnN,EAAJhnN,EAAgB,IAAhBA,EAAsB,UAAUloD,CAAV,EAAUA;IACrC,IAAIsxC,IAAMtxC,EAAMsxC,GAAhB;IAAA,IACIkpO,IAAYx6Q,EAAM50E,EADtB;IAEA,OAAO88H,GAAImyN,CAAJnyN,EAAe;MACpBrlO,MAAMA,CADc;MAEpBk1b,YAAYzya,GAAe;QACzBsG,WAAW4ua,EAAUlpO,EAAI0iO,EAAU,YAAVA,EAAwB3wa,CAAxB2wa,CAAJ1iO,CAAVkpO,EAA+CpvV,EAAG;UAC3D,gBAAe,CAD4C;UAE3D,4BAA4BsvD;QAF+B,CAAHtvD,EAGvDx/E,CAHuDw/E,CAA/CovV;MADc,CAAfl1a,EAKTyya,CALSzya,CAFQ;MAQpB8ua,aAAaA;IARO,CAAflsN,EASJA,GAAIoyN,CAAJpyN,EAAW;MACZrlO,MAAMA,CADM;MAEZk1b,YAAY;QACVnsa,WAAW4ua,EAAUlpO,EAAI0iO,EAAU,iBAAVA,EAA6B3wa,CAA7B2wa,CAAJ1iO,CAAVkpO,EAAoDpvV,EAAG;UAChE,uBAAsB;QAD0C,CAAHA,EAE5Dx/E,CAF4Dw/E,CAApDovV;MADD,CAFA;MAOZpG,aAAaA;IAPD,CAAXlsN,EAQAp+M,CARAo+M,CATIA,EAiBOA,GAAIqyN,CAAJryN,EAAY;MACxBrlO,MAAMA,CADkB;MAExBk1b,YAAYzya,GAAe;QACzBsG,WAAW4ua,EAAUlpO,EAAI0iO,EAAU,kBAAVA,EAA8B3wa,CAA9B2wa,CAAJ1iO,CAAVkpO,EAAqDpvV,EAAG;UACjE,wBAAuB;QAD0C,CAAHA,EAE7Dx/E,CAF6Dw/E,CAArDovV;MADc,CAAfl1a,EAIT80a,CAJS90a,CAFY;MAOxB8ua,aAAaA;IAPW,CAAZlsN,CAjBPA,CAAP;EAwBeksN,CA3BVlsN,CAAP;AA2BiBksN,CAzCnB;;AA8CA8F,GAAW7sY,YAAX6sY,GAA0B;EACxBO,mBAAkB;AADM,CAA1BP;AAIA,IAgHIC,KAAa;EACfO,gBA1fmB,wBAAwBr3a,CAAxB,EAAwBA;IAC3C,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;IAKA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,gBAAVA,EAA4B3wa,CAA5B2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZuuV,YAAW,CADC;QAEZ,oBAAmB;MAFP,CAAHvuV,EAGRx/E,CAHQw/E;IAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,KAAYo+M,GAAIwwN,EAAJxwN,EAAe,IAAfA,CANrBA,CAAP;EAM2C,CA6e5B;EAEfnlC,SA7WY,iBAAiB1/K,CAAjB,EAAiBA;IAC7B,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACIshF,IAAK/nF,EAAM+nF,EADf;IAAA,IAEI4oV,IAAY3wa,EAAM2wa,SAFtB;IAAA,IAGIpoa,IAAYvI,EAAMuI,SAHtB;IAAA,IAII8uI,IAAar3I,EAAMq3I,UAJvB;IAAA,IAKImpR,IAAYxga,EAAMwga,SALtB;IAAA,IAMI/2N,IAAWzpM,EAAMypM,QANrB;IAAA,IAOIirO,IAAa10a,EAAM00a,UAPvB;IAAA,IAQI4C,IAAat3a,EAAMs3a,UARvB;IASA,OAAOzyN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBxjO,KAAKgmM,CADoB;MAEzBwE,KAAK0iO,EAAU,SAAVA,EAAqB3wa,CAArB2wa,CAFoB;MAGzBpoa,WAAWw/E,EAAG;QACZ41S,UAAS,CADG;QAEZ,wBAAwBtmP,CAFZ;QAGZ,uBAAuBmpR,CAHX;QAIZ,yBAAyB8W;MAJb,CAAHvvV,EAKRx/E,CALQw/E;IAHc,CAATk/I,EASfytM,CATeztM,CAAXpiB,EASSp+M,CATTo+M,CAAP;EASgBp+M,CAwVD;EAGf8wa,mBA3gBsB,2BAA2Bv3a,CAA3B,EAA2BA;IACjD,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;IAKA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,mBAAVA,EAA+B3wa,CAA/B2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZuuV,YAAW,CADC;QAEZ,uBAAsB;MAFV,CAAHvuV,EAGRx/E,CAHQw/E;IAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,KAAYo+M,GAAIywN,EAAJzwN,EAAiB,IAAjBA,CANrBA,CAAP;EAM6C,CA4f9B;EAIfywN,aAAaA,EAJE;EAKfD,WAAWA,EALI;EAMfmC,OAnVU,eAAex3a,CAAf,EAAeA;IACzB,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII8G,IAAUz3a,EAAMy3a,OAJpB;IAAA,IAKIC,IAAe13a,EAAM03a,YALzB;IAAA,IAMIhD,IAAa10a,EAAM00a,UANvB;IAAA,IAOI3/a,IAAQiL,EAAMjL,KAPlB;IAAA,IAQIm3a,IAAQlsa,EAAMksa,KARlB;IAAA,IASI6E,IAAc/wa,EAAM+wa,WATxB;IAUA,OAAOlsN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,OAAVA,EAAmB3wa,CAAnB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZjD,QAAO;MADK,CAAHiD,EAERx/E,CAFQw/E;IAFc,CAATk/I,EAKfytM,CALeztM,CAAXpiB,EAKSA,GAAI4yN,CAAJ5yN,EAAaoiB,UAAAA,CAAS,EAATA,EAAaywM,CAAbzwM,EAA2B;MACtD8pM,aAAaA,CADyC;MAEtD7E,OAAOA,CAF+C;MAGtDyE,WAAWA,CAH2C;MAItD5oV,IAAIA;IAJkD,CAA3Bk/I,CAAbpiB,EAKZ9vN,CALY8vN,CALTA,EAUKA,GAAI,KAAJA,EAAW,IAAXA,EAAiBp+M,CAAjBo+M,CAVLA,CAAP;EAU6Bp+M,CAwTd;EAOfkxa,cA7SiB,sBAAsB33a,CAAtB,EAAsBA;IACvC,IAAI2wa,IAAY3wa,EAAM2wa,SAAtB;IAAA,IACI5oV,IAAK/nF,EAAM+nF,EADf;IAAA,IAEIx/E,IAAYvI,EAAMuI,SAFtB;IAAA,IAIIqva,IAAoBnH,GAAiBzwa,CAAjBywa,CAJxB;IAKImH,EAAkBp4b,IAAlBo4b;IACA,IAAIlD,IAAa1R,UAAAA,CAAyB4U,CAAzB5U,EAA4C,CAAC,MAAD,CAA5CA,CAAjB;IAEJ,OAAOn+M,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,cAAVA,EAA0B3wa,CAA1B2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ,kBAAiB;MADL,CAAHA,EAERx/E,CAFQw/E;IAFc,CAATk/I,EAKfytM,CALeztM,CAAXpiB,CAAP;EAKG6vN,CAwRY;EAQfmD,qBAhmBwB,6BAA6B73a,CAA7B,EAA6BA;IACrD,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI2sV,IAAa10a,EAAM00a,UAHvB;IAAA,IAII/D,IAAY3wa,EAAM2wa,SAJtB;IAKA,OAAO9rN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,qBAAVA,EAAiC3wa,CAAjC2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ+vV,aAAY;MADA,CAAH/vV,EAERx/E,CAFQw/E;IAFc,CAATk/I,EAKfytM,CALeztM,CAAXpiB,EAKSp+M,CALTo+M,CAAP;EAKgBp+M,CA6kBD;EASfsxa,oBAneuB,4BAA4B/3a,CAA5B,EAA4BA;IACnD,IAAIuI,IAAYvI,EAAMuI,SAAtB;IAAA,IACIw/E,IAAK/nF,EAAM+nF,EADf;IAAA,IAEI4oV,IAAY3wa,EAAM2wa,SAFtB;IAAA,IAGI+D,IAAa10a,EAAM00a,UAHvB;IAIA,OAAO7vN,GAAI,MAAJA,EAAYoiB,UAAAA,CAAS,EAATA,EAAaytM,CAAbztM,EAAyB;MAC1Ch5B,KAAK0iO,EAAU,oBAAVA,EAAgC3wa,CAAhC2wa,CADqC;MAE1Cpoa,WAAWw/E,EAAG;QACZ,wBAAuB;MADX,CAAHA,EAERx/E,CAFQw/E;IAF+B,CAAzBk/I,CAAZpiB,CAAP;EAIKt8M,CAidU;EAUf+rR,OApQU,eAAet0R,CAAf,EAAeA;IACzB,IAAIuI,IAAYvI,EAAMuI,SAAtB;IAAA,IACIw/E,IAAK/nF,EAAM+nF,EADf;IAAA,IAEI4oV,IAAY3wa,EAAM2wa,SAFtB;IAAA,IAIIiH,IAAoBnH,GAAiBzwa,CAAjBywa,CAJxB;IAAA,IAKIhnO,IAAWmuO,EAAkBnuO,QALjC;IAAA,IAMIpyD,IAAaugS,EAAkBvgS,UANnC;IAAA,IAOIgjD,IAAWu9O,EAAkBv9O,QAPjC;IAAA,IAQIq6O,IAAa1R,UAAAA,CAAyB4U,CAAzB5U,EAA4C,CAAC,UAAD,EAAa,YAAb,EAA2B,UAA3B,CAA5CA,CARjB;IAUA,OAAOn+M,GAAI,KAAJA,EAAW;MAChB5W,KAAK0iO,EAAU,OAAVA,EAAmB3wa,CAAnB2wa;IADW,CAAX9rN,EAEJA,GAAI8pN,WAAJ9pN,EAAmBoiB,UAAAA,CAAS;MAC7B1+N,WAAWw/E,EAAG;QACZlzF,QAAO;MADK,CAAHkzF,EAERx/E,CAFQw/E,CADkB;MAI7Bo6S,UAAU14L,CAJmB;MAK7BqxM,YAAYA,GAAWzgN,CAAXygN,CALiB;MAM7B7zP,UAAU5P;IANmB,CAAT4vF,EAOnBytM,CAPmBztM,CAAnBpiB,CAFIA,CAAP;EASG6vN,CAsOY;EAWf2B,kBAAkBA,EAXH;EAYfl3P,MA32BS,cAAcn/K,CAAd,EAAcA;IACvB,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAIIlnO,IAAWzpM,EAAMypM,QAJrB;IAAA,IAKIirO,IAAa10a,EAAM00a,UALvB;IAMA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,MAAVA,EAAkB3wa,CAAlB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZiwV,OAAM;MADM,CAAHjwV,EAERx/E,CAFQw/E,CAFc;MAKzBtkF,KAAKgmM;IALoB,CAATw9B,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,CANTo+M,CAAP;EAMgBp+M,CAk1BD;EAafwxa,UA70Ba,kBAAkBj4a,CAAlB,EAAkBA;IAC/B,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;IAAA,IAKIjrO,IAAWzpM,EAAMypM,QALrB;IAAA,IAMImnO,IAAU5wa,EAAM4wa,OANpB;IAOA,OAAO/rN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,UAAVA,EAAsB3wa,CAAtB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ,cAAa,CADD;QAEZ,uBAAuB6oV;MAFX,CAAH7oV,EAGRx/E,CAHQw/E,CAFc;MAMzBtkF,KAAKgmM;IANoB,CAATw9B,EAOfytM,CAPeztM,CAAXpiB,EAOSp+M,CAPTo+M,CAAP;EAOgBp+M,CAizBD;EAcfoua,YAAYA,EAdG;EAefF,gBAAgBA,EAfD;EAgBfF,kBAAkBA,EAhBH;EAiBfoC,YAAYA,EAjBG;EAkBfF,qBAAqBA,EAlBN;EAmBfC,iBAAiBA,EAnBF;EAoBfsB,kBA9LF,0BAA0Bx7Q,CAA1B,EAA0BA;IACxB,IAAIj2J,IAAWi2J,EAAMj2J,QAArB;IAAA,IACIiua,IAAah4Q,EAAMg4Q,UADvB;IAEA,OAAO7vN,GAAI,KAAJA,EAAW6vN,CAAX7vN,EAAuBp+M,KAAYo+M,GAAIwwN,EAAJxwN,EAAe;MACvDjqM,MAAM;IADiD,CAAfiqM,CAAnCA,CAAP;EACQ,CAsKO;EAqBfszN,QA5GW,gBAAgBn4a,CAAhB,EAAgBA;IAC3B,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAIIt5R,IAAar3I,EAAMq3I,UAJvB;IAAA,IAKImpR,IAAYxga,EAAMwga,SALtB;IAAA,IAMI/nR,IAAaz4I,EAAMy4I,UANvB;IAAA,IAOIgxD,IAAWzpM,EAAMypM,QAPrB;IAAA,IAQIirO,IAAa10a,EAAM00a,UARvB;IASA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,QAAVA,EAAoB3wa,CAApB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZohI,SAAQ,CADI;QAEZ,uBAAuB9xE,CAFX;QAGZ,sBAAsBmpR,CAHV;QAIZ,uBAAuB/nR;MAJX,CAAH1wD,EAKRx/E,CALQw/E,CAFc;MAQzBtkF,KAAKgmM;IARoB,CAATw9B,EASfytM,CATeztM,CAAXpiB,EASSp+M,CATTo+M,CAAP;EASgBp+M,CAoED;EAsBf2xa,aAxEgB,qBAAqBp4a,CAArB,EAAqBA;IACrC,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;IAKA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,aAAVA,EAAyB3wa,CAAzB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZy5D,cAAa;MADD,CAAHz5D,EAERx/E,CAFQw/E;IAFc,CAATk/I,EAKfytM,CALeztM,CAAXpiB,EAKSp+M,CALTo+M,CAAP;EAKgBp+M,CAuCD;EAuBf4xa,iBA3qBoB,yBAAyBr4a,CAAzB,EAAyBA;IAC7C,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAII+D,IAAa10a,EAAM00a,UAJvB;IAAA,IAKIr9R,IAAar3I,EAAMq3I,UALvB;IAAA,IAMIw5R,IAAQ7wa,EAAM6wa,KANlB;IAOA,OAAOhsN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,WAAVA,EAAuB3wa,CAAvB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ,iBAAiBsvD,CADL;QAEZ,YAAYw5R;MAFA,CAAH9oV,EAGRx/E,CAHQw/E;IAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,CANTo+M,CAAP;EAMgBp+M,CAsoBD;EAwBf6xa,aAxCgB,qBAAqBt4a,CAArB,EAAqBA;IACrC,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI4oV,IAAY3wa,EAAM2wa,SAHtB;IAAA,IAIIt5R,IAAar3I,EAAMq3I,UAJvB;IAAA,IAKIq9R,IAAa10a,EAAM00a,UALvB;IAMA,OAAO7vN,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,aAAVA,EAAyB3wa,CAAzB2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ,iBAAgB,CADJ;QAEZ,6BAA6BsvD;MAFjB,CAAHtvD,EAGRx/E,CAHQw/E;IAFc,CAATk/I,EAMfytM,CANeztM,CAAXpiB,EAMSp+M,CANTo+M,CAAP;EAMgBp+M,CAGD;EAyBf8xa,gBA7oBmB,wBAAwBv4a,CAAxB,EAAwBA;IAC3C,IAAIyG,IAAWzG,EAAMyG,QAArB;IAAA,IACI8B,IAAYvI,EAAMuI,SADtB;IAAA,IAEIw/E,IAAK/nF,EAAM+nF,EAFf;IAAA,IAGI2sV,IAAa10a,EAAM00a,UAHvB;IAAA,IAII9D,IAAU5wa,EAAM4wa,OAJpB;IAAA,IAKID,IAAY3wa,EAAM2wa,SALtB;IAAA,IAMI32M,IAAWh6N,EAAMg6N,QANrB;IAOA,OAAOnV,GAAI,KAAJA,EAAWoiB,UAAAA,CAAS;MACzBh5B,KAAK0iO,EAAU,gBAAVA,EAA4B3wa,CAA5B2wa,CADoB;MAEzBpoa,WAAWw/E,EAAG;QACZ,oBAAmB,CADP;QAEZ,6BAA6B6oV,CAFjB;QAGZ,8BAA8B52M;MAHlB,CAAHjyI,EAIRx/E,CAJQw/E;IAFc,CAATk/I,EAOfytM,CAPeztM,CAAXpiB,EAOSp+M,CAPTo+M,CAAP;EAOgBp+M;AAqmBD,CAhHjB;;AE71Ce,SAASnD,EAAT,CAA2B7S,CAA3B,EAAgC0N,CAAhC,EAAgCA;EAAAA,CAClC,QAAPA,CAAO,IAAQA,IAAM1N,EAAIjU,MADgB2hB,MACRA,IAAM1N,EAAIjU,MADF2hB;;EAG7C,KAAK,IAAI5hB,IAAI,CAAR,EAAWgnB,IAAO,IAAIzb,KAAJ,CAAUqW,CAAV,CAAvB,EAAuC5hB,IAAI4hB,CAA3C,EAAgD5hB,GAAhD;IACEgnB,EAAKhnB,CAALgnB,IAAU9S,EAAIlU,CAAJkU,CAAV8S;EADF;;EAIA,OAAOA,CAAP;ACHa;;AAAA,SAASi1a,EAAT,CAA4B/nb,CAA5B,EAA4BA;EACzC,OCJa,UAA4BA,CAA5B,EAA4BA;IACzC,IAAI3I,MAAMgD,OAANhD,CAAc2I,CAAd3I,CAAJ,EAAwB,OAAO2wb,GAAiBhob,CAAjBgob,CAAP;EDGjBC,CCJM,CDIYjob,CCJZ,KCDA,UAA0Bg2I,CAA1B,EAA0BA;IACvC,IAAsB,sBAAXrzI,MAAW,IAAwC,QAAzBqzI,EAAKrzI,OAAOkP,QAAZmkI,CAAf,IAAsE,QAAtBA,EAAK,YAALA,CAAtE,EAAkG,OAAO3+I,MAAM2S,IAAN3S,CAAW2+I,CAAX3+I,CAAP;EFIjE6wb,CELpB,CFKoClob,CELpC,CDCA,IEAA,UAAqCsC,CAArC,EAAwCsQ,CAAxC,EAAwCA;IACrD,IAAKtQ,CAAL;MACA,IAAiB,mBAANA,CAAX,EAA2B,OAAO0lb,GAAiB1lb,CAAjB0lb,EAAoBp1a,CAApBo1a,CAAP;MAC3B,IAAI/kb,IAAIrI,OAAO9G,SAAP8G,CAAiB/F,QAAjB+F,CAA0B5B,IAA1B4B,CAA+B0H,CAA/B1H,EAAkCpO,KAAlCoO,CAAwC,CAAxCA,EAAwC,CAAI,CAA5CA,CAAR;MAEA,OADU,aAANqI,CAAM,IAAYX,EAAE3B,WAAd,KAA2BsC,IAAIX,EAAE3B,WAAF2B,CAAc5V,IAA7C,GACA,UAANuW,CAAM,IAAe,UAANA,CAAT,GAA6B5L,MAAM2S,IAAN3S,CAAWiL,CAAXjL,CAA7B,GACA,gBAAN4L,CAAM,IAAe,2CAA2CrW,IAA3C,CAAgDqW,CAAhD,CAAf,GAA0E+kb,GAAiB1lb,CAAjB0lb,EAAoBp1a,CAApBo1a,CAA1E,GAA8Fp1a,KAAxG,CADA;IACA;EHFyDu1a,CGJ5C,CHIuEnob,CGJvE,CFAA,IGDA;IACb,MAAM,IAAIxU,SAAJ,CAAc,sIAAd,CAAN;EJI4F48b,CIL/E,EJKb;AKLF;;AAAA,IAAIC,KAAY1/Z,OAAO57B,KAAP47B,IACZ,UAAkB97B,CAAlB,EAAkBA;EACd,OAAwB,mBAAVA,CAAU,IAAYA,KAAUA,CAA9C;AAA8CA,CAFtD;;AAaA,SAASy7b,EAAT,CAAwBC,CAAxB,EAAmCC,CAAnC,EAAmCA;EAC/B,IAAID,EAAUx8b,MAAVw8b,KAAqBC,EAAWz8b,MAApC,EACI,QAAO,CAAP;;EAEJ,KAAK,IAAID,IAAI,CAAb,EAAgBA,IAAIy8b,EAAUx8b,MAA9B,EAAsCD,GAAtC;IACI,IAdSinF,IAcIw1W,EAAUz8b,CAAVy8b,CAdJx1W,EAAO8tB,IAcW2nV,EAAW18b,CAAX08b,CAdlBz1W,EAc6BjnF,EAbtCinF,MAAU8tB,CAAV9tB,IAGAs1W,GAAUt1W,CAAVs1W,KAAoBA,GAAUxnV,CAAVwnV,CAUkBv8b,CAAtC,EACI,QAAO,CAAP;EAFR;;EAbJ,IAAiBinF,CAAjB,EAAwB8tB,CAAxB;EAkBI,QAAO,CAAP;ACqcJ;;AAAA,KA9cA,IAAI/qF,KAAgC,QAAe;EACjDppB,MAAM,iBAD2C;EAEjDgwG,QAAQ;AAFyC,CAAf,GAGhC,CAHJ,EAUI+rV,KAAW,SAAXA,EAAW,CAAkBl5a,CAAlB,EAAkBA;EAC/B,OAAO6kN,GAAI,MAAJA,EAAYoiB,UAAAA,CAAS;IAC1Bh5B,KAAK1nM;EADqB,CAAT0gO,EAEhBjnO,CAFgBinO,CAAZpiB,CAAP;AAEG7kN,CAbL,EAgBIm5a,KAA0B;EAC5BC,UAAU,kBAAkBp5a,CAAlB,EAAkBA;IAC1B,IAAIq5a,IAAer5a,EAAMq5a,YAAzB;IAAA,IACIzI,IAAU5wa,EAAM4wa,OADpB;IAAA,IAEIv5R,IAAar3I,EAAMq3I,UAFvB;IAAA,IAGIiiS,IAAkBt5a,EAAMs5a,eAH5B;;IAMA,QAFct5a,EAAM3b,OAEpB;MACE,KAAK,MAAL;QACE,OAAO,oCAAoC2D,MAApC,CAA2CqvJ,IAAa,EAAbA,GAAkB,sDAA7D,EAAqH,iCAArH,EAAwJrvJ,MAAxJ,CAA+Jsxb,IAAkB,oDAAlBA,GAAyE,EAAxO,EAA4O,GAA5O,CAAP;;MAEF,KAAK,OAAL;QACE,OAAO,GAAGtxb,MAAH,CAAUgY,EAAM,YAANA,KAAuB,QAAjC,EAA2C,cAA3C,EAA2DhY,MAA3D,CAAkEqxb,IAAe,sBAAfA,GAAwC,EAA1G,EAA8G,iCAA9G,EAAiJrxb,MAAjJ,CAAwJ4ob,IAAU,sCAAVA,GAAmD,EAA3M,CAAP;;MAEF,KAAK,OAAL;QACE,OAAO,4GAAP;;MAEF;QACE,OAAO,EAAP;IAXJ;EAWW,CAnBe;EAsB5B5na,UAAU,kBAAkBhJ,CAAlB,EAAkBA;IAC1B,IAAI4pD,IAAS5pD,EAAM4pD,MAAnB;IAAA,IACI2vX,IAAev5a,EAAMjL,KADzB;IAAA,IAEIA,SAAyB,CAAzBA,KAAQwkb,CAARxkb,GAAkC,EAAlCA,GAAuCwkb,CAF3C;IAAA,IAGIliS,IAAar3I,EAAMq3I,UAHvB;;IAKA,QAAQztF,CAAR;MACE,KAAK,iBAAL;MACA,KAAK,WAAL;MACA,KAAK,cAAL;QACE,OAAO,UAAU5hE,MAAV,CAAiB+M,CAAjB,EAAwB,eAAxB,CAAP;;MAEF,KAAK,eAAL;QACE,OAAoB,UAAU/M,MAAV,CAAiB+M,CAAjB,EAAbsiJ,IAAqC,sCAArCA,GAAuG,aAA1F,CAApB;;MAEF;QACE,OAAO,EAAP;IAVJ;EAUW,CAtCe;EAyC5BzuI,SAAS,iBAAiB5I,CAAjB,EAAiBA;IACxB,IAAI3b,IAAU2b,EAAM3b,OAApB;IAAA,IACIm1b,IAAiBx5a,EAAM2oJ,OAD3B;IAAA,IAEIA,SAA6B,CAA7BA,KAAU6wR,CAAV7wR,GAAsC,EAAtCA,GAA2C6wR,CAF/C;IAAA,IAGIx9b,IAAUgkB,EAAMhkB,OAHpB;IAAA,IAIIy9b,IAAgBz5a,EAAMjL,KAJ1B;IAAA,IAKIA,SAA0B,CAA1BA,KAAQ0kb,CAAR1kb,GAAmC,EAAnCA,GAAwC0kb,CAL5C;IAAA,IAMIC,IAAc15a,EAAM05a,WANxB;IAAA,IAOIriS,IAAar3I,EAAMq3I,UAPvB;IAAA,IAQIoB,IAAaz4I,EAAMy4I,UARvB;IAAA,IAUIkhS,IAAgB,SAAhBA,CAAgB,CAAuBlpb,CAAvB,EAA4BwwC,CAA5B,EAA4BA;MAC9C,OAAOxwC,KAAOA,EAAIjU,MAAXiU,GAAoB,GAAGzI,MAAH,CAAUyI,EAAI9T,OAAJ8T,CAAYwwC,CAAZxwC,IAAoB,CAA9B,EAAiC,MAAjC,EAAyCzI,MAAzC,CAAgDyI,EAAIjU,MAApD,CAApBiU,GAAkF,EAAzF;IAAyF,CAX3F;;IAcA,IAAgB,YAAZpM,CAAY,IAAWq1b,CAA3B,EACE,OAAO,SAAS1xb,MAAT,CAAgB+M,CAAhB,EAAuB,YAAvB,EAAqC/M,MAArC,CAA4C2xb,EAAcD,CAAdC,EAA2BhxR,CAA3BgxR,CAA5C,EAAiF,GAAjF,CAAP;;IAGF,IAAgB,WAAZt1b,CAAJ,EAAwB;MACtB,IAAI4iK,IAAW5P,IAAa,WAAbA,GAA2B,EAA1C;MAAA,IACI31J,IAAS,GAAGsG,MAAH,CAAUywJ,IAAa,UAAbA,GAA0B,SAApC,EAA+CzwJ,MAA/C,CAAsDi/J,CAAtD,CADb;MAEA,OAAO,UAAUj/J,MAAV,CAAiB+M,CAAjB,EAAwB,GAAxB,EAA6B/M,MAA7B,CAAoCtG,CAApC,EAA4C,IAA5C,EAAkDsG,MAAlD,CAAyD2xb,EAAc39b,CAAd29b,EAAuBhxR,CAAvBgxR,CAAzD,EAA0F,GAA1F,CAAP;IAGF;;IAAA,OAAO,EAAP;EAAO,CAlEmB;EAoE5BC,UAAU,kBAAkB55a,CAAlB,EAAkBA;IAC1B,IAAIopJ,IAAappJ,EAAMopJ,UAAvB;IAAA,IACIywR,IAAiB75a,EAAM65a,cAD3B;IAEA,OAAO,GAAG7xb,MAAH,CAAU6xb,CAAV,EAA0B7xb,MAA1B,CAAiCohK,IAAa,sBAAsBA,CAAnCA,GAAgD,EAAjF,EAAqF,GAArF,CAAP;EAA4F;AAvElE,CAhB9B,EA2FI0wR,KAAa,SAAbA,EAAa,CAAoB95a,CAApB,EAAoBA;EACnC,IAAI+5a,IAAgB/5a,EAAM+5a,aAA1B;EAAA,IACIC,IAAgBh6a,EAAMg6a,aAD1B;EAAA,IAEIC,IAAej6a,EAAMi6a,YAFzB;EAAA,IAGIC,IAAmBl6a,EAAMk6a,gBAH7B;EAAA,IAII1Z,IAAYxga,EAAMwga,SAJtB;EAAA,IAKIkZ,IAAc15a,EAAM05a,WALxB;EAAA,IAMI3I,IAAc/wa,EAAM+wa,WANxB;EAAA,IAOIoJ,IAAmBpJ,EAAYoJ,gBAPnC;EAAA,IAQIC,IAAiBrJ,EAAYqJ,cARjC;EAAA,IASIhxR,IAAa2nR,EAAY3nR,UAT7B;EAAA,IAUIwnR,IAAUG,EAAYH,OAV1B;EAAA,IAWIyJ,IAAmBtJ,EAAYsJ,gBAXnC;EAAA,IAYIhB,IAAetI,EAAYsI,YAZ/B;EAAA,IAaI/B,IAAavG,EAAYuG,UAb7B;EAAA,IAcIt7b,IAAU+0b,EAAY/0b,OAd1B;EAAA,IAeIs+b,IAAqBvJ,EAAYuJ,kBAfrC;EAAA,IAgBIhB,IAAkBvI,EAAYuI,eAhBlC;EAAA,IAiBIzkU,IAAYk8T,EAAY,YAAZA,CAjBhB;EAAA,IAkBIwJ,IAAWxJ,EAAY,WAAZA,CAlBf;EAAA,IAoBI92B,IAAWvzY,iBAACA,CAAO;IACrB,OAAOzE,GAAeA,GAAe,EAAfA,EAAmBk3a,EAAnBl3a,CAAfA,EAA4Dk4a,KAAoB,EAAhFl4a,CAAP;EAAuF,CAD1EyE,EAEZ,CAACyza,CAAD,CAFYzza,CApBf;EAAA,IAwBIsuI,IAAetuI,iBAACA,CAAO;IACzB,IAOmC1pB,CAPnC;IAAA,IAAIqI,IAAU,EAAd;;IAEA,IAAI00b,KAAiB9/B,EAASjxY,QAA9B,EAAwC;MACtC,IAAImgN,IAAS4wN,EAAc5wN,MAA3B;MAAA,IACIqxN,IAAeT,EAAcS,YADjC;MAAA,IAEIl9b,IAAQy8b,EAAcz8b,KAF1B;MAAA,IAQIs6J,IAAW4iS,KAAgBrxN,CAAhBqxN,KAJkBx9b,IAIiBM,CAJjBN,EACvB8K,MAAMgD,OAANhD,CAAc9K,CAAd8K,IAA2B,IAA3BA,GAAqB9K,CAGhBw9b,CARf;MAAA,IAUIC,IAAgBx4a,GAAe;QACjCo1I,YAAYO,KAAYyiS,EAAiBziS,CAAjByiS,CADS;QAEjCtlb,OAAO6iJ,IAAWwiS,EAAexiS,CAAfwiS,CAAXxiS,GAAsC;MAFZ,CAAf31I,EAGjB83a,CAHiB93a,CAVpB;MAeA5c,IAAU40Z,EAASjxY,QAATixY,CAAkBwgC,CAAlBxgC,CAAV50Z;IAGF;;IAAA,OAAOA,CAAP;EAAOA,CAtBUqhB,EAuBhB,CAACqza,CAAD,EAAgBM,CAAhB,EAAkCD,CAAlC,EAAkDngC,CAAlD,CAvBgBvzY,CAxBnB;EAAA,IAgDIg0a,IAAch0a,iBAACA,CAAO;IACxB,IAAIi0a,IAAW,EAAf;IAAA,IACIhyR,IAAUqxR,KAAiBC,CAD/B;IAAA,IAEIxhS,OAAgBuhS,KAAiBN,CAAjBM,IAAgCN,EAAYl0a,QAAZk0a,CAAqBM,CAArBN,CAAhDjhS,CAFJ;;IAIA,IAAIkQ,KAAWsxP,EAASrxY,OAAxB,EAAiC;MAC/B,IAAIgya,IAAe;QACjBjyR,SAASA,CADQ;QAEjB5zJ,OAAOqlb,EAAezxR,CAAfyxR,CAFU;QAGjB/iS,YAAYgjS,EAAiB1xR,CAAjB0xR,CAHK;QAIjB5hS,YAAYA,CAJK;QAKjBz8J,SAASA,CALQ;QAMjBqI,SAASskK,MAAYqxR,CAAZrxR,GAA4B,MAA5BA,GAAqC,OAN7B;QAOjB+wR,aAAaA;MAPI,CAAnB;MASAiB,IAAW1gC,EAASrxY,OAATqxY,CAAiB2gC,CAAjB3gC,CAAX0gC;IAGF;;IAAA,OAAOA,CAAP;EAAOA,CAlBSj0a,EAmBf,CAACsza,CAAD,EAAgBC,CAAhB,EAA8BG,CAA9B,EAA8CC,CAA9C,EAAgEpgC,CAAhE,EAA0Ej+Z,CAA1E,EAAmF09b,CAAnF,CAnBehza,CAhDlB;EAAA,IAoEIm0a,IAAcn0a,iBAACA,CAAO;IACxB,IAAIo0a,IAAa,EAAjB;;IAEA,IAAIxD,KAAct7b,EAAQQ,MAAtB86b,IAAgCr9B,EAAS2/B,QAA7C,EAAuD;MACrD,IAAIC,IAAiBS,EAAmB;QACtCl9Y,OAAO88Y,EAAiB19b;MADc,CAAnB89b,CAArB;MAGAQ,IAAa7gC,EAAS2/B,QAAT3/B,CAAkB;QAC7B7wP,YAAYA,CADiB;QAE7BywR,gBAAgBA;MAFa,CAAlB5/B,CAAb6gC;IAMF;;IAAA,OAAOA,CAAP;EAAOA,CAbSp0a,EAcf,CAACwza,CAAD,EAAmB9wR,CAAnB,EAA+BkuR,CAA/B,EAA2Cr9B,CAA3C,EAAqDj+Z,CAArD,EAA8Ds+b,CAA9D,CAde5za,CApElB;EAAA,IAmFIq0a,IAAer0a,iBAACA,CAAO;IACzB,IAAIs0a,IAAc,EAAlB;;IAEA,IAAI/gC,EAASm/B,QAAb,EAAuB;MACrB,IAAI/0b,IAAU41b,IAAe,OAAfA,GAAyB3C,IAAa,MAAbA,GAAsB,OAA7D;MACA0D,IAAc/gC,EAASm/B,QAATn/B,CAAkB;QAC9B,cAAcplS,CADgB;QAE9BxwH,SAASA,CAFqB;QAG9BgzJ,YAAY2iS,KAAiBK,EAAiBL,CAAjBK,CAHC;QAI9BzJ,SAASA,CAJqB;QAK9ByI,cAAcA,CALgB;QAM9BC,iBAAiBA;MANa,CAAlBr/B,CAAd+gC;IAUF;;IAAA,OAAOA,CAAP;EAAOA,CAfUt0a,EAgBhB,CAACmuG,CAAD,EAAYmlU,CAAZ,EAA2BC,CAA3B,EAAyCrJ,CAAzC,EAAkDyJ,CAAlD,EAAoEhB,CAApE,EAAkF/B,CAAlF,EAA8Fr9B,CAA9F,EAAwGq/B,CAAxG,CAhBgB5ya,CAnFnB;EAAA,IAoGIu0a,IAAc,GAAGjzb,MAAH,CAAU0yb,CAAV,EAAuB,GAAvB,EAA4B1yb,MAA5B,CAAmC6yb,CAAnC,EAAgD,GAAhD,EAAqD7yb,MAArD,CAA4D+yb,CAA5D,CApGlB;EAqGA,OAAOl2N,GAAIq0N,EAAJr0N,EAAc;IACnB,aAAa01N,CADM;IAEnB,eAAe,OAFI;IAGnB,iBAAiB;EAHE,CAAd11N,EAIJ27M,KAAa37M,GAAItlN,cAAJslN,EAAoB,IAApBA,EAA0BA,GAAI,MAAJA,EAAY;IACpDh8N,IAAI;EADgD,CAAZg8N,EAEvC7vE,CAFuC6vE,CAA1BA,EAEEA,GAAI,MAAJA,EAAY;IAC5Bh8N,IAAI;EADwB,CAAZg8N,EAEfo2N,CAFep2N,CAFFA,CAJTA,CAAP;AAQGo2N,CAzML,EA4MIC,KAAa,CAAC;EAChB92S,MAAM,GADU;EAEhB75B,SAAS;AAFO,CAAD,EAGd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAHc,EAMd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CANc,EASd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CATc,EAYd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAZc,EAed;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAfc,EAkBd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAlBc,EAqBd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CArBc,EAwBd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAxBc,EA2Bd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA3Bc,EA8Bd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA9Bc,EAiCd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAjCc,EAoCd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CApCc,EAuCd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAvCc,EA0Cd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA1Cc,EA6Cd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA7Cc,EAgDd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAhDc,EAmDd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAnDc,EAsDd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAtDc,EAyDd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAzDc,EA4Dd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA5Dc,EA+Dd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA/Dc,EAkEd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAlEc,EAqEd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CArEc,EAwEd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAxEc,EA2Ed;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA3Ec,EA8Ed;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA9Ec,EAiFd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAjFc,EAoFd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CApFc,EAuFd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAvFc,EA0Fd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA1Fc,EA6Fd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA7Fc,EAgGd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAhGc,EAmGd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAnGc,EAsGd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAtGc,EAyGd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAzGc,EA4Gd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA5Gc,EA+Gd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA/Gc,EAkHd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAlHc,EAqHd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CArHc,EAwHd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAxHc,EA2Hd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA3Hc,EA8Hd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA9Hc,EAiId;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAjIc,EAoId;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CApIc,EAuId;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAvIc,EA0Id;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA1Ic,EA6Id;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA7Ic,EAgJd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAhJc,EAmJd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAnJc,EAsJd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAtJc,EAyJd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAzJc,EA4Jd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA5Jc,EA+Jd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA/Jc,EAkKd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAlKc,EAqKd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CArKc,EAwKd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAxKc,EA2Kd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA3Kc,EA8Kd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA9Kc,EAiLd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAjLc,EAoLd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CApLc,EAuLd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAvLc,EA0Ld;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA1Lc,EA6Ld;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA7Lc,EAgMd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAhMc,EAmMd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAnMc,EAsMd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAtMc,EAyMd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAzMc,EA4Md;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA5Mc,EA+Md;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA/Mc,EAkNd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CAlNc,EAqNd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CArNc,EAwNd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAxNc,EA2Nd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA3Nc,EA8Nd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA9Nc,EAiOd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAjOc,EAoOd;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CApOc,EAuOd;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CAvOc,EA0Od;EACD65B,MAAM,GADL;EAED75B,SAAS;AAFR,CA1Oc,EA6Od;EACD65B,MAAM,IADL;EAED75B,SAAS;AAFR,CA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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","sources":["../node_modules/@aws-amplify/core/node_modules/cookie/index.js","../node_modules/@aws-amplify/storage/node_modules/axios/index.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/adapters/xhr.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/axios.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/cancel/Cancel.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/cancel/CancelToken.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/cancel/isCancel.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/Axios.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/InterceptorManager.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/buildFullPath.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/createError.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/dispatchRequest.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/enhanceError.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/mergeConfig.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/settle.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/core/transformData.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/defaults.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/env/data.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/bind.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/buildURL.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/combineURLs.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/cookies.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/spread.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/helpers/validator.js","../node_modules/@aws-amplify/storage/node_modules/axios/lib/utils.js","../../../../../../webpack/universalModuleDefinition","../../../../../../webpack/bootstrap","../../../../../../src/index.ts","../aws_amplify_ui/src/Anchor.css?a212","../aws_amplify_ui/src/Button.css?3605","../aws_amplify_ui/src/Form.css?0c1e","../aws_amplify_ui/src/Hint.css?8415","../aws_amplify_ui/src/Input.css?6c63","../aws_amplify_ui/src/Nav.css?2528","../aws_amplify_ui/src/PhotoPicker.css?07be","../aws_amplify_ui/src/Section.css?9b19","../aws_amplify_ui/src/SelectInput.css?12a6","../aws_amplify_ui/src/Strike.css?fcd8","../aws_amplify_ui/src/Toast.css?b30c","../aws_amplify_ui/src/Totp.css?55f1","../aws_amplify_ui/src/XR.css?528c","../node_modules/@aws-crypto/crc32/src/aws_crc32.ts","../node_modules/@aws-crypto/crc32/src/index.ts","../node_modules/@aws-crypto/ie11-detection/src/MsWindow.ts","../node_modules/@aws-crypto/ie11-detection/src/index.ts","../node_modules/@aws-crypto/sha256-browser/src/constants.ts","../node_modules/@aws-crypto/sha256-browser/src/crossPlatformSha256.ts","../node_modules/@aws-crypto/sha256-browser/src/ie11Sha256.ts","../node_modules/@aws-crypto/sha256-browser/src/index.ts","../node_modules/@aws-crypto/sha256-browser/src/isEmptyData.ts","../node_modules/@aws-crypto/sha256-browser/src/webCryptoSha256.ts","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/index.ts","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/supports-web-crypto/src/index.ts","../node_modules/@aws-crypto/supports-web-crypto/src/supportsWebCrypto.ts","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@aws-crypto/util/src/index.ts","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@aws-crypto/util/src/numToUint8.ts","../node_modules/@aws-crypto/util/src/uint32ArrayFrom.ts","../node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js","../node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","../node_modules/@aws-crypto/util/node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","../node_modules/@aws-sdk/util-locate-window/dist-es/index.js","../node_modules/@aws-sdk/util-utf8-browser/src/pureJs.ts","../node_modules/@aws-sdk/util-utf8-browser/src/whatwgEncodingApi.ts","../node_modules/@aws-sdk/util-utf8-browser/src/index.ts","../node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/base64-js/index.js","../node_modules/bowser/es5.js","../node_modules/buffer/index.js","../node_modules/classnames/index.js","../node_modules/cookie/index.js","../node_modules/crypto-js/core.js","../node_modules/crypto-js/enc-base64.js","../node_modules/crypto-js/hmac-sha256.js","../node_modules/crypto-js/hmac.js","../node_modules/crypto-js/lib-typedarrays.js","../node_modules/crypto-js/sha256.js","../node_modules/dompurify/src/utils.js","../node_modules/dompurify/src/tags.js","../node_modules/dompurify/src/attrs.js","../node_modules/dompurify/src/regexp.js","../node_modules/dompurify/src/purify.js","../node_modules/events/events.js","../node_modules/fast-xml-parser/src/json2xml.js","../node_modules/fast-xml-parser/src/nimndata.js","../node_modules/fast-xml-parser/src/node2json.js","../node_modules/fast-xml-parser/src/node2json_str.js","../node_modules/fast-xml-parser/src/parser.js","../node_modules/fast-xml-parser/src/util.js","../node_modules/fast-xml-parser/src/validator.js","../node_modules/fast-xml-parser/src/xmlNode.js","../node_modules/fast-xml-parser/src/xmlstr2xmlnode.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/html-entities/lib/index.js","../node_modules/html-entities/lib/named-references.js","../node_modules/html-entities/lib/numeric-unicode-map.js","../node_modules/html-entities/lib/surrogate-pairs.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/isomorphic-unfetch/browser.js","../node_modules/js-cookie/src/js.cookie.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseForOwn.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHas.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/camelCase.js","../node_modules/lodash/capitalize.js","../node_modules/lodash/deburr.js","../node_modules/lodash/eq.js","../node_modules/lodash/get.js","../node_modules/lodash/has.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/mapKeys.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/memoize.js","../node_modules/lodash/property.js","../node_modules/lodash/snakeCase.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toString.js","../node_modules/lodash/upperFirst.js","../node_modules/lodash/words.js","../node_modules/lottie-react/compiled/hooks/useLottie.js","../node_modules/lottie-react/compiled/hooks/useLottieInteractivity.js","../node_modules/lottie-react/compiled/components/Lottie.js","../node_modules/lottie-web/build/player/lottie.js","../node_modules/numeral/numeral.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/property-expr/index.js","../node_modules/querystring/decode.js","../node_modules/querystring/encode.js","../node_modules/querystring/index.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/react-datepicker/node_modules/classnames/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addQuarters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addWeeks/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/constants/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/format/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDate/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getSeconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getTime/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isAfter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isBefore/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isDate/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isEqual/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isValid/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isWithinInterval/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/max/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/min/index.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parseISO/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/set/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDaysInMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setSeconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subQuarters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subWeeks/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/toDate/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-gtm-module/dist/Snippets.js","../node_modules/react-gtm-module/dist/TagManager.js","../node_modules/react-gtm-module/dist/index.js","../node_modules/react-gtm-module/dist/utils/warn.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-popper/lib/esm/index.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../MediaQuery/webpack/universalModuleDefinition","../MediaQuery/node_modules/css-mediaquery/index.js","../MediaQuery/node_modules/hyphenate-style-name/index.js","../MediaQuery/node_modules/matchmediaquery/index.js","../MediaQuery/node_modules/object-assign/index.js","../MediaQuery/node_modules/prop-types/checkPropTypes.js","../MediaQuery/node_modules/prop-types/factoryWithTypeCheckers.js","../MediaQuery/node_modules/prop-types/index.js","../MediaQuery/node_modules/prop-types/lib/ReactPropTypesSecret.js","../MediaQuery/node_modules/prop-types/lib/has.js","../MediaQuery/node_modules/react-is/cjs/react-is.development.js","../MediaQuery/node_modules/react-is/index.js","../MediaQuery/node_modules/shallow-equal/dist/index.esm.js","../MediaQuery/src/Component.ts","../MediaQuery/src/Context.ts","../MediaQuery/src/index.ts","../MediaQuery/src/mediaQuery.ts","../MediaQuery/src/toQuery.ts","../MediaQuery/src/useMediaQuery.ts","../MediaQuery/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","../MediaQuery/webpack/bootstrap","../MediaQuery/webpack/runtime/define property getters","../MediaQuery/webpack/runtime/hasOwnProperty shorthand","../MediaQuery/webpack/runtime/make namespace object","../MediaQuery/webpack/startup","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/resumablejs/resumable.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/strnum/strnum.js","../node_modules/toposort/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/unfetch/src/index.mjs","../node_modules/url/node_modules/punycode/punycode.js","../node_modules/url/url.js","../node_modules/url/util.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/uuid/index.js","../node_modules/uuid/lib/bytesToUuid.js","../node_modules/uuid/lib/rng-browser.js","../node_modules/uuid/v1.js","../node_modules/uuid/v4.js","../node_modules/warning/warning.js","../ignored|/codebuild/output/src4166078597/src/MASA-client-form-frontend/node_modules/crypto-js|crypto","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/react-datepicker/node_modules/@babel/runtime/helpers/esm/typeof.js","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../../packages/react-router-dom/index.tsx","../node_modules/react-redux/es/utils/reactBatchedUpdates.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/exports.js","../node_modules/react-redux/es/index.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/react-cookie/es6/Cookies.js","../node_modules/react-cookie/es6/CookiesContext.js","../node_modules/react-cookie/es6/CookiesProvider.js","../node_modules/@datadog/browser-core/src/tools/display.ts","../node_modules/@datadog/browser-core/src/tools/catchUserErrors.ts","../node_modules/@datadog/browser-core/src/tools/monitor.ts","../node_modules/@datadog/browser-core/src/tools/utils/polyfills.ts","../node_modules/@datadog/browser-core/src/boot/init.ts","../node_modules/@datadog/browser-core/src/tools/getGlobalObject.ts","../node_modules/@datadog/browser-core/src/tools/utils/byteUtils.ts","../node_modules/@datadog/browser-core/src/tools/getZoneJsOriginalValue.ts","../node_modules/@datadog/browser-core/src/tools/timer.ts","../node_modules/@datadog/browser-core/src/tools/utils/functionUtils.ts","../node_modules/@datadog/browser-core/src/tools/utils/typeUtils.ts","../node_modules/@datadog/browser-core/src/tools/mergeInto.ts","../node_modules/@datadog/browser-core/src/tools/serialisation/jsonStringify.ts","../node_modules/@datadog/browser-core/src/tools/serialisation/sanitize.ts","../node_modules/@datadog/browser-core/src/tools/observable.ts","../node_modules/@datadog/browser-core/src/domain/context/heavyCustomerDataWarning.ts","../node_modules/@datadog/browser-core/src/domain/context/contextManager.ts","../node_modules/@datadog/browser-core/src/tools/boundedBuffer.ts","../node_modules/@datadog/browser-core/src/tools/utils/numberUtils.ts","../node_modules/@datadog/browser-core/src/tools/utils/timeUtils.ts","../node_modules/@datadog/browser-core/src/tools/utils/stringUtils.ts","../node_modules/@datadog/browser-core/src/browser/cookie.ts","../node_modules/@datadog/browser-core/src/domain/synthetics/syntheticsWorkerValues.ts","../node_modules/@datadog/browser-core/src/transport/eventBridge.ts","../node_modules/@datadog/browser-core/src/browser/addEventListener.ts","../node_modules/@datadog/browser-core/src/domain/context/storedContextManager.ts","../node_modules/@datadog/browser-core/src/tools/encoder.ts","../node_modules/@datadog/browser-core/src/domain/error/computeStackTrace.ts","../node_modules/@datadog/browser-core/src/domain/error/error.ts","../node_modules/@datadog/browser-core/src/domain/user/user.ts","../node_modules/@datadog/browser-core/src/tools/experimentalFeatures.ts","../node_modules/@datadog/browser-core/src/tools/utils/objectUtils.ts","../node_modules/@datadog/browser-core/src/domain/session/sessionConstants.ts","../node_modules/@datadog/browser-core/src/tools/utils/browserDetection.ts","../node_modules/@datadog/browser-core/src/domain/session/storeStrategies/sessionStoreStrategy.ts","../node_modules/@datadog/browser-core/src/domain/session/sessionState.ts","../node_modules/@datadog/browser-core/src/domain/session/oldCookiesMigration.ts","../node_modules/@datadog/browser-core/src/domain/session/storeStrategies/sessionInCookie.ts","../node_modules/@datadog/browser-core/src/domain/session/storeStrategies/sessionInLocalStorage.ts","../node_modules/@datadog/browser-core/src/domain/session/sessionStoreOperations.ts","../node_modules/@datadog/browser-core/src/domain/session/sessionStore.ts","../node_modules/@datadog/browser-core/src/tools/utils/urlPolyfill.ts","../node_modules/@datadog/browser-core/src/domain/configuration/intakeSites.ts","../node_modules/@datadog/browser-core/src/domain/configuration/endpointBuilder.ts","../node_modules/@datadog/browser-core/src/domain/configuration/tags.ts","../node_modules/@datadog/browser-core/src/domain/configuration/transportConfiguration.ts","../node_modules/@datadog/browser-core/src/domain/configuration/configuration.ts","../node_modules/@datadog/browser-core/src/tools/matchOption.ts","../node_modules/@datadog/browser-rum-core/src/domain/tracing/tracer.ts","../node_modules/@datadog/browser-rum-core/src/domain/configuration.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/commonContext.ts","../node_modules/@datadog/browser-rum-core/src/boot/rumPublicApi.ts","../node_modules/@datadog/browser-core/src/tools/sendToExtension.ts","../node_modules/@datadog/browser-core/src/domain/telemetry/rawTelemetryEvent.types.ts","../node_modules/@datadog/browser-core/src/domain/telemetry/telemetry.ts","../node_modules/@datadog/browser-core/src/browser/pageExitObservable.ts","../node_modules/@datadog/browser-rum-core/src/browser/domMutationObservable.ts","../node_modules/@datadog/browser-core/src/browser/runOnReadyState.ts","../node_modules/@datadog/browser-rum-core/src/domain/resource/resourceUtils.ts","../node_modules/@datadog/browser-rum-core/src/browser/htmlDomUtils.ts","../node_modules/@datadog/browser-rum-core/src/domain/tracing/getDocumentTraceId.ts","../node_modules/@datadog/browser-rum-core/src/browser/performanceCollection.ts","../node_modules/@datadog/browser-core/src/domain/error/error.types.ts","../node_modules/@datadog/browser-core/src/domain/eventRateLimiter/createEventRateLimiter.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/syntheticsContext.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/ciTestContext.ts","../node_modules/@datadog/browser-rum-core/src/domain/limitModification.ts","../node_modules/@datadog/browser-rum-core/src/domain/assembly.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/internalContext.ts","../node_modules/@datadog/browser-core/src/tools/abstractLifeCycle.ts","../node_modules/@datadog/browser-rum-core/src/domain/lifeCycle.ts","../node_modules/@datadog/browser-core/src/tools/valueHistory.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/viewContexts.ts","../node_modules/@datadog/browser-core/src/tools/instrumentMethod.ts","../node_modules/@datadog/browser-core/src/browser/xhrObservable.ts","../node_modules/@datadog/browser-core/src/browser/fetchObservable.ts","../node_modules/@datadog/browser-core/src/tools/utils/responseUtils.ts","../node_modules/@datadog/browser-core/src/tools/readBytesFromStream.ts","../node_modules/@datadog/browser-rum-core/src/domain/requestCollection.ts","../node_modules/@datadog/browser-rum-core/src/domain/trackEventCounts.ts","../node_modules/@datadog/browser-rum-core/src/domain/waitPageActivityEnd.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/getActionNameFromElement.ts","../node_modules/@datadog/browser-rum-core/src/domain/getSelectorFromElement.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/clickChain.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/listenActionEvents.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/computeFrustration.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/trackClickActions.ts","../node_modules/@datadog/browser-rum-core/src/domain/action/actionCollection.ts","../node_modules/@datadog/browser-core/src/domain/error/trackRuntimeError.ts","../node_modules/@datadog/browser-core/src/domain/console/consoleObservable.ts","../node_modules/@datadog/browser-rum-core/src/domain/error/trackConsoleError.ts","../node_modules/@datadog/browser-core/src/domain/report/reportObservable.ts","../node_modules/@datadog/browser-rum-core/src/domain/error/trackReportError.ts","../node_modules/@datadog/browser-rum-core/src/domain/error/errorCollection.ts","../node_modules/@datadog/browser-rum-core/src/domain/longTask/longTaskCollection.ts","../node_modules/@datadog/browser-rum-core/src/domain/resource/matchRequestTiming.ts","../node_modules/@datadog/browser-rum-core/src/domain/resource/resourceCollection.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/trackViewEventCounts.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackFirstContentfulPaint.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackFirstInput.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackNavigationTimings.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackLargestContentfulPaint.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackFirstHidden.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackInitialViewMetrics.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackCumulativeLayoutShift.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/interactionCountPolyfill.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackInteractionToNextPaint.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackLoadingTime.ts","../node_modules/@datadog/browser-rum-core/src/browser/scroll.ts","../node_modules/@datadog/browser-rum-core/src/browser/viewportObservable.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackScrollMetrics.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewMetrics/trackCommonViewMetrics.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/trackViews.ts","../node_modules/@datadog/browser-rum-core/src/domain/view/viewCollection.ts","../node_modules/@datadog/browser-core/src/domain/session/sessionManager.ts","../node_modules/@datadog/browser-rum-core/src/domain/rumSessionManager.ts","../node_modules/@datadog/browser-core/src/transport/batch.ts","../node_modules/@datadog/browser-core/src/transport/sendWithRetryStrategy.ts","../node_modules/@datadog/browser-core/src/transport/httpRequest.ts","../node_modules/@datadog/browser-core/src/transport/flushController.ts","../node_modules/@datadog/browser-core/src/transport/startBatchWithReplica.ts","../node_modules/@datadog/browser-rum-core/src/transport/startRumBatch.ts","../node_modules/@datadog/browser-rum-core/src/transport/startRumEventBridge.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/urlContexts.ts","../node_modules/@datadog/browser-rum-core/src/browser/locationChangeObservable.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/featureFlagContext.ts","../node_modules/@datadog/browser-rum-core/src/domain/startCustomerDataTelemetry.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/pageStateHistory.ts","../node_modules/@datadog/browser-rum-core/src/domain/contexts/displayContext.ts","../node_modules/@datadog/browser-rum-core/src/boot/startRum.ts","../node_modules/@datadog/browser-rum-core/src/domain/getSessionReplayUrl.ts","../node_modules/@datadog/browser-rum-core/src/index.ts","../node_modules/@datadog/browser-rum/src/types/sessionReplayConstants.ts","../node_modules/@datadog/browser-rum/src/types/index.ts","../node_modules/@datadog/browser-rum/src/domain/record/assembly.ts","../node_modules/@datadog/browser-rum/src/constants.ts","../node_modules/@datadog/browser-rum/src/domain/record/privacy.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializationUtils.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializeStyleSheets.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializeAttribute.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializeAttributes.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializeNode.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/serializeDocument.ts","../node_modules/@datadog/browser-rum/src/domain/record/serialization/index.ts","../node_modules/@datadog/browser-rum/src/domain/record/eventsUtils.ts","../node_modules/@datadog/browser-rum/src/domain/record/viewports.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/moveObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/scrollObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/mouseInteractionObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/inputObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/styleSheetObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/mediaInteractionObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/frustrationObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/viewportResizeObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/mutationBatch.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/mutationObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/focusObserver.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/recordIds.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/observers.ts","../node_modules/@datadog/browser-rum/src/domain/record/observers/index.ts","../node_modules/@datadog/browser-rum/src/domain/record/elementsScrollPositions.ts","../node_modules/@datadog/browser-rum/src/domain/record/shadowRootsController.ts","../node_modules/@datadog/browser-rum/src/domain/record/record.ts","../node_modules/@datadog/browser-rum/src/domain/record/index.ts","../node_modules/@datadog/browser-rum/src/domain/segmentCollection/buildReplayPayload.ts","../node_modules/@datadog/browser-rum/src/domain/replayStats.ts","../node_modules/@datadog/browser-rum/src/domain/segmentCollection/segment.ts","../node_modules/@datadog/browser-rum/src/domain/segmentCollection/segmentCollection.ts","../node_modules/@datadog/browser-rum/src/domain/segmentCollection/index.ts","../node_modules/@datadog/browser-rum/src/boot/startRecording.ts","../node_modules/@datadog/browser-rum/src/boot/isBrowserSupported.ts","../node_modules/@datadog/browser-rum/src/domain/getSessionReplayLink.ts","../node_modules/@datadog/browser-rum/src/domain/deflate/deflateEncoder.ts","../node_modules/@datadog/browser-rum/src/domain/deflate/deflateWorker.ts","../node_modules/@datadog/browser-rum/src/domain/deflate/index.ts","../node_modules/@datadog/browser-rum/src/boot/recorderApi.ts","../node_modules/@datadog/browser-rum/src/entries/main.ts","../node_modules/react-cookie/es6/utils.js","../node_modules/react-cookie/es6/useCookies.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/plugins/patches.ts","../node_modules/immer/src/plugins/mapset.ts","../node_modules/immer/src/plugins/all.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux/es/redux.js","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/@reduxjs/toolkit/src/createDraftSafeSelector.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/immutableStateInvariantMiddleware.ts","../node_modules/@reduxjs/toolkit/src/serializableStateInvariantMiddleware.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/entities/entity_state.ts","../node_modules/@reduxjs/toolkit/src/entities/state_selectors.ts","../node_modules/@reduxjs/toolkit/src/entities/state_adapter.ts","../node_modules/@reduxjs/toolkit/src/entities/utils.ts","../node_modules/@reduxjs/toolkit/src/entities/unsorted_state_adapter.ts","../node_modules/@reduxjs/toolkit/src/entities/sorted_state_adapter.ts","../node_modules/@reduxjs/toolkit/src/entities/create_adapter.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/tsHelpers.ts","../node_modules/@reduxjs/toolkit/src/matchers.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/exceptions.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/task.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","utils/createAsyncAction.js","utils/getSuccessResponse.js","constants/routes.js","constants/localStorageKeys.js","constants/statusCodes.js","constants/contactTypes.js","constants/routeProps.js","constants/authTypes.js","constants/federatedLoginProviders.js","constants/planTypes.js","icons/arrow.svg","icons/logout.svg","icons/arrow-right.svg","icons/icon-back.svg","icons/icon-forward.svg","icons/check.svg","icons/upload-cloud-icon.svg","icons/assessment-in-progress.svg","icons/check-circle-disabled.svg","icons/check-circle-success.svg","icons/circle-progress.svg","icons/circle-warning.svg","icons/fix-icon.svg","icons/minus-icon.svg","icons/more-info.svg","icons/payment-absent.svg","icons/plus-icon.svg","icons/verification-absent.svg","icons/assessment-success.svg","icons/mitigations-success.svg","icons/more-info-success.svg","icons/payment-succeed.svg","icons/verification-success.svg","icons/remove-icon.svg","icons/cross-red-icon.svg","icons/eye.svg","icons/eye-crossed.svg","icons/amazon-logo.svg","icons/apple-logo.svg","icons/google-icon.svg","icons/info-icon.svg","icons/notification.svg","icons/dashboard.svg","icons/settings.svg","icons/question-mark-icon.svg","icons/lock-icon.svg","icons/notification-inverted-icon.svg","icons/trash-icon.svg","icons/trash-inverted-icon.svg","icons/mail-fill.svg","icons/delete.svg","icons/file.svg","icons/download.svg","icons/clock.svg","icons/hashtag.svg","icons/index.js","constants/orderInfoType.js","constants/fileConstants.js","constants/externalLinks.js","constants/mfaChallengeTypes.js","constants/requestConstants.js","constants/index.js","../node_modules/@aws-amplify/auth/src/types/Auth.ts","../node_modules/@aws-amplify/core/src/Util/Constants.ts","../node_modules/@aws-amplify/core/src/Logger/ConsoleLogger.ts","../node_modules/@aws-amplify/core/src/Hub.ts","../node_modules/@aws-amplify/core/src/StorageHelper/index.ts","../node_modules/@aws-amplify/core/src/JS.ts","../node_modules/@aws-amplify/core/src/Util/Retry.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/GoogleOAuth.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/FacebookOAuth.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/index.ts","../node_modules/@aws-amplify/core/src/Platform/version.ts","../node_modules/@aws-amplify/core/src/Platform/index.ts","../node_modules/@aws-amplify/core/src/Amplify.ts","../node_modules/@aws-sdk/client-cognito-identity/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/client-cognito-identity/models/models_0.ts","../node_modules/@aws-sdk/protocol-http/src/httpResponse.ts","../node_modules/@aws-sdk/protocol-http/src/httpRequest.ts","../node_modules/@aws-sdk/protocol-http/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/protocols/Aws_json1_1.ts","../node_modules/@aws-sdk/middleware-serde/src/deserializerMiddleware.ts","../node_modules/@aws-sdk/middleware-serde/src/serializerMiddleware.ts","../node_modules/@aws-sdk/middleware-serde/src/serdePlugin.ts","../node_modules/@aws-sdk/middleware-serde/src/index.ts","../node_modules/@aws-sdk/middleware-stack/src/MiddlewareStack.ts","../node_modules/@aws-sdk/middleware-stack/src/index.ts","../node_modules/@aws-sdk/smithy-client/src/client.ts","../node_modules/@aws-sdk/smithy-client/src/command.ts","../node_modules/@aws-sdk/smithy-client/src/extended-encode-uri-component.ts","../node_modules/@aws-sdk/smithy-client/src/get-array-if-single-item.ts","../node_modules/@aws-sdk/smithy-client/src/get-value-from-text-node.ts","../node_modules/@aws-sdk/smithy-client/src/lazy-json.ts","../node_modules/@aws-sdk/smithy-client/src/date-utils.ts","../node_modules/@aws-sdk/smithy-client/src/constants.ts","../node_modules/@aws-sdk/smithy-client/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/commands/GetCredentialsForIdentityCommand.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@aws-sdk/property-provider/src/ProviderError.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@aws-sdk/property-provider/src/chain.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/@aws-sdk/property-provider/src/index.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/resolveLogins.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/fromCognitoIdentity.ts","../node_modules/@aws-sdk/client-cognito-identity/commands/GetIdCommand.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/IndexedDbStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/InMemoryStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/localStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/fromCognitoIdentityPool.ts","../node_modules/@aws-sdk/querystring-builder/node_modules/@aws-sdk/util-uri-escape/src/escape-uri.ts","../node_modules/@aws-sdk/querystring-builder/src/index.ts","../node_modules/@aws-sdk/fetch-http-handler/src/request-timeout.ts","../node_modules/@aws-sdk/fetch-http-handler/src/fetch-http-handler.ts","../node_modules/@aws-sdk/util-base64-browser/src/index.ts","../node_modules/@aws-sdk/fetch-http-handler/src/stream-collector.ts","../node_modules/@aws-sdk/fetch-http-handler/src/index.ts","../node_modules/@aws-sdk/invalid-dependency/src/invalidProvider.ts","../node_modules/@aws-sdk/middleware-retry/src/retryMiddleware.ts","../node_modules/@aws-sdk/middleware-retry/src/omitRetryHeadersMiddleware.ts","../node_modules/@aws-sdk/service-error-classification/src/constants.ts","../node_modules/@aws-sdk/service-error-classification/src/index.ts","../node_modules/@aws-sdk/middleware-retry/src/constants.ts","../node_modules/@aws-sdk/middleware-retry/src/defaultRetryQuota.ts","../node_modules/@aws-sdk/middleware-retry/src/delayDecider.ts","../node_modules/@aws-sdk/middleware-retry/src/retryDecider.ts","../node_modules/@aws-sdk/middleware-retry/src/defaultStrategy.ts","../node_modules/@aws-sdk/middleware-retry/src/configurations.ts","../node_modules/@aws-sdk/middleware-retry/src/index.ts","../node_modules/@aws-sdk/util-body-length-browser/src/index.ts","../node_modules/@aws-sdk/util-user-agent-browser/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/endpoints.ts","../node_modules/@aws-sdk/querystring-parser/src/index.ts","../node_modules/@aws-sdk/url-parser/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/runtimeConfig.shared.ts","../node_modules/@aws-sdk/client-cognito-identity/runtimeConfig.browser.ts","../node_modules/@aws-sdk/config-resolver/src/EndpointsConfig.ts","../node_modules/@aws-sdk/config-resolver/src/RegionConfig.ts","../node_modules/@aws-sdk/config-resolver/src/index.ts","../node_modules/@aws-sdk/middleware-content-length/src/index.ts","../node_modules/@aws-sdk/middleware-host-header/src/index.ts","../node_modules/@aws-sdk/middleware-logger/src/loggerMiddleware.ts","../node_modules/@aws-sdk/middleware-logger/src/index.ts","../node_modules/@aws-sdk/util-hex-encoding/src/index.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/constants.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/credentialDerivation.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/getCanonicalHeaders.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/util-uri-escape/src/escape-uri.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/getCanonicalQuery.ts","../node_modules/@aws-sdk/is-array-buffer/src/index.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/getPayloadHash.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/hasHeader.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/cloneRequest.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/moveHeadersToQuery.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/prepareRequest.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/utilDate.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/SignatureV4.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/signature-v4/src/index.ts","../node_modules/@aws-sdk/middleware-signing/src/configurations.ts","../node_modules/@aws-sdk/middleware-signing/src/middleware.ts","../node_modules/@aws-sdk/middleware-signing/src/index.ts","../node_modules/@aws-sdk/middleware-user-agent/src/configurations.ts","../node_modules/@aws-sdk/middleware-user-agent/src/constants.ts","../node_modules/@aws-sdk/middleware-user-agent/src/user-agent-middleware.ts","../node_modules/@aws-sdk/middleware-user-agent/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/CognitoIdentityClient.ts","../node_modules/@aws-amplify/core/src/Credentials.ts","../node_modules/@aws-amplify/core/src/Parser.ts","../node_modules/@aws-amplify/core/node_modules/universal-cookie/es6/utils.js","../node_modules/@aws-amplify/core/node_modules/universal-cookie/es6/Cookies.js","../node_modules/@aws-amplify/core/node_modules/universal-cookie/es6/index.js","../node_modules/@aws-amplify/core/src/UniversalStorage/index.ts","../node_modules/@aws-amplify/core/src/Util/StringUtils.ts","../node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","../node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.web.js","../node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","../node_modules/amazon-cognito-identity-js/es/BigInteger.js","../node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","../node_modules/amazon-cognito-identity-js/es/DateHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","../node_modules/amazon-cognito-identity-js/es/StorageHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUser.js","../node_modules/amazon-cognito-identity-js/es/Platform/version.js","../node_modules/amazon-cognito-identity-js/es/Platform/index.js","../node_modules/amazon-cognito-identity-js/es/UserAgent.js","../node_modules/amazon-cognito-identity-js/es/Client.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","../node_modules/amazon-cognito-identity-js/es/CookieStorage.js","../node_modules/amazon-cognito-identity-js/es/index.js","../node_modules/@aws-amplify/auth/src/OAuth/urlOpener.ts","../node_modules/@aws-amplify/auth/src/OAuth/oauthStorage.ts","../node_modules/@aws-amplify/auth/src/OAuth/OAuth.ts","../node_modules/@aws-amplify/auth/src/urlListener.ts","../node_modules/@aws-amplify/auth/src/common/AuthErrorStrings.ts","../node_modules/@aws-amplify/auth/src/Errors.ts","../node_modules/@aws-amplify/auth/src/Auth.ts","services/api.js","services/AccountService.js","store/account/account.actions.js","store/account/account.reducer.js","webpack://leviathan-masa-frontend/./src/components/CookiesPopup/CookiesPopup.scss?61bf","components/CookiesPopup/CookiesPopup.js","components/CookiesPopup/index.js","components/ScrollToTop/ScrollToTop.js","webpack://leviathan-masa-frontend/./src/assets/index.scss?96a9","services/AuthService.js","store/auth/auth.actions.js","utils/parseJwtToken.js","store/auth/auth.reducer.js","assets/images/logo.svg","components/Responsive/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","services/OrderService.js","store/order/order.actions.js","webpack://leviathan-masa-frontend/./src/components/PageSidebar/PageSidebar.scss?687c","components/PageSidebar/PageSidebar.js","components/PageSidebar/index.js","webpack://leviathan-masa-frontend/./src/components/Header/Header.scss?ee06","components/Header/Header.js","components/Header/index.js","webpack://leviathan-masa-frontend/./src/components/Footer/Footer.scss?93b2","components/Footer/Footer.js","components/Footer/index.js","assets/images/forgot-pass-img.svg","assets/images/mfa-img.svg","assets/images/juicy-man-and-woman-talking.svg","webpack://leviathan-masa-frontend/./src/components/AnimationImage/AnimationImage.scss?139b","components/AnimationImage/AnimationImage.js","components/AnimationImage/index.js","webpack://leviathan-masa-frontend/./src/components/Notification/Notification.scss?3b85","components/Notification/Notification.js","components/Notification/index.js","webpack://leviathan-masa-frontend/./src/components/Notifications/Notifications.scss?588b","components/Notifications/Notifications.js","components/Notifications/index.js","constants/orderStatuses.js","store/order/order.reducer.js","webpack://leviathan-masa-frontend/./src/layouts/MainLayout/MainLayout.scss?c140","layouts/MainLayout/MainLayout.js","layouts/MainLayout/index.js","hooks/useCombinedRefs.js","hooks/useAsideLayoutProps.js","hooks/index.js","webpack://leviathan-masa-frontend/./src/layouts/AsideLayout/AsideLayout.scss?6ab5","layouts/AsideLayout/AsideLayout.js","layouts/AsideLayout/index.js","../node_modules/react-popper-tooltip/src/utils.ts","../node_modules/react-popper-tooltip/src/usePopperTooltip.ts","webpack://leviathan-masa-frontend/./src/components/ProjectCard/ProjectCard.scss?d0ee","components/ProjectCard/ProjectCard.js","components/ProjectCard/index.js","webpack://leviathan-masa-frontend/./src/components/CircleSpinner/CircleSpinner.scss?028c","components/CircleSpinner/CircleSpinner.js","components/CircleSpinner/index.js","../node_modules/react-infinite-scroll-component/node_modules/tslib/tslib.es6.js","../node_modules/react-infinite-scroll-component/node_modules/throttle-debounce/dist/index.esm.js","webpack://leviathan-masa-frontend/./src/components/ProjectTiles/ProjectTiles.scss?99a8","components/ProjectTiles/ProjectTiles.js","components/ProjectTiles/index.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/date-fns/esm/format/index.js","webpack://leviathan-masa-frontend/./src/components/Button/Button.scss?1cf8","components/Button/Button.js","components/Button/ButtonLink.js","components/Button/index.js","store/pending/pending.reducer.js","webpack://leviathan-masa-frontend/./src/components/ServicePopup/ServicePopup.scss?90e5","components/ServicePopup/ServicePopup.js","components/ServicePopup/index.js","webpack://leviathan-masa-frontend/./src/components/Settings/Settings.scss?7aca","components/Settings/Settings.js","components/Settings/index.js","layouts/DrawerLayout/DrawerLayout.js","layouts/DrawerLayout/index.js","layouts/index.js","components/RequireAuth/RequireAuth.js","components/RequireAuth/index.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isDateObject.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/logic/getEventValue.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/logic/getProxyFormState.ts","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../node_modules/react-hook-form/src/logic/shouldSubscribeByName.ts","../node_modules/react-hook-form/src/useSubscribe.ts","../node_modules/react-hook-form/src/useFormState.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/objectHasFunction.ts","../node_modules/react-hook-form/src/useWatch.ts","../node_modules/react-hook-form/src/useController.ts","../node_modules/react-hook-form/src/controller.tsx","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/logic/focusFieldBy.ts","../node_modules/react-hook-form/src/logic/generateId.ts","../node_modules/react-hook-form/src/logic/getFocusFieldName.ts","../node_modules/react-hook-form/src/logic/isWatched.ts","../node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/utils/append.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/fillEmptyArray.ts","../node_modules/react-hook-form/src/utils/getValidationModes.ts","../node_modules/react-hook-form/src/utils/insert.ts","../node_modules/react-hook-form/src/utils/move.ts","../node_modules/react-hook-form/src/utils/prepend.ts","../node_modules/react-hook-form/src/utils/remove.ts","../node_modules/react-hook-form/src/utils/swap.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/utils/update.ts","../node_modules/react-hook-form/src/useFieldArray.ts","../node_modules/react-hook-form/src/utils/createSubject.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/utils/live.ts","../node_modules/react-hook-form/src/logic/getDirtyFields.ts","../node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/logic/getResolverOptions.ts","../node_modules/react-hook-form/src/logic/getRuleValue.ts","../node_modules/react-hook-form/src/logic/hasValidation.ts","../node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../node_modules/react-hook-form/src/logic/createFormControl.ts","../node_modules/react-hook-form/src/useForm.ts","../node_modules/nanoclone/src/index.js","../node_modules/yup/es/util/printValue.js","../node_modules/yup/es/locale.js","../node_modules/yup/es/util/isSchema.js","../node_modules/yup/es/Condition.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/yup/es/util/toArray.js","../node_modules/yup/es/ValidationError.js","../node_modules/yup/es/util/runTests.js","../node_modules/yup/es/Reference.js","../node_modules/yup/es/util/createValidation.js","../node_modules/yup/es/util/reach.js","../node_modules/yup/es/util/ReferenceSet.js","../node_modules/yup/es/schema.js","../node_modules/yup/es/mixed.js","../node_modules/yup/es/util/isAbsent.js","../node_modules/yup/es/boolean.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/yup/es/string.js","../node_modules/yup/es/number.js","../node_modules/yup/es/util/isodate.js","../node_modules/yup/es/date.js","../node_modules/yup/es/util/sortFields.js","../node_modules/yup/es/util/sortByKeyOrder.js","../node_modules/yup/es/object.js","../node_modules/yup/es/array.js","../node_modules/yup/es/Lazy.js","../node_modules/yup/es/setLocale.js","../node_modules/yup/es/index.js","utils/yup.js","../node_modules/@hookform/resolvers/src/validateFieldsNatively.ts","../node_modules/@hookform/resolvers/src/toNestError.ts","../node_modules/@hookform/resolvers/yup/src/yup.ts","../node_modules/@hookform/error-message/src/ErrorMessage.tsx","components/ErrorMessage/ErrorMessage.js","components/ErrorMessage/index.js","webpack://leviathan-masa-frontend/./src/components/InputField/InputField.scss?75ed","webpack://leviathan-masa-frontend/./node_modules/react-popper-tooltip/dist/styles.css?3436","webpack://leviathan-masa-frontend/./node_modules/react-datepicker/dist/react-datepicker.css?11bf","../node_modules/src/index.tsx","utils/generatePasswordPlaceholder.js","components/InputField/InputField.js","components/InputField/index.js","../node_modules/libphonenumber-js/metadata.min.json.js","../node_modules/libphonenumber-js/source/normalizeArguments.js","../node_modules/libphonenumber-js/source/constants.js","../node_modules/libphonenumber-js/source/ParseError.js","../node_modules/libphonenumber-js/source/tools/semver-compare.js","../node_modules/libphonenumber-js/source/metadata.js","../node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js","../node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js","../node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js","../node_modules/libphonenumber-js/source/helpers/parseDigits.js","../node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js","../node_modules/libphonenumber-js/source/helpers/mergeArrays.js","../node_modules/libphonenumber-js/source/helpers/checkNumberLength.js","../node_modules/libphonenumber-js/source/isPossible.js","../node_modules/libphonenumber-js/source/helpers/matchesEntirely.js","../node_modules/libphonenumber-js/source/helpers/getNumberType.js","../node_modules/libphonenumber-js/source/isValid.js","../node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js","../node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js","../node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js","../node_modules/libphonenumber-js/source/helpers/getIddPrefix.js","../node_modules/libphonenumber-js/source/helpers/RFC3966.js","../node_modules/libphonenumber-js/source/format.js","../node_modules/libphonenumber-js/source/PhoneNumber.js","../node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js","../node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js","../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js","../node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js","../node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js","../node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js","../node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","../node_modules/libphonenumber-js/source/parse.js","../node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js","../node_modules/libphonenumber-js/source/parsePhoneNumber_.js","../node_modules/libphonenumber-js/source/isValidPhoneNumber.js","../node_modules/react-phone-number-input/locale/en.json.js","../node_modules/react-phone-number-input/source/PropTypes.js","../node_modules/input-format/source/edit.js","../node_modules/input-format/source/parse.js","../node_modules/input-format/source/helpers.js","../node_modules/input-format/source/closeBraces.js","../node_modules/input-format/source/templateFormatter.js","../node_modules/input-format/source/format.js","../node_modules/input-format/source/dom.js","../node_modules/input-format/source/inputControl.js","../node_modules/input-format/source/react/Input.js","../node_modules/libphonenumber-js/source/AsYouTypeState.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.util.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.complete.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternParser.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternMatcher.js","../node_modules/libphonenumber-js/source/AsYouTypeFormatter.js","../node_modules/libphonenumber-js/source/AsYouTypeParser.js","../node_modules/libphonenumber-js/source/AsYouType.js","../node_modules/react-phone-number-input/source/helpers/inputValuePrefix.js","../node_modules/react-phone-number-input/source/InputSmart.js","../node_modules/libphonenumber-js/source/formatIncompletePhoneNumber.js","../node_modules/react-phone-number-input/source/InputBasic.js","../node_modules/country-flag-icons/source/unicode.js","../node_modules/react-phone-number-input/source/CountrySelect.js","../node_modules/react-phone-number-input/source/Flag.js","../node_modules/react-phone-number-input/source/InternationalIcon.js","../node_modules/react-phone-number-input/source/helpers/countries.js","../node_modules/libphonenumber-js/source/getCountries.js","../node_modules/react-phone-number-input/source/CountryIcon.js","../node_modules/libphonenumber-js/source/parsePhoneNumber.js","../node_modules/react-phone-number-input/source/helpers/getInternationalPhoneNumberPrefix.js","../node_modules/react-phone-number-input/source/helpers/phoneInputHelpers.js","../node_modules/react-phone-number-input/source/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountry.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountryDefault.js","../node_modules/react-phone-number-input/min/index.js","webpack://leviathan-masa-frontend/./node_modules/react-phone-number-input/style.css?d8c9","webpack://leviathan-masa-frontend/./src/components/PhoneField/PhoneField.scss?58ef","components/PhoneField/PhoneField.js","components/PhoneField/index.js","../node_modules/react-google-places-autocomplete/node_modules/tslib/tslib.es6.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/react-google-places-autocomplete/node_modules/stylis/dist/stylis.mjs","../node_modules/react-google-places-autocomplete/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/cache/dist/emotion-cache.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/weak-memoize/dist/weak-memoize.esm.js","../node_modules/react-google-places-autocomplete/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-google-places-autocomplete/node_modules/react-is/cjs/react-is.development.js","../node_modules/react-google-places-autocomplete/node_modules/react-is/index.js","../node_modules/react-google-places-autocomplete/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/utils/dist/emotion-utils.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/unitless/dist/unitless.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/hash/dist/hash.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/react/dist/emotion-element-8d26346b.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/extends.js","../node_modules/react-google-places-autocomplete/node_modules/@emotion/react/dist/emotion-react.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/react-google-places-autocomplete/node_modules/object-assign/index.js","../node_modules/react-google-places-autocomplete/node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-google-places-autocomplete/node_modules/prop-types/checkPropTypes.js","../node_modules/react-google-places-autocomplete/node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/react-google-places-autocomplete/node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/react-google-places-autocomplete/node_modules/prop-types/index.js","../node_modules/react-google-places-autocomplete/node_modules/react-input-autosize/lib/AutosizeInput.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/react-google-places-autocomplete/node_modules/react-select/dist/index-4bd03571.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-google-places-autocomplete/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-google-places-autocomplete/node_modules/react-select/dist/Select-dbb12e54.esm.js","../node_modules/react-google-places-autocomplete/node_modules/react-select/dist/stateManager-845a3300.esm.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/typeof.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/react-google-places-autocomplete/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/react-google-places-autocomplete/node_modules/react-select/async/dist/react-select.esm.js","../node_modules/react-google-places-autocomplete/src/helpers/autocompletionRequestBuilder.ts","../node_modules/react-google-places-autocomplete/node_modules/@googlemaps/js-api-loader/dist/index.esm.js","../node_modules/react-google-places-autocomplete/src/GooglePlacesAutocomplete.tsx","../node_modules/react-google-places-autocomplete/node_modules/use-debounce/esm/useDebouncedCallback.js","../node_modules/react-google-places-autocomplete/src/utils/getLatLng.ts","../node_modules/react-google-places-autocomplete/src/utils/geocodeByAddress.ts","../node_modules/react-google-places-autocomplete/src/utils/geocodeByLatLng.ts","../node_modules/react-google-places-autocomplete/src/utils/geocodeByPlaceId.ts","components/PlacesAutocompleteControl/PlacesAutocompleteControl.js","components/PlacesAutocompleteControl/index.js","components/OrderSteps/OrderCreation/OrderCreation.js","components/OrderSteps/OrderCreation/index.js","webpack://leviathan-masa-frontend/./src/components/InputPasswordField/InputPasswordField.scss?cdf3","components/InputPasswordField/InputPasswordField.js","components/InputPasswordField/index.js","components/Checkbox/Checkbox.js","webpack://leviathan-masa-frontend/./src/components/Checkbox/Checkbox.scss?d3bf","components/Checkbox/index.js","webpack://leviathan-masa-frontend/./src/components/ResumableFileUploader/ResumableFileUploader.scss?7f3e","webpack://leviathan-masa-frontend/./src/components/AlertMessage/AlertMessage.scss?5951","components/AlertMessage/AlertMessage.js","components/AlertMessage/index.js","utils/convertBytes.js","components/ResumableFileUploader/ResumableFileUploader.js","components/ResumableFileUploader/index.js","components/OrderSteps/ApplicationInfo/ApplicationInfoForm.js","components/OrderSteps/ApplicationInfo/ApplicationInfo.js","components/OrderSteps/ApplicationInfo/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/OrderVerification/OrderVerification.scss?3703","components/OrderSteps/OrderVerification/AutomaticVerification.js","components/OrderSteps/OrderVerification/ManualVerification.js","../node_modules/react-tabs/esm/helpers/elementTypes.js","../node_modules/react-tabs/esm/helpers/childrenDeepMap.js","../node_modules/react-tabs/esm/helpers/propTypes.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/react-tabs/esm/helpers/count.js","../node_modules/react-tabs/esm/components/UncontrolledTabs.js","../node_modules/react-tabs/esm/components/Tabs.js","../node_modules/react-tabs/esm/components/TabList.js","../node_modules/react-tabs/esm/components/Tab.js","../node_modules/react-tabs/esm/components/TabPanel.js","../node_modules/react-tabs/esm/index.js","components/OrderTabs/OrderTabs.js","components/OrderTabs/index.js","components/OrderSteps/OrderVerification/OrderVerification.js","components/OrderSteps/OrderVerification/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/Agreement/Agreement.scss?fc95","components/OrderSteps/Agreement/Agreement.js","components/OrderSteps/Agreement/index.js","webpack://leviathan-masa-frontend/./src/components/RadioButton/RadioButton.scss?8d8e","components/RadioButton/RadioButton.js","components/RadioButton/index.js","webpack://leviathan-masa-frontend/./src/components/PurchasePlanCard/PurchasePlanCard.scss?8123","components/PurchasePlanCard/PurchasePlanCard.js","components/PurchasePlanCard/index.js","components/OrderSteps/OrderCart/OrderCart.js","components/OrderSteps/OrderCart/index.js","../node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/OrderPayment/CheckoutForm.scss?b9c5","components/OrderSteps/OrderPayment/CheckoutForm.js","components/OrderSteps/OrderPayment/OrderPayment.scss","components/OrderSteps/OrderPayment/OrderPayment.js","components/OrderSteps/OrderPayment/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/OrderPaymentStatus/OrderPaymentStatus.scss?cd29","components/OrderSteps/OrderPaymentStatus/OrderPaymentStatus.js","components/OrderSteps/OrderPaymentStatus/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/PaymentTotalInfo/PaymentTotalInfo.scss?2476","components/OrderStepsCasa/PaymentTotalInfo/PaymentTotalInfo.js","components/OrderStepsCasa/PaymentTotalInfo/index.js","components/OrderSteps/Invoice/Invoice.js","components/OrderSteps/Invoice/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/CheckoutForm/CheckoutForm.scss?c775","components/OrderSteps/CheckoutForm/CheckoutForm.js","components/OrderSteps/CheckoutForm/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/OnlinePayment/OnlinePayment.scss?759e","components/OrderSteps/OnlinePayment/OnlinePayment.js","components/OrderSteps/OnlinePayment/index.js","webpack://leviathan-masa-frontend/./src/components/OrderSteps/PaymentType/PaymentType.scss?a74a","components/OrderSteps/PaymentType/PaymentType.js","components/OrderSteps/PaymentType/index.js","components/OrderSteps/index.js","components/OrderSteps/OrderVerification/OTPConfirmation.js","webpack://leviathan-masa-frontend/./src/components/SuccessBox/SuccessBox.scss?5f9e","components/SuccessBox/SuccessBox.js","components/SuccessBox/index.js","pages/OrderPage/OrderPage.js","pages/OrderPage/index.js","webpack://leviathan-masa-frontend/./src/components/FederalProvidersRow/FederalProvidersRow.scss?9203","components/FederalProvidersRow/FederalProvidersRow.js","components/FederalProvidersRow/index.js","webpack://leviathan-masa-frontend/./src/components/LoginForm/LoginForm.scss?ce8f","components/LoginForm/LoginForm.js","components/LoginForm/index.js","webpack://leviathan-masa-frontend/./src/components/PasswordValidityRules/PasswordValidityRules.scss?34f7","components/PasswordValidityRules/PasswordValidityRules.js","components/PasswordValidityRules/index.js","webpack://leviathan-masa-frontend/./src/components/RegisterForms/RegisterForm.scss?692f","components/RegisterForms/RegisterForm.js","components/RegisterForms/CodeConfirmationForm.js","components/RegisterForms/RegisterForms.js","components/RegisterForms/index.js","webpack://leviathan-masa-frontend/./src/components/ForgotPasswordFlow/ForgotPasswordForm.scss?2781","components/ForgotPasswordFlow/EmailForm.js","components/ForgotPasswordFlow/ResetPasswordForm.js","components/ForgotPasswordFlow/ResetPasswordSuccess.js","components/ForgotPasswordFlow/ForgotPasswordFlow.js","components/ForgotPasswordFlow/index.js","components/ExternalLoginHandler/ExternalLoginHandler.js","components/ExternalLoginHandler/index.js","components/MFA/RequiredMFA.js","components/MFA/SetupMFA.js","webpack://leviathan-masa-frontend/./src/components/MFA/mfa.scss?5ade","components/MFA/MFA.js","components/MFA/index.js","webpack://leviathan-masa-frontend/./src/components/MFA/mfaSucess.scss?9b4a","components/MFA/SetupMFASuccess.js","pages/AuthPage/AuthPage.js","pages/AuthPage/index.js","webpack://leviathan-masa-frontend/./src/components/ProjectProgress/ProjectProgress.scss?3b06","../node_modules/rc-util/es/Children/toArray.js","../node_modules/rc-util/es/Dom/findDOMNode.js","../node_modules/rc-util/es/hooks/useMemo.js","../node_modules/rc-util/es/ref.js","../node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/rc-motion/es/util/motion.js","../node_modules/rc-motion/es/interface.js","../node_modules/rc-util/es/hooks/useState.js","../node_modules/rc-util/es/raf.js","../node_modules/rc-motion/es/hooks/useNextFrame.js","../node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/rc-motion/es/hooks/useStepQueue.js","../node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../node_modules/rc-motion/es/hooks/useStatus.js","../node_modules/rc-motion/es/DomWrapper.js","../node_modules/rc-motion/es/CSSMotion.js","../node_modules/rc-motion/es/util/diff.js","../node_modules/rc-motion/es/CSSMotionList.js","../node_modules/rc-motion/es/index.js","../node_modules/rc-collapse/es/PanelContent.js","../node_modules/rc-collapse/es/Panel.js","../node_modules/rc-collapse/es/Collapse.js","../node_modules/rc-collapse/es/index.js","utils/motionUtil.js","webpack://leviathan-masa-frontend/./node_modules/rc-collapse/assets/index.css?0260","services/ThirdPartyService.js","components/ProjectProgress/components/PanelHeader/index.js","components/ProjectProgress/components/AdditionalInfoPanel/index.js","components/ProjectProgress/components/OptionalTextField/index.js","components/ProjectProgress/components/ApplicationInfoPanel/index.js","components/ProjectProgress/components/VerificationPanel/index.js","components/ProjectProgress/components/PaymentPanel/index.js","components/ProjectProgress/components/AssessmentPanel/index.js","components/ProjectProgress/components/MitigationsPanel/index.js","components/ProjectProgress/components/AssessmentCompletedPanel/index.js","components/ProjectProgress/components/DeveloperInfoPanel/index.js","components/ProjectProgress/ProjectProgress.js","components/ProjectProgress/index.js","components/ProjectDetails/components/PanelHeader/index.js","components/ProjectDetails/components/ProjectDetailsCasa/CompanyDetails.js","components/ProjectDetails/components/ProjectDetailsCasa/TestingDetails.js","webpack://leviathan-masa-frontend/./src/components/ProjectDetails/components/PaymentChooser/PaymentChooser.scss?8094","components/ProjectDetails/components/PaymentChooser/index.js","components/ProjectDetails/components/ProjectDetailsCasa/PricingOptions.js","components/ProjectDetails/components/ProjectDetailsCasa/Assessment.js","components/ProjectDetails/components/ProjectDetailsCasa/Remediation.js","components/ProjectDetails/components/ProjectDetailsCasa/Results.js","components/ProjectDetails/components/ProjectDetailsCasa/index.js","components/ProjectDetails/components/ProjectDetailsMasa/CompanyDetails.js","components/ProjectDetails/components/ProjectDetailsMasa/TestingDetails.js","components/ProjectDetails/components/ProjectDetailsMasa/PricingOptions.js","components/ProjectDetails/components/ProjectDetailsMasa/Assessment.js","components/ProjectDetails/components/ProjectDetailsMasa/Remediation.js","components/ProjectDetails/components/ProjectDetailsMasa/Results.js","components/ProjectDetails/components/ProjectDetailsMasa/index.js","webpack://leviathan-masa-frontend/./src/components/ProjectDetails/ProjectDetails.scss?6d76","components/ProjectDetails/ProjectDetails.js","components/ProjectDetails/index.js","webpack://leviathan-masa-frontend/./src/components/Faq/Faq.scss?fccf","components/Faq/Faq.js","components/Faq/index.js","pages/RootPage/RootPage.js","pages/RootPage/index.js","../node_modules/@aws-amplify/core/src/ServiceWorker/ServiceWorker.ts","../node_modules/@aws-amplify/cache/src/Utils/CacheUtils.ts","../node_modules/@aws-amplify/cache/src/StorageCache.ts","../node_modules/@aws-amplify/cache/src/BrowserStorageCache.ts","../node_modules/@aws-amplify/cache/src/index.ts","../node_modules/@aws-sdk/client-s3/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/client-s3/models/models_0.ts","../node_modules/@aws-sdk/xml-builder/src/escape-attribute.ts","../node_modules/@aws-sdk/xml-builder/src/XmlNode.ts","../node_modules/@aws-sdk/xml-builder/src/escape-element.ts","../node_modules/@aws-sdk/xml-builder/src/XmlText.ts","../node_modules/@aws-sdk/xml-builder/src/index.ts","../node_modules/@aws-sdk/client-s3/protocols/Aws_restXml.ts","../node_modules/@aws-sdk/util-arn-parser/src/index.ts","../node_modules/@aws-sdk/middleware-bucket-endpoint/src/bucketHostnameUtils.ts","../node_modules/@aws-sdk/middleware-bucket-endpoint/src/bucketHostname.ts","../node_modules/@aws-sdk/middleware-bucket-endpoint/src/bucketEndpointMiddleware.ts","../node_modules/@aws-sdk/middleware-bucket-endpoint/src/configurations.ts","../node_modules/@aws-sdk/middleware-bucket-endpoint/src/index.ts","../node_modules/@aws-sdk/middleware-sdk-s3/src/validate-bucket-name.ts","../node_modules/@aws-sdk/middleware-sdk-s3/src/use-regional-endpoint.ts","../node_modules/@aws-sdk/middleware-sdk-s3/src/throw-200-exceptions.ts","../node_modules/@aws-sdk/middleware-sdk-s3/src/index.ts","../node_modules/@aws-sdk/middleware-ssec/src/index.ts","../node_modules/@aws-sdk/client-s3/commands/CopyObjectCommand.ts","../node_modules/@aws-sdk/client-s3/commands/GetObjectCommand.ts","../node_modules/@aws-sdk/client-s3/commands/DeleteObjectCommand.ts","../node_modules/@aws-sdk/client-s3/commands/ListObjectsV2Command.ts","../node_modules/@aws-sdk/util-format-url/src/index.ts","../node_modules/@aws-sdk/util-create-request/src/index.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/constants.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/credentialDerivation.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/getCanonicalHeaders.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/util-uri-escape/src/escape-uri.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/getCanonicalQuery.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/getPayloadHash.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/hasHeader.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/cloneRequest.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/moveHeadersToQuery.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/prepareRequest.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/utilDate.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/SignatureV4.ts","../node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4/src/index.ts","../node_modules/@aws-sdk/s3-request-presigner/src/constants.ts","../node_modules/@aws-sdk/s3-request-presigner/src/presigner.ts","../node_modules/@aws-sdk/s3-request-presigner/src/getSignedUrl.ts","../node_modules/@aws-sdk/s3-request-presigner/src/index.ts","../node_modules/@aws-amplify/storage/src/common/StorageErrorStrings.ts","../node_modules/@aws-amplify/storage/src/providers/axios-http-handler.ts","../node_modules/@aws-amplify/storage/src/common/StorageConstants.ts","../node_modules/@aws-amplify/storage/src/common/StorageUtils.ts","../node_modules/@aws-sdk/eventstream-marshaller/src/Int64.ts","../node_modules/@aws-sdk/eventstream-marshaller/src/HeaderMarshaller.ts","../node_modules/@aws-sdk/eventstream-marshaller/src/splitMessage.ts","../node_modules/@aws-sdk/eventstream-marshaller/src/EventStreamMarshaller.ts","../node_modules/@aws-sdk/eventstream-marshaller/src/index.ts","../node_modules/@aws-sdk/eventstream-serde-universal/src/getChunkedStream.ts","../node_modules/@aws-sdk/eventstream-serde-universal/src/getUnmarshalledStream.ts","../node_modules/@aws-sdk/eventstream-serde-universal/src/EventStreamMarshaller.ts","../node_modules/@aws-sdk/eventstream-serde-universal/src/provider.ts","../node_modules/@aws-sdk/eventstream-serde-universal/src/index.ts","../node_modules/@aws-sdk/eventstream-serde-browser/src/utils.ts","../node_modules/@aws-sdk/eventstream-serde-browser/src/EventStreamMarshaller.ts","../node_modules/@aws-sdk/eventstream-serde-browser/src/provider.ts","../node_modules/@aws-sdk/eventstream-serde-browser/src/index.ts","../node_modules/@aws-sdk/chunked-blob-reader/src/index.ts","../node_modules/@aws-sdk/hash-blob-browser/src/index.ts","../node_modules/@aws-sdk/md5-js/src/constants.ts","../node_modules/@aws-sdk/md5-js/src/index.ts","../node_modules/@aws-sdk/client-s3/endpoints.ts","../node_modules/@aws-sdk/client-s3/runtimeConfig.shared.ts","../node_modules/@aws-sdk/client-s3/runtimeConfig.browser.ts","../node_modules/@aws-sdk/eventstream-serde-config-resolver/src/EventStreamSerdeConfig.ts","../node_modules/@aws-sdk/middleware-expect-continue/src/index.ts","../node_modules/@aws-sdk/client-s3/S3Client.ts","../node_modules/@aws-amplify/storage/src/common/S3ClientUtils.ts","../node_modules/@aws-sdk/client-s3/commands/PutObjectCommand.ts","../node_modules/@aws-sdk/client-s3/commands/CreateMultipartUploadCommand.ts","../node_modules/@aws-sdk/client-s3/models/models_1.ts","../node_modules/@aws-sdk/client-s3/commands/UploadPartCommand.ts","../node_modules/@aws-sdk/client-s3/commands/CompleteMultipartUploadCommand.ts","../node_modules/@aws-sdk/client-s3/commands/AbortMultipartUploadCommand.ts","../node_modules/@aws-sdk/client-s3/commands/ListPartsCommand.ts","../node_modules/@aws-amplify/storage/src/providers/AWSS3ProviderManagedUpload.ts","../node_modules/@aws-amplify/storage/src/providers/AWSS3UploadTask.ts","../node_modules/@aws-amplify/storage/src/providers/AWSS3Provider.ts","../node_modules/@aws-amplify/storage/src/Storage.ts","../node_modules/@aws-amplify/storage/src/index.ts","../node_modules/aws-amplify/src/index.ts","pages/NewOrderPage/NewOrderPage.js","pages/NewOrderPage/index.js","utils/editableModeByStatus.js","webpack://leviathan-masa-frontend/./src/components/RadioGroup/RadioGroup.scss?26b9","components/RadioGroup/RadioGroup.js","components/RadioGroup/index.js","components/OrderStepsCasa/OrderCreation/OrderCreation.js","components/OrderStepsCasa/OrderCreation/index.js","components/OrderStepsCasa/ApplicationInfo/ApplicationInfoForm.js","components/OrderStepsCasa/ApplicationInfo/ApplicationInfo.js","components/OrderStepsCasa/ApplicationInfo/index.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-select/dist/indicators.tsx","../node_modules/react-select/dist/useStateManager-68425271.esm.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/ScrollManager.tsx","../node_modules/react-select/dist/react-select.esm.js","webpack://leviathan-masa-frontend/./src/components/CustomSelect/CustomSelect.scss?095b","components/CustomSelect/CustomSelect.js","components/CustomSelect/index.js","components/OrderStepsCasa/AssessmentInfo/AssessmentInfo.js","components/OrderStepsCasa/AssessmentInfo/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/SourceCodeInfo/SourceCodeInfo.scss?f726","webpack://leviathan-masa-frontend/./src/components/OrderInfo/OrderInfo.scss?1980","components/OrderInfo/OrderInfo.js","components/OrderInfo/index.js","components/OrderStepsCasa/SourceCodeInfo/SourceCodeInfo.js","components/OrderStepsCasa/SourceCodeInfo/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/Payment/Payment.scss?e55e","components/OrderStepsCasa/Payment/Payment.js","components/OrderStepsCasa/Payment/index.js","components/OrderStepsCasa/Invoice/Invoice.js","components/OrderStepsCasa/Invoice/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/CheckoutForm/CheckoutForm.scss?9ee4","components/OrderStepsCasa/CheckoutForm/CheckoutForm.js","components/OrderStepsCasa/CheckoutForm/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/OnlinePayment/OnlinePayment.scss?78b8","components/OrderStepsCasa/OnlinePayment/OnlinePayment.js","components/OrderStepsCasa/OnlinePayment/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/PaymentType/PaymentType.scss?cf8e","components/OrderStepsCasa/PaymentType/PaymentType.js","components/OrderStepsCasa/PaymentType/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/PurchaseOrder/PurchaseOrder.scss?4167","components/OrderStepsCasa/PurchaseOrder/PurchaseOrder.js","components/OrderStepsCasa/PurchaseOrder/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStepsCasa/Agreement/Agreement.scss?c966","components/OrderStepsCasa/Agreement/Agreement.js","components/OrderStepsCasa/Agreement/index.js","components/OrderStepsCasa/index.js","pages/NewOrderCasaPage/NewOrderCasaPage.js","pages/NewOrderCasaPage/index.js","webpack://leviathan-masa-frontend/./src/components/OrderStart/OrderStart.scss?dfe8","components/OrderStart/OrderStart.js","components/OrderStart/index.js","pages/StartOrderPage/StartOrderPage.js","pages/StartOrderPage/index.js","pages/OrderCasaPage/OrderCasaPage.js","pages/OrderCasaPage/index.js","components/ChangePassword/ChangePasswordForm/ChangePasswordForm.js","components/ChangePassword/ChangePasswordForm/index.js","webpack://leviathan-masa-frontend/./src/components/ChangePassword/ChangePasswordSuccess/ChangePasswordSuccess.scss?a823","components/ChangePassword/ChangePasswordSuccess/ChangePasswordSuccess.js","components/ChangePassword/ChangePasswordSuccess/index.js","components/ChangePassword/index.js","components/MFASetup/EnableMFA.js","components/MFASetup/DisableMFA.js","webpack://leviathan-masa-frontend/./src/components/MFASetup/MFASetup.scss?3e90","components/MFASetup/EnableMFASuccess.js","components/MFASetup/DisableMFASuccess.js","App.js","store/counter/counter.actions.js","store/counter/counter.reducer.js","store/countries/countries.actions.js","store/countries/countries.reducer.js","store/index.js","index.js"],"sourcesContent":["/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.26.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"aws_amplify_ui\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"aws_amplify_ui\"] = factory();\n\telse\n\t\troot[\"aws_amplify_ui\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/*\n * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nexport * from './Anchor.css';\nexport * from './Button.css';\nexport * from './Form.css';\nexport * from './Hint.css';\nexport * from './Input.css';\nexport * from './Nav.css';\nexport * from './PhotoPicker.css';\nexport * from './Section.css';\nexport * from './SelectInput.css';\nexport * from './Strike.css';\nexport * from './Toast.css';\nexport * from './Totp.css';\nexport * from './XR.css';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"a\":\"Anchor__a___1_Iz8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button__button___vS7Mv\",\"signInButton\":\"Button__signInButton___3bUH-\",\"googleSignInButton\":\"Button__googleSignInButton___1YiCu\",\"signInButtonIcon\":\"Button__signInButtonIcon___ihN75\",\"auth0SignInButton\":\"Button__auth0SignInButton___znnCj\",\"facebookSignInButton\":\"Button__facebookSignInButton___34Txh\",\"amazonSignInButton\":\"Button__amazonSignInButton___2EMtl\",\"oAuthSignInButton\":\"Button__oAuthSignInButton___3UGOl\",\"signInButtonContent\":\"Button__signInButtonContent___xqTXJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formContainer\":\"Form__formContainer___1GA3x\",\"formSection\":\"Form__formSection___1PPvW\",\"formField\":\"Form__formField___38Ikl\",\"formRow\":\"Form__formRow___2mwRs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hint\":\"Hint__hint___2XngB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"Input__input___3e_bf\",\"inputLabel\":\"Input__inputLabel___3VF0S\",\"label\":\"Input__label___23sO8\",\"radio\":\"Input__radio___2hllK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"navBar\":\"Nav__navBar___xtCFA\",\"navRight\":\"Nav__navRight___1QG2J\",\"nav\":\"Nav__nav___2Dx2Y\",\"navItem\":\"Nav__navItem___1LtFQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"photoPickerButton\":\"PhotoPicker__photoPickerButton___2XdVn\",\"photoPlaceholder\":\"PhotoPicker__photoPlaceholder___2JXO4\",\"photoPlaceholderIcon\":\"PhotoPicker__photoPlaceholderIcon___3Et71\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Section__container___3YYTG\",\"actionRow\":\"Section__actionRow___2LWSU\",\"sectionHeader\":\"Section__sectionHeader___2djyg\",\"sectionHeaderHint\":\"Section__sectionHeaderHint___3Wxdc\",\"sectionBody\":\"Section__sectionBody___ihqqd\",\"sectionHeaderContent\":\"Section__sectionHeaderContent___1UCqa\",\"sectionFooter\":\"Section__sectionFooter___1T54C\",\"sectionFooterPrimaryContent\":\"Section__sectionFooterPrimaryContent___2r9ZX\",\"sectionFooterSecondaryContent\":\"Section__sectionFooterSecondaryContent___Nj41Q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectInput\":\"SelectInput__selectInput___3efO4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"strike\":\"Strike__strike___1XV1b\",\"strikeContent\":\"Strike__strikeContent___10gLb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast\":\"Toast__toast___XXr3v\",\"toastClose\":\"Toast__toastClose___18lU4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"totpQrcode\":\"Totp__totpQrcode___1crLx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sumerianSceneContainer\":\"XR__sumerianSceneContainer___3nVMt\",\"sumerianScene\":\"XR__sumerianScene___2Tt7-\",\"loadingOverlay\":\"XR__loadingOverlay___IbqcI\",\"loadingContainer\":\"XR__loadingContainer___2Itxb\",\"loadingLogo\":\"XR__loadingLogo___Ub7xQ\",\"loadingSceneName\":\"XR__loadingSceneName___3__ne\",\"loadingBar\":\"XR__loadingBar___2vcke\",\"loadingBarFill\":\"XR__loadingBarFill___3M-D9\",\"sceneErrorText\":\"XR__sceneErrorText___2y0tp\",\"sceneBar\":\"XR__sceneBar___2ShrP\",\"sceneName\":\"XR__sceneName___1ApHr\",\"sceneActions\":\"XR__sceneActions___7plGs\",\"actionButton\":\"XR__actionButton___2poIM\",\"tooltip\":\"XR__tooltip___UYyhn\",\"actionIcon\":\"XR__actionIcon___2qnd2\",\"autoShowTooltip\":\"XR__autoShowTooltip___V1QH7\"};","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\n\nexport class AwsCrc32 implements Hash {\n private readonly crc32 = new Crc32();\n\n update(toHash: SourceData) {\n if (isEmptyData(toHash)) return;\n\n this.crc32.update(convertToBuffer(toHash));\n }\n\n async digest(): Promise {\n return numToUint8(this.crc32.digest());\n }\n}\n","import {uint32ArrayFrom} from \"@aws-crypto/util\";\n\nexport function crc32(data: Uint8Array): number {\n return new Crc32().update(data).digest();\n}\n\nexport class Crc32 {\n private checksum = 0xffffffff;\n\n update(data: Uint8Array): this {\n for (const byte of data) {\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n\n return this;\n }\n\n digest(): number {\n return (this.checksum ^ 0xffffffff) >>> 0;\n }\n}\n\n// prettier-ignore\nconst a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nconst lookupTable: Uint32Array = uint32ArrayFrom(a_lookUpTable)\nexport { AwsCrc32 } from \"./aws_crc32\";\n","import { MsSubtleCrypto } from \"./MsSubtleCrypto\";\n\ntype SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst msSubtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\n/**\n * The value accessible as `window.msCrypto` in Internet Explorer 11.\n */\nexport interface MsCrypto {\n getRandomValues: (toFill: Uint8Array) => void;\n subtle: MsSubtleCrypto;\n}\n\n/**\n * The `window` object in Internet Explorer 11. This interface does not\n * exhaustively document the prefixed features of `window` in IE11.\n */\nexport interface MsWindow extends Window {\n MSInputMethodContext: any;\n msCrypto: MsCrypto;\n}\n\nfunction quacksLikeAnMsWindow(window: Window): window is MsWindow {\n return \"MSInputMethodContext\" in window && \"msCrypto\" in window;\n}\n\n/**\n * Determines if the provided window is (or is like) the window object one would\n * expect to encounter in Internet Explorer 11.\n */\nexport function isMsWindow(window: Window): window is MsWindow {\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\n const { getRandomValues, subtle } = window.msCrypto;\n return msSubtleCryptoMethods\n .map(methodName => subtle[methodName])\n .concat(getRandomValues)\n .every(method => typeof method === \"function\");\n }\n\n return false;\n}\n","export * from \"./CryptoOperation\";\nexport * from \"./Key\";\nexport * from \"./KeyOperation\";\nexport * from \"./MsSubtleCrypto\";\nexport * from \"./MsWindow\";\n","export const SHA_256_HASH: { name: \"SHA-256\" } = { name: \"SHA-256\" };\n\nexport const SHA_256_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-256\" } } = {\n name: \"HMAC\",\n hash: SHA_256_HASH\n};\n\nexport const EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n","import { Sha256 as Ie11Sha256 } from \"./ie11Sha256\";\nimport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\nimport { Sha256 as JsSha256 } from \"@aws-crypto/sha256-js\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { isMsWindow } from \"@aws-crypto/ie11-detection\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private readonly hash: Hash;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha256(secret);\n } else if (isMsWindow(locateWindow())) {\n this.hash = new Ie11Sha256(secret);\n } else {\n this.hash = new JsSha256(secret);\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(data, encoding);\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n}\n","import { isEmptyData } from \"./isEmptyData\";\nimport { SHA_256_HMAC_ALGO } from \"./constants\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { CryptoOperation, Key, MsWindow } from \"@aws-crypto/ie11-detection\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private operation: Promise;\n\n constructor(secret?: SourceData) {\n if (secret) {\n this.operation = getKeyPromise(secret).then(keyData =>\n (locateWindow() as MsWindow).msCrypto.subtle.sign(\n SHA_256_HMAC_ALGO,\n keyData\n )\n );\n this.operation.catch(() => {});\n } else {\n this.operation = Promise.resolve(\n (locateWindow() as MsWindow).msCrypto.subtle.digest(\"SHA-256\")\n );\n }\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash)) {\n return;\n }\n\n this.operation = this.operation.then(operation => {\n operation.onerror = () => {\n this.operation = Promise.reject(\n new Error(\"Error encountered updating hash\")\n );\n };\n operation.process(toArrayBufferView(toHash));\n\n return operation;\n });\n this.operation.catch(() => {});\n }\n\n digest(): Promise {\n return this.operation.then(\n operation =>\n new Promise((resolve, reject) => {\n operation.onerror = () => {\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.oncomplete = () => {\n if (operation.result) {\n resolve(new Uint8Array(operation.result));\n }\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n\n operation.finish();\n })\n );\n }\n}\n\nfunction getKeyPromise(secret: SourceData): Promise {\n return new Promise((resolve, reject) => {\n const keyOperation = (locateWindow() as MsWindow).msCrypto.subtle.importKey(\n \"raw\",\n toArrayBufferView(secret),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n );\n\n keyOperation.oncomplete = () => {\n if (keyOperation.result) {\n resolve(keyOperation.result);\n }\n\n reject(new Error(\"ImportKey completed without importing key.\"));\n };\n keyOperation.onerror = () => {\n reject(new Error(\"ImportKey failed to import key.\"));\n };\n });\n}\n\nfunction toArrayBufferView(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","export * from \"./crossPlatformSha256\";\nexport { Sha256 as Ie11Sha256 } from \"./ie11Sha256\";\nexport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\n","import { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","import { Hash, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nimport {\n EMPTY_DATA_SHA_256,\n SHA_256_HASH,\n SHA_256_HMAC_ALGO,\n} from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private readonly key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n if (secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(secret),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_256_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_256);\n }\n\n return Promise.resolve()\n .then(() =>\n locateWindow().crypto.subtle.digest(SHA_256_HASH, this.toHash)\n )\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n}\n","import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n","/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n","export * from \"./jsSha256\";\n","import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Hash {\n private readonly hash = new RawSha256();\n private readonly outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n if (secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","export * from \"./supportsWebCrypto\";\n","type SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst subtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\nexport function supportsWebCrypto(window: Window): boolean {\n if (\n supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\"\n ) {\n const { subtle } = window.crypto;\n\n return supportsSubtleCrypto(subtle);\n }\n\n return false;\n}\n\nexport function supportsSecureRandom(window: Window): boolean {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n const { getRandomValues } = window.crypto;\n\n return typeof getRandomValues === \"function\";\n }\n\n return false;\n}\n\nexport function supportsSubtleCrypto(subtle: SubtleCrypto) {\n return (\n subtle &&\n subtleCryptoMethods.every(\n methodName => typeof subtle[methodName] === \"function\"\n )\n );\n}\n\nexport async function supportsZeroByteGCM(subtle: SubtleCrypto) {\n if (!supportsSubtleCrypto(subtle)) return false;\n try {\n const key = await subtle.generateKey(\n { name: \"AES-GCM\", length: 128 },\n false,\n [\"encrypt\"]\n );\n const zeroByteAuthTag = await subtle.encrypt(\n {\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n },\n key,\n new Uint8Array(0)\n );\n return zeroByteAuthTag.byteLength === 16;\n } catch {\n return false;\n }\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@aws-sdk/util-utf8-browser\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array): Uint32Array {\n if (!Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n","export var fromUtf8 = function (input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n};\nexport var toUtf8 = function (input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) | ((input[++i] & 63) << 6) | (input[++i] & 63));\n }\n }\n return decoded;\n};\n","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport var fromUtf8 = function (input) {\n return typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n};\nexport var toUtf8 = function (input) {\n return typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n};\n","var fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport const fromUtf8 = (input: string): Uint8Array => {\n const bytes: Array = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n } else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n } else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push(\n (surrogatePair >> 18) | 0b11110000,\n ((surrogatePair >> 12) & 0b111111) | 0b10000000,\n ((surrogatePair >> 6) & 0b111111) | 0b10000000,\n (surrogatePair & 0b111111) | 0b10000000\n );\n } else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n\n return Uint8Array.from(bytes);\n};\n\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport const toUtf8 = (input: Uint8Array): string => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n } else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n } else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n } else {\n decoded += String.fromCharCode(\n ((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111)\n );\n }\n }\n\n return decoded;\n};\n","/**\n * A declaration of the global TextEncoder and TextDecoder constructors.\n *\n * @see https://encoding.spec.whatwg.org/\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace Encoding {\n interface TextDecoderOptions {\n fatal?: boolean;\n ignoreBOM?: boolean;\n }\n\n interface TextDecodeOptions {\n stream?: boolean;\n }\n\n interface TextDecoder {\n readonly encoding: string;\n readonly fatal: boolean;\n readonly ignoreBOM: boolean;\n decode(input?: ArrayBuffer | ArrayBufferView, options?: TextDecodeOptions): string;\n }\n\n export interface TextDecoderConstructor {\n new (label?: string, options?: TextDecoderOptions): TextDecoder;\n }\n\n interface TextEncoder {\n readonly encoding: \"utf-8\";\n encode(input?: string): Uint8Array;\n }\n\n export interface TextEncoderConstructor {\n new (): TextEncoder;\n }\n}\n\ndeclare const TextDecoder: Encoding.TextDecoderConstructor;\n\ndeclare const TextEncoder: Encoding.TextEncoderConstructor;\n\nexport function fromUtf8(input: string): Uint8Array {\n return new TextEncoder().encode(input);\n}\n\nexport function toUtf8(input: Uint8Array): string {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\n\ndeclare const TextDecoder: Function | undefined;\ndeclare const TextEncoder: Function | undefined;\n\nexport const fromUtf8 = (input: string): Uint8Array =>\n typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n\nexport const toUtf8 = (input: Uint8Array): string =>\n typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n\t(global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n\tReact = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n\tfunction emptyFunction() {}\n\n\tfunction emptyFunctionWithReset() {}\n\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tvar factoryWithThrowingShims = function () {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\n\t var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n\t err.name = 'Invariant Violation';\n\t throw err;\n\t }\n\t shim.isRequired = shim;\n\n\t function getShim() {\n\t return shim;\n\t }\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t elementType: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim,\n\t checkPropTypes: emptyFunctionWithReset,\n\t resetWarningCache: emptyFunction\n\t };\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t return ReactPropTypes;\n\t};\n\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t{\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\n\tfunction ownKeys(object, enumerableOnly) {\n\t var keys = Object.keys(object);\n\n\t if (Object.getOwnPropertySymbols) {\n\t var symbols = Object.getOwnPropertySymbols(object);\n\n\t if (enumerableOnly) {\n\t symbols = symbols.filter(function (sym) {\n\t return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n\t });\n\t }\n\n\t keys.push.apply(keys, symbols);\n\t }\n\n\t return keys;\n\t}\n\n\tfunction _objectSpread2(target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i] != null ? arguments[i] : {};\n\n\t if (i % 2) {\n\t ownKeys(Object(source), true).forEach(function (key) {\n\t _defineProperty(target, key, source[key]);\n\t });\n\t } else if (Object.getOwnPropertyDescriptors) {\n\t Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n\t } else {\n\t ownKeys(Object(source)).forEach(function (key) {\n\t Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n\t });\n\t }\n\t }\n\n\t return target;\n\t}\n\n\tfunction _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n\t _typeof = function (obj) {\n\t return typeof obj;\n\t };\n\t } else {\n\t _typeof = function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t };\n\t }\n\n\t return _typeof(obj);\n\t}\n\n\tfunction _defineProperty(obj, key, value) {\n\t if (key in obj) {\n\t Object.defineProperty(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\n\t return obj;\n\t}\n\n\tfunction _slicedToArray(arr, i) {\n\t return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n\t}\n\n\tfunction _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t}\n\n\tfunction _iterableToArrayLimit(arr, i) {\n\t var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n\t if (_i == null) return;\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\n\t var _s, _e;\n\n\t try {\n\t for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t}\n\n\tfunction _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n\t}\n\n\tfunction _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n\t return arr2;\n\t}\n\n\tfunction _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t}\n\n\tvar usePrevious = function usePrevious(value) {\n\t var ref = React.useRef(value);\n\t React.useEffect(function () {\n\t ref.current = value;\n\t }, [value]);\n\t return ref.current;\n\t};\n\n\tvar isUnknownObject = function isUnknownObject(raw) {\n\t return raw !== null && _typeof(raw) === 'object';\n\t};\n\tvar isPromise = function isPromise(raw) {\n\t return isUnknownObject(raw) && typeof raw.then === 'function';\n\t}; // We are using types to enforce the `stripe` prop in this lib,\n\t// but in an untyped integration `stripe` could be anything, so we need\n\t// to do some sanity validation to prevent type errors.\n\n\tvar isStripe = function isStripe(raw) {\n\t return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n\t};\n\n\tvar PLAIN_OBJECT_STR = '[object Object]';\n\tvar isEqual = function isEqual(left, right) {\n\t if (!isUnknownObject(left) || !isUnknownObject(right)) {\n\t return left === right;\n\t }\n\n\t var leftArray = Array.isArray(left);\n\t var rightArray = Array.isArray(right);\n\t if (leftArray !== rightArray) return false;\n\t var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n\t var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\t if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n\t // fallback to reference check.\n\n\t if (!leftPlainObject && !leftArray) return left === right;\n\t var leftKeys = Object.keys(left);\n\t var rightKeys = Object.keys(right);\n\t if (leftKeys.length !== rightKeys.length) return false;\n\t var keySet = {};\n\n\t for (var i = 0; i < leftKeys.length; i += 1) {\n\t keySet[leftKeys[i]] = true;\n\t }\n\n\t for (var _i = 0; _i < rightKeys.length; _i += 1) {\n\t keySet[rightKeys[_i]] = true;\n\t }\n\n\t var allKeys = Object.keys(keySet);\n\n\t if (allKeys.length !== leftKeys.length) {\n\t return false;\n\t }\n\n\t var l = left;\n\t var r = right;\n\n\t var pred = function pred(key) {\n\t return isEqual(l[key], r[key]);\n\t };\n\n\t return allKeys.every(pred);\n\t};\n\n\tvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n\t if (!isUnknownObject(options)) {\n\t return null;\n\t }\n\n\t return Object.keys(options).reduce(function (newOptions, key) {\n\t var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n\t if (immutableKeys.includes(key)) {\n\t if (isUpdated) {\n\t console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n\t }\n\n\t return newOptions;\n\t }\n\n\t if (!isUpdated) {\n\t return newOptions;\n\t }\n\n\t return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n\t }, null);\n\t};\n\n\tvar INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n\t// integration `stripe` could be anything, so we need to do some sanity\n\t// validation to prevent type errors.\n\n\tvar validateStripe = function validateStripe(maybeStripe) {\n\t if (maybeStripe === null || isStripe(maybeStripe)) {\n\t return maybeStripe;\n\t }\n\n\t throw new Error(INVALID_STRIPE_ERROR);\n\t};\n\n\tvar parseStripeProp = function parseStripeProp(raw) {\n\t if (isPromise(raw)) {\n\t return {\n\t tag: 'async',\n\t stripePromise: Promise.resolve(raw).then(validateStripe)\n\t };\n\t }\n\n\t var stripe = validateStripe(raw);\n\n\t if (stripe === null) {\n\t return {\n\t tag: 'empty'\n\t };\n\t }\n\n\t return {\n\t tag: 'sync',\n\t stripe: stripe\n\t };\n\t};\n\n\tvar ElementsContext = /*#__PURE__*/React.createContext(null);\n\tElementsContext.displayName = 'ElementsContext';\n\tvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n\t if (!ctx) {\n\t throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n\t }\n\n\t return ctx;\n\t};\n\t/**\n\t * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n\t * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n\t *\n\t * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n\t * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n\t * Pass the returned `Promise` to `Elements`.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n\t */\n\n\tvar Elements = function Elements(_ref) {\n\t var rawStripeProp = _ref.stripe,\n\t options = _ref.options,\n\t children = _ref.children;\n\t var parsed = React.useMemo(function () {\n\t return parseStripeProp(rawStripeProp);\n\t }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n\t var _React$useState = React.useState(function () {\n\t return {\n\t stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n\t elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n\t };\n\t }),\n\t _React$useState2 = _slicedToArray(_React$useState, 2),\n\t ctx = _React$useState2[0],\n\t setContext = _React$useState2[1];\n\n\t React.useEffect(function () {\n\t var isMounted = true;\n\n\t var safeSetContext = function safeSetContext(stripe) {\n\t setContext(function (ctx) {\n\t // no-op if we already have a stripe instance (https://github.com/stripe/react-stripe-js/issues/296)\n\t if (ctx.stripe) return ctx;\n\t return {\n\t stripe: stripe,\n\t elements: stripe.elements(options)\n\t };\n\t });\n\t }; // For an async stripePromise, store it in context once resolved\n\n\n\t if (parsed.tag === 'async' && !ctx.stripe) {\n\t parsed.stripePromise.then(function (stripe) {\n\t if (stripe && isMounted) {\n\t // Only update Elements context if the component is still mounted\n\t // and stripe is not null. We allow stripe to be null to make\n\t // handling SSR easier.\n\t safeSetContext(stripe);\n\t }\n\t });\n\t } else if (parsed.tag === 'sync' && !ctx.stripe) {\n\t // Or, handle a sync stripe instance going from null -> populated\n\t safeSetContext(parsed.stripe);\n\t }\n\n\t return function () {\n\t isMounted = false;\n\t };\n\t }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n\t var prevStripe = usePrevious(rawStripeProp);\n\t React.useEffect(function () {\n\t if (prevStripe !== null && prevStripe !== rawStripeProp) {\n\t console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n\t }\n\t }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!ctx.elements) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n\t if (updates) {\n\t ctx.elements.update(updates);\n\t }\n\t }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n\t React.useEffect(function () {\n\t var anyStripe = ctx.stripe;\n\n\t if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n\t return;\n\t }\n\n\t anyStripe._registerWrapper({\n\t name: 'react-stripe-js',\n\t version: \"1.10.0\"\n\t });\n\n\t anyStripe.registerAppInfo({\n\t name: 'react-stripe-js',\n\t version: \"1.10.0\",\n\t url: 'https://stripe.com/docs/stripe-js/react'\n\t });\n\t }, [ctx.stripe]);\n\t return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n\t value: ctx\n\t }, children);\n\t};\n\tElements.propTypes = {\n\t stripe: propTypes.any,\n\t options: propTypes.object\n\t};\n\tvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n\t var ctx = React.useContext(ElementsContext);\n\t return parseElementsContext(ctx, useCaseMessage);\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n\t */\n\n\tvar useElements = function useElements() {\n\t var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n\t elements = _useElementsContextWi.elements;\n\n\t return elements;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n\t */\n\n\tvar useStripe = function useStripe() {\n\t var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n\t stripe = _useElementsContextWi2.stripe;\n\n\t return stripe;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n\t */\n\n\tvar ElementsConsumer = function ElementsConsumer(_ref2) {\n\t var children = _ref2.children;\n\t var ctx = useElementsContextWithUseCase('mounts '); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n\t return children(ctx);\n\t};\n\tElementsConsumer.propTypes = {\n\t children: propTypes.func.isRequired\n\t};\n\n\tvar useCallbackReference = function useCallbackReference(cb) {\n\t var ref = React.useRef(cb);\n\t React.useEffect(function () {\n\t ref.current = cb;\n\t }, [cb]);\n\t return function () {\n\t if (ref.current) {\n\t ref.current.apply(ref, arguments);\n\t }\n\t };\n\t};\n\n\tvar noop = function noop() {};\n\n\tvar capitalized = function capitalized(str) {\n\t return str.charAt(0).toUpperCase() + str.slice(1);\n\t};\n\n\tvar createElementComponent = function createElementComponent(type, isServer) {\n\t var displayName = \"\".concat(capitalized(type), \"Element\");\n\n\t var ClientElement = function ClientElement(_ref) {\n\t var id = _ref.id,\n\t className = _ref.className,\n\t _ref$options = _ref.options,\n\t options = _ref$options === void 0 ? {} : _ref$options,\n\t _ref$onBlur = _ref.onBlur,\n\t onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n\t _ref$onFocus = _ref.onFocus,\n\t onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n\t _ref$onReady = _ref.onReady,\n\t onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n\t _ref$onChange = _ref.onChange,\n\t onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n\t _ref$onEscape = _ref.onEscape,\n\t onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n\t _ref$onClick = _ref.onClick,\n\t onClick = _ref$onClick === void 0 ? noop : _ref$onClick,\n\t _ref$onLoadError = _ref.onLoadError,\n\t onLoadError = _ref$onLoadError === void 0 ? noop : _ref$onLoadError,\n\t _ref$onLoaderStart = _ref.onLoaderStart,\n\t onLoaderStart = _ref$onLoaderStart === void 0 ? noop : _ref$onLoaderStart;\n\n\t var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n\t elements = _useElementsContextWi.elements;\n\n\t var elementRef = React.useRef(null);\n\t var domNode = React.useRef(null);\n\t var callOnReady = useCallbackReference(onReady);\n\t var callOnBlur = useCallbackReference(onBlur);\n\t var callOnFocus = useCallbackReference(onFocus);\n\t var callOnClick = useCallbackReference(onClick);\n\t var callOnChange = useCallbackReference(onChange);\n\t var callOnEscape = useCallbackReference(onEscape);\n\t var callOnLoadError = useCallbackReference(onLoadError);\n\t var callOnLoaderStart = useCallbackReference(onLoaderStart);\n\t React.useLayoutEffect(function () {\n\t if (elementRef.current == null && elements && domNode.current != null) {\n\t var element = elements.create(type, options);\n\t elementRef.current = element;\n\t element.mount(domNode.current);\n\t element.on('ready', function () {\n\t return callOnReady(element);\n\t });\n\t element.on('change', callOnChange);\n\t element.on('blur', callOnBlur);\n\t element.on('focus', callOnFocus);\n\t element.on('escape', callOnEscape); // Users can pass an onLoadError prop on any Element component\n\t // just as they could listen for the `loaderror` event on any Element,\n\t // but only certain Elements will trigger the event.\n\n\t element.on('loaderror', callOnLoadError); // Users can pass an onLoaderStart prop on any Element component\n\t // just as they could listen for the `loaderstart` event on any Element,\n\t // but only certain Elements will trigger the event.\n\n\t element.on('loaderstart', callOnLoaderStart); // Users can pass an onClick prop on any Element component\n\t // just as they could listen for the `click` event on any Element,\n\t // but only the PaymentRequestButton will actually trigger the event.\n\n\t element.on('click', callOnClick);\n\t }\n\t });\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!elementRef.current) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n\t if (updates) {\n\t elementRef.current.update(updates);\n\t }\n\t }, [options, prevOptions]);\n\t React.useLayoutEffect(function () {\n\t return function () {\n\t if (elementRef.current) {\n\t elementRef.current.destroy();\n\t elementRef.current = null;\n\t }\n\t };\n\t }, []);\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className,\n\t ref: domNode\n\t });\n\t }; // Only render the Element wrapper in a server environment.\n\n\n\t var ServerElement = function ServerElement(props) {\n\t // Validate that we are in the right context by calling useElementsContextWithUseCase.\n\t useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n\t var id = props.id,\n\t className = props.className;\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className\n\t });\n\t };\n\n\t var Element = isServer ? ServerElement : ClientElement;\n\t Element.propTypes = {\n\t id: propTypes.string,\n\t className: propTypes.string,\n\t onChange: propTypes.func,\n\t onBlur: propTypes.func,\n\t onFocus: propTypes.func,\n\t onReady: propTypes.func,\n\t onClick: propTypes.func,\n\t onLoadError: propTypes.func,\n\t onLoaderStart: propTypes.func,\n\t options: propTypes.object\n\t };\n\t Element.displayName = displayName;\n\t Element.__elementType = type;\n\t return Element;\n\t};\n\n\tvar isServer = typeof window === 'undefined';\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardElement = createElementComponent('card', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardNumberElement = createElementComponent('cardNumber', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardCvcElement = createElementComponent('cardCvc', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar FpxBankElement = createElementComponent('fpxBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IbanElement = createElementComponent('iban', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IdealBankElement = createElementComponent('idealBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar P24BankElement = createElementComponent('p24Bank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar EpsBankElement = createElementComponent('epsBank', isServer);\n\tvar PaymentElement = createElementComponent('payment', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n\texports.AffirmMessageElement = AffirmMessageElement;\n\texports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n\texports.AuBankAccountElement = AuBankAccountElement;\n\texports.CardCvcElement = CardCvcElement;\n\texports.CardElement = CardElement;\n\texports.CardExpiryElement = CardExpiryElement;\n\texports.CardNumberElement = CardNumberElement;\n\texports.Elements = Elements;\n\texports.ElementsConsumer = ElementsConsumer;\n\texports.EpsBankElement = EpsBankElement;\n\texports.FpxBankElement = FpxBankElement;\n\texports.IbanElement = IbanElement;\n\texports.IdealBankElement = IdealBankElement;\n\texports.LinkAuthenticationElement = LinkAuthenticationElement;\n\texports.P24BankElement = P24BankElement;\n\texports.PaymentElement = PaymentElement;\n\texports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n\texports.ShippingAddressElement = ShippingAddressElement;\n\texports.useElements = useElements;\n\texports.useStripe = useStripe;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar __toString = Object.prototype.toString\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var dec = opt.decode || decode;\n\n var index = 0\n while (index < str.length) {\n var eqIdx = str.indexOf('=', index)\n\n // no more cookie pairs\n if (eqIdx === -1) {\n break\n }\n\n var endIdx = str.indexOf(';', index)\n\n if (endIdx === -1) {\n endIdx = str.length\n } else if (endIdx < eqIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(';', eqIdx - 1) + 1\n continue\n }\n\n var key = str.slice(index, eqIdx).trim()\n\n // only assign once\n if (undefined === obj[key]) {\n var val = str.slice(eqIdx + 1, endIdx).trim()\n\n // quoted values\n if (val.charCodeAt(0) === 0x22) {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n\n index = endIdx + 1\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n var expires = opt.expires\n\n if (!isDate(expires) || isNaN(expires.valueOf())) {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + expires.toUTCString()\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.priority) {\n var priority = typeof opt.priority === 'string'\n ? opt.priority.toLowerCase()\n : opt.priority\n\n switch (priority) {\n case 'low':\n str += '; Priority=Low'\n break\n case 'medium':\n str += '; Priority=Medium'\n break\n case 'high':\n str += '; Priority=High'\n break\n default:\n throw new TypeError('option priority is invalid')\n }\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction decode (str) {\n return str.indexOf('%') !== -1\n ? decodeURIComponent(str)\n : str\n}\n\n/**\n * URL-encode value.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction encode (val) {\n return encodeURIComponent(val)\n}\n\n/**\n * Determine if value is a Date.\n *\n * @param {*} val\n * @private\n */\n\nfunction isDate (val) {\n return __toString.call(val) === '[object Date]' ||\n val instanceof Date\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.HmacSHA256;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Check if typed arrays are supported\n\t if (typeof ArrayBuffer != 'function') {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\n\t // Reference original init\n\t var superInit = WordArray.init;\n\n\t // Augment WordArray.init to handle typed arrays\n\t var subInit = WordArray.init = function (typedArray) {\n\t // Convert buffers to uint8\n\t if (typedArray instanceof ArrayBuffer) {\n\t typedArray = new Uint8Array(typedArray);\n\t }\n\n\t // Convert other array views to uint8\n\t if (\n\t typedArray instanceof Int8Array ||\n\t (typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray) ||\n\t typedArray instanceof Int16Array ||\n\t typedArray instanceof Uint16Array ||\n\t typedArray instanceof Int32Array ||\n\t typedArray instanceof Uint32Array ||\n\t typedArray instanceof Float32Array ||\n\t typedArray instanceof Float64Array\n\t ) {\n\t typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n\t }\n\n\t // Handle Uint8Array\n\t if (typedArray instanceof Uint8Array) {\n\t // Shortcut\n\t var typedArrayByteLength = typedArray.byteLength;\n\n\t // Extract bytes\n\t var words = [];\n\t for (var i = 0; i < typedArrayByteLength; i++) {\n\t words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);\n\t }\n\n\t // Initialize this word array\n\t superInit.call(this, words, typedArrayByteLength);\n\t } else {\n\t // Else call normal init\n\t superInit.apply(this, arguments);\n\t }\n\t };\n\n\t subInit.prototype = WordArray;\n\t}());\n\n\n\treturn CryptoJS.lib.WordArray;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));","const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param {Function} func - The function to be wrapped and called.\n * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param {Function} func - The constructor function to be wrapped and called.\n * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param {Object} set - The set to which elements will be added.\n * @param {Array} array - The array containing elements to be added to the set.\n * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns {Object} The modified set with added elements.\n */\nfunction addToSet(set, array, transformCaseFunc = stringToLowerCase) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/**\n * Shallow clone an object\n *\n * @param {Object} object - The object to be cloned.\n * @returns {Object} A new object that copies the original.\n */\nexport function clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n if (getOwnPropertyDescriptor(object, property) !== undefined) {\n newObject[property] = value;\n }\n }\n\n return newObject;\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param {Object} object - The object to look up the getter function in its prototype chain.\n * @param {String} prop - The property name for which to find the getter function.\n * @returns {Function} The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n entries,\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n isFrozen,\n setPrototypeOf,\n seal,\n create,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n addToSet,\n // Reflect\n unapply,\n unconstruct,\n};\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n 'mprescripts',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n","import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\n","import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n entries,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n create,\n} from './utils.js';\n\nconst getGlobal = function () {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, purifyHostElement) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n let { document } = window;\n\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n let trustedTypesPolicy;\n let emptyHTML = '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof entries === 'function' &&\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg = {}) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n 'ALLOWED_NAMESPACES' in cfg\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n 'FORBID_TAGS' in cfg\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR =\n 'FORBID_ATTR' in cfg\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || EXPRESSIONS.IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.'\n );\n }\n\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.'\n );\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n currentScript\n );\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'desc',\n 'title',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param {Node} root The root element or node to start traversing on.\n * @return {NodeIterator} The created NodeIterator\n */\n const _createNodeIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,\n null\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n (typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param {Node} object object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'function' && object instanceof Node;\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content = null;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n ) {\n return false;\n }\n\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n ) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(\n cloneNode(childNodes[i], true),\n getNextSibling(currentNode)\n );\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if (\n (tagName === 'noscript' ||\n tagName === 'noembed' ||\n tagName === 'noframes') &&\n regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n content = stringReplace(content, expr, ' ');\n });\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_isBasicCustomElement(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n } else if (value) {\n return false;\n } else {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n }\n\n return true;\n };\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param {string} tagName name of the tag of the node to sanitize\n * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function (tagName) {\n return tagName.indexOf('-') > 0;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const { name, namespaceURI, value: attrValue } = attr;\n const lcName = transformCaseFunc(name);\n\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML': {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n\n case 'TrustedScriptURL': {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} cfg object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg = {}) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {String} tag Tag name of containing element.\n * @param {String} attr Attribute name.\n * @param {String} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildOptions = require('./util').buildOptions;\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'rootNodeName', //when array as root\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n if(Array.isArray(jObj) && this.options.rootNodeName && this.options.rootNodeName.length > 1){\n jObj = {\n [this.options.rootNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextNode(result.val, key, result.attrStr, level);\n } else {\n return this.buildObjNode(result.val, key, result.attrStr, level);\n }\n}\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && val.indexOf('<') === -1) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '' +\n this.options.tagValueProcessor(val) +\n ' 1) {\n jObj[tagName] = [];\n for (let tag in node.child[tagName]) {\n if (node.child[tagName].hasOwnProperty(tag)) {\n jObj[tagName].push(convertToJson(node.child[tagName][tag], options, tagName));\n }\n }\n } else {\n const result = convertToJson(node.child[tagName][0], options, tagName);\n const asArray = (options.arrayMode === true && typeof result === 'object') || util.isTagNameInArrayMode(tagName, options.arrayMode, parentTagName);\n jObj[tagName] = asArray ? [result] : result;\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst x2j = require('./xmlstr2xmlnode');\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n const tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (let tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n","'use strict';\n\nconst nodeToJson = require('./node2json');\nconst xmlToNodeobj = require('./xmlstr2xmlnode');\nconst x2xmlnode = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\nconst validator = require('./validator');\n\nexports.parse = function(xmlData, givenOptions = {}, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n if(givenOptions.parseTrueNumberOnly \n && givenOptions.parseNodeValue !== false\n && !givenOptions.numParseOptions){\n \n givenOptions.numParseOptions = {\n leadingZeros: false,\n }\n }\n let options = buildOptions(givenOptions, x2xmlnode.defaultOptions, x2xmlnode.props);\n\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, \" \");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = require('./nimndata').convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = require('./node2json_str').convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = require('./json2xml');\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + \"{\")\n console.log(indentation + \" \\\"tagName\\\": \\\"\" + xmlNode.tagname + \"\\\", \");\n if(xmlNode.parent){\n console.log(indentation + \" \\\"parent\\\": \\\"\" + xmlNode.parent.tagname + \"\\\", \");\n }\n console.log(indentation + \" \\\"val\\\": \\\"\" + xmlNode.val + \"\\\", \");\n console.log(indentation + \" \\\"attrs\\\": \" + JSON.stringify(xmlNode.attrsMap,null,4) + \", \");\n\n if(xmlNode.child){\n console.log(indentation + \"\\\"child\\\": {\")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + \"\\\"\"+key+\"\\\" :[\")\n node.forEach( function(item,index) {\n //console.log(indentation + \" \\\"\"+index+\"\\\" : [\")\n print(item, indentation2);\n })\n console.log(indentation + \"],\") \n }else{\n console.log(indentation + \" \\\"\"+key+\"\\\" : {\")\n print(node, indentation2);\n console.log(indentation + \"},\") \n }\n });\n console.log(indentation + \"},\")\n }\n console.log(indentation + \"},\")\n }\n}\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n let newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\n/**\n * Check if a tag name should be treated as array\n *\n * @param tagName the node tagname\n * @param arrayMode the array mode option\n * @param parentTagName the parent tag name\n * @returns {boolean} true if node should be parsed as array\n */\nexports.isTagNameInArrayMode = function (tagName, arrayMode, parentTagName) {\n if (arrayMode === false) {\n return false;\n } else if (arrayMode instanceof RegExp) {\n return arrayMode.test(tagName);\n } else if (typeof arrayMode === 'function') {\n return !!arrayMode(tagName, parentTagName);\n }\n\n return arrayMode === \"strict\";\n}\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst xmlNode = require('./xmlNode');\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n numParseOptions: {\n hex: true,\n leadingZeros: true\n },\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: [],\n alwaysCreateTextNode: false\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'numParseOptions',\n 'stopNodes',\n 'alwaysCreateTextNode'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.numParseOptions);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.numParseOptions\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"-->\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n let shouldBuildAttributesMap = true;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n shouldBuildAttributesMap = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp && shouldBuildAttributesMap){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar named_references_1 = require(\"./named-references\");\nvar numeric_unicode_map_1 = require(\"./numeric-unicode-map\");\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar allNamedReferences = __assign(__assign({}, named_references_1.namedReferences), { all: named_references_1.namedReferences.html5 });\nvar encodeRegExps = {\n specialChars: /[<>'\"&]/g,\n nonAscii: /[<>'\"&\\u0080-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintable: /[<>'\"&\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintableOnly: /[\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n extensive: /[\\x01-\\x0c\\x0e-\\x1f\\x21-\\x2c\\x2e-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7d\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g\n};\nvar defaultEncodeOptions = {\n mode: 'specialChars',\n level: 'all',\n numeric: 'decimal'\n};\n/** Encodes all the necessary (specified by `level`) characters in the text */\nfunction encode(text, _a) {\n var _b = _a === void 0 ? defaultEncodeOptions : _a, _c = _b.mode, mode = _c === void 0 ? 'specialChars' : _c, _d = _b.numeric, numeric = _d === void 0 ? 'decimal' : _d, _e = _b.level, level = _e === void 0 ? 'all' : _e;\n if (!text) {\n return '';\n }\n var encodeRegExp = encodeRegExps[mode];\n var references = allNamedReferences[level].characters;\n var isHex = numeric === 'hexadecimal';\n encodeRegExp.lastIndex = 0;\n var _b = encodeRegExp.exec(text);\n var _c;\n if (_b) {\n _c = '';\n var _d = 0;\n do {\n if (_d !== _b.index) {\n _c += text.substring(_d, _b.index);\n }\n var _e = _b[0];\n var result_1 = references[_e];\n if (!result_1) {\n var code_1 = _e.length > 1 ? surrogate_pairs_1.getCodePoint(_e, 0) : _e.charCodeAt(0);\n result_1 = (isHex ? '&#x' + code_1.toString(16) : '&#' + code_1) + ';';\n }\n _c += result_1;\n _d = _b.index + _e.length;\n } while ((_b = encodeRegExp.exec(text)));\n if (_d !== text.length) {\n _c += text.substring(_d);\n }\n }\n else {\n _c =\n text;\n }\n return _c;\n}\nexports.encode = encode;\nvar defaultDecodeOptions = {\n scope: 'body',\n level: 'all'\n};\nvar strict = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);/g;\nvar attribute = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;\nvar baseDecodeRegExps = {\n xml: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.xml\n },\n html4: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.html4\n },\n html5: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.html5\n }\n};\nvar decodeRegExps = __assign(__assign({}, baseDecodeRegExps), { all: baseDecodeRegExps.html5 });\nvar fromCharCode = String.fromCharCode;\nvar outOfBoundsChar = fromCharCode(65533);\nvar defaultDecodeEntityOptions = {\n level: 'all'\n};\n/** Decodes a single entity */\nfunction decodeEntity(entity, _a) {\n var _b = (_a === void 0 ? defaultDecodeEntityOptions : _a).level, level = _b === void 0 ? 'all' : _b;\n if (!entity) {\n return '';\n }\n var _b = entity;\n var decodeEntityLastChar_1 = entity[entity.length - 1];\n if (false\n && decodeEntityLastChar_1 === '=') {\n _b =\n entity;\n }\n else if (false\n && decodeEntityLastChar_1 !== ';') {\n _b =\n entity;\n }\n else {\n var decodeResultByReference_1 = allNamedReferences[level].entities[entity];\n if (decodeResultByReference_1) {\n _b = decodeResultByReference_1;\n }\n else if (entity[0] === '&' && entity[1] === '#') {\n var decodeSecondChar_1 = entity[2];\n var decodeCode_1 = decodeSecondChar_1 == 'x' || decodeSecondChar_1 == 'X'\n ? parseInt(entity.substr(3), 16)\n : parseInt(entity.substr(2));\n _b =\n decodeCode_1 >= 0x10ffff\n ? outOfBoundsChar\n : decodeCode_1 > 65535\n ? surrogate_pairs_1.fromCodePoint(decodeCode_1)\n : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_1] || decodeCode_1);\n }\n }\n return _b;\n}\nexports.decodeEntity = decodeEntity;\n/** Decodes all entities in the text */\nfunction decode(text, _a) {\n var decodeSecondChar_1 = _a === void 0 ? defaultDecodeOptions : _a, decodeCode_1 = decodeSecondChar_1.level, level = decodeCode_1 === void 0 ? 'all' : decodeCode_1, _b = decodeSecondChar_1.scope, scope = _b === void 0 ? level === 'xml' ? 'strict' : 'body' : _b;\n if (!text) {\n return '';\n }\n var decodeRegExp = decodeRegExps[level][scope];\n var references = allNamedReferences[level].entities;\n var isAttribute = scope === 'attribute';\n var isStrict = scope === 'strict';\n decodeRegExp.lastIndex = 0;\n var replaceMatch_1 = decodeRegExp.exec(text);\n var replaceResult_1;\n if (replaceMatch_1) {\n replaceResult_1 = '';\n var replaceLastIndex_1 = 0;\n do {\n if (replaceLastIndex_1 !== replaceMatch_1.index) {\n replaceResult_1 += text.substring(replaceLastIndex_1, replaceMatch_1.index);\n }\n var replaceInput_1 = replaceMatch_1[0];\n var decodeResult_1 = replaceInput_1;\n var decodeEntityLastChar_2 = replaceInput_1[replaceInput_1.length - 1];\n if (isAttribute\n && decodeEntityLastChar_2 === '=') {\n decodeResult_1 = replaceInput_1;\n }\n else if (isStrict\n && decodeEntityLastChar_2 !== ';') {\n decodeResult_1 = replaceInput_1;\n }\n else {\n var decodeResultByReference_2 = references[replaceInput_1];\n if (decodeResultByReference_2) {\n decodeResult_1 = decodeResultByReference_2;\n }\n else if (replaceInput_1[0] === '&' && replaceInput_1[1] === '#') {\n var decodeSecondChar_2 = replaceInput_1[2];\n var decodeCode_2 = decodeSecondChar_2 == 'x' || decodeSecondChar_2 == 'X'\n ? parseInt(replaceInput_1.substr(3), 16)\n : parseInt(replaceInput_1.substr(2));\n decodeResult_1 =\n decodeCode_2 >= 0x10ffff\n ? outOfBoundsChar\n : decodeCode_2 > 65535\n ? surrogate_pairs_1.fromCodePoint(decodeCode_2)\n : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_2] || decodeCode_2);\n }\n }\n replaceResult_1 += decodeResult_1;\n replaceLastIndex_1 = replaceMatch_1.index + replaceInput_1.length;\n } while ((replaceMatch_1 = decodeRegExp.exec(text)));\n if (replaceLastIndex_1 !== text.length) {\n replaceResult_1 += text.substring(replaceLastIndex_1);\n }\n }\n else {\n replaceResult_1 =\n text;\n }\n return replaceResult_1;\n}\nexports.decode = decode;\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.bodyRegExps={xml:/&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g};exports.namedReferences={xml:{entities:{\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\",\"&\":\"&\"},characters:{\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\",\"&\":\"&\"}},html4:{entities:{\"'\":\"'\",\" \":\" \",\" \":\" \",\"¡\":\"¡\",\"¡\":\"¡\",\"¢\":\"¢\",\"¢\":\"¢\",\"£\":\"£\",\"£\":\"£\",\"¤\":\"¤\",\"¤\":\"¤\",\"¥\":\"¥\",\"¥\":\"¥\",\"¦\":\"¦\",\"¦\":\"¦\",\"§\":\"§\",\"§\":\"§\",\"¨\":\"¨\",\"¨\":\"¨\",\"©\":\"©\",\"©\":\"©\",\"ª\":\"ª\",\"ª\":\"ª\",\"«\":\"«\",\"«\":\"«\",\"¬\":\"¬\",\"¬\":\"¬\",\"­\":\"­\",\"­\":\"­\",\"®\":\"®\",\"®\":\"®\",\"¯\":\"¯\",\"¯\":\"¯\",\"°\":\"°\",\"°\":\"°\",\"±\":\"±\",\"±\":\"±\",\"²\":\"²\",\"²\":\"²\",\"³\":\"³\",\"³\":\"³\",\"´\":\"´\",\"´\":\"´\",\"µ\":\"µ\",\"µ\":\"µ\",\"¶\":\"¶\",\"¶\":\"¶\",\"·\":\"·\",\"·\":\"·\",\"¸\":\"¸\",\"¸\":\"¸\",\"¹\":\"¹\",\"¹\":\"¹\",\"º\":\"º\",\"º\":\"º\",\"»\":\"»\",\"»\":\"»\",\"¼\":\"¼\",\"¼\":\"¼\",\"½\":\"½\",\"½\":\"½\",\"¾\":\"¾\",\"¾\":\"¾\",\"¿\":\"¿\",\"¿\":\"¿\",\"À\":\"À\",\"À\":\"À\",\"Á\":\"Á\",\"Á\":\"Á\",\"Â\":\"Â\",\"Â\":\"Â\",\"Ã\":\"Ã\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"Ä\":\"Ä\",\"Å\":\"Å\",\"Å\":\"Å\",\"Æ\":\"Æ\",\"Æ\":\"Æ\",\"Ç\":\"Ç\",\"Ç\":\"Ç\",\"È\":\"È\",\"È\":\"È\",\"É\":\"É\",\"É\":\"É\",\"Ê\":\"Ê\",\"Ê\":\"Ê\",\"Ë\":\"Ë\",\"Ë\":\"Ë\",\"Ì\":\"Ì\",\"Ì\":\"Ì\",\"Í\":\"Í\",\"Í\":\"Í\",\"Î\":\"Î\",\"Î\":\"Î\",\"Ï\":\"Ï\",\"Ï\":\"Ï\",\"Ð\":\"Ð\",\"Ð\":\"Ð\",\"Ñ\":\"Ñ\",\"Ñ\":\"Ñ\",\"Ò\":\"Ò\",\"Ò\":\"Ò\",\"Ó\":\"Ó\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"Ô\":\"Ô\",\"Õ\":\"Õ\",\"Õ\":\"Õ\",\"Ö\":\"Ö\",\"Ö\":\"Ö\",\"×\":\"×\",\"×\":\"×\",\"Ø\":\"Ø\",\"Ø\":\"Ø\",\"Ù\":\"Ù\",\"Ù\":\"Ù\",\"Ú\":\"Ú\",\"Ú\":\"Ú\",\"Û\":\"Û\",\"Û\":\"Û\",\"Ü\":\"Ü\",\"Ü\":\"Ü\",\"Ý\":\"Ý\",\"Ý\":\"Ý\",\"Þ\":\"Þ\",\"Þ\":\"Þ\",\"ß\":\"ß\",\"ß\":\"ß\",\"à\":\"à\",\"à\":\"à\",\"á\":\"á\",\"á\":\"á\",\"â\":\"â\",\"â\":\"â\",\"ã\":\"ã\",\"ã\":\"ã\",\"ä\":\"ä\",\"ä\":\"ä\",\"å\":\"å\",\"å\":\"å\",\"æ\":\"æ\",\"æ\":\"æ\",\"ç\":\"ç\",\"ç\":\"ç\",\"è\":\"è\",\"è\":\"è\",\"é\":\"é\",\"é\":\"é\",\"ê\":\"ê\",\"ê\":\"ê\",\"ë\":\"ë\",\"ë\":\"ë\",\"ì\":\"ì\",\"ì\":\"ì\",\"í\":\"í\",\"í\":\"í\",\"î\":\"î\",\"î\":\"î\",\"ï\":\"ï\",\"ï\":\"ï\",\"ð\":\"ð\",\"ð\":\"ð\",\"ñ\":\"ñ\",\"ñ\":\"ñ\",\"ò\":\"ò\",\"ò\":\"ò\",\"ó\":\"ó\",\"ó\":\"ó\",\"ô\":\"ô\",\"ô\":\"ô\",\"õ\":\"õ\",\"õ\":\"õ\",\"ö\":\"ö\",\"ö\":\"ö\",\"÷\":\"÷\",\"÷\":\"÷\",\"ø\":\"ø\",\"ø\":\"ø\",\"ù\":\"ù\",\"ù\":\"ù\",\"ú\":\"ú\",\"ú\":\"ú\",\"û\":\"û\",\"û\":\"û\",\"ü\":\"ü\",\"ü\":\"ü\",\"ý\":\"ý\",\"ý\":\"ý\",\"þ\":\"þ\",\"þ\":\"þ\",\"ÿ\":\"ÿ\",\"ÿ\":\"ÿ\",\""\":'\"',\""\":'\"',\"&\":\"&\",\"&\":\"&\",\"<\":\"<\",\"<\":\"<\",\">\":\">\",\">\":\">\",\"Œ\":\"Œ\",\"œ\":\"œ\",\"Š\":\"Š\",\"š\":\"š\",\"Ÿ\":\"Ÿ\",\"ˆ\":\"ˆ\",\"˜\":\"˜\",\" \":\" \",\" \":\" \",\" \":\" \",\"‌\":\"‌\",\"‍\":\"‍\",\"‎\":\"‎\",\"‏\":\"‏\",\"–\":\"–\",\"—\":\"—\",\"‘\":\"‘\",\"’\":\"’\",\"‚\":\"‚\",\"“\":\"“\",\"”\":\"”\",\"„\":\"„\",\"†\":\"†\",\"‡\":\"‡\",\"‰\":\"‰\",\"‹\":\"‹\",\"›\":\"›\",\"€\":\"€\",\"ƒ\":\"ƒ\",\"Α\":\"Α\",\"Β\":\"Β\",\"Γ\":\"Γ\",\"Δ\":\"Δ\",\"Ε\":\"Ε\",\"Ζ\":\"Ζ\",\"Η\":\"Η\",\"Θ\":\"Θ\",\"Ι\":\"Ι\",\"Κ\":\"Κ\",\"Λ\":\"Λ\",\"Μ\":\"Μ\",\"Ν\":\"Ν\",\"Ξ\":\"Ξ\",\"Ο\":\"Ο\",\"Π\":\"Π\",\"Ρ\":\"Ρ\",\"Σ\":\"Σ\",\"Τ\":\"Τ\",\"Υ\":\"Υ\",\"Φ\":\"Φ\",\"Χ\":\"Χ\",\"Ψ\":\"Ψ\",\"Ω\":\"Ω\",\"α\":\"α\",\"β\":\"β\",\"γ\":\"γ\",\"δ\":\"δ\",\"ε\":\"ε\",\"ζ\":\"ζ\",\"η\":\"η\",\"θ\":\"θ\",\"ι\":\"ι\",\"κ\":\"κ\",\"λ\":\"λ\",\"μ\":\"μ\",\"ν\":\"ν\",\"ξ\":\"ξ\",\"ο\":\"ο\",\"π\":\"π\",\"ρ\":\"ρ\",\"ς\":\"ς\",\"σ\":\"σ\",\"τ\":\"τ\",\"υ\":\"υ\",\"φ\":\"φ\",\"χ\":\"χ\",\"ψ\":\"ψ\",\"ω\":\"ω\",\"ϑ\":\"ϑ\",\"ϒ\":\"ϒ\",\"ϖ\":\"ϖ\",\"•\":\"•\",\"…\":\"…\",\"′\":\"′\",\"″\":\"″\",\"‾\":\"‾\",\"⁄\":\"⁄\",\"℘\":\"℘\",\"ℑ\":\"ℑ\",\"ℜ\":\"ℜ\",\"™\":\"™\",\"ℵ\":\"ℵ\",\"←\":\"←\",\"↑\":\"↑\",\"→\":\"→\",\"↓\":\"↓\",\"↔\":\"↔\",\"↵\":\"↵\",\"⇐\":\"⇐\",\"⇑\":\"⇑\",\"⇒\":\"⇒\",\"⇓\":\"⇓\",\"⇔\":\"⇔\",\"∀\":\"∀\",\"∂\":\"∂\",\"∃\":\"∃\",\"∅\":\"∅\",\"∇\":\"∇\",\"∈\":\"∈\",\"∉\":\"∉\",\"∋\":\"∋\",\"∏\":\"∏\",\"∑\":\"∑\",\"−\":\"−\",\"∗\":\"∗\",\"√\":\"√\",\"∝\":\"∝\",\"∞\":\"∞\",\"∠\":\"∠\",\"∧\":\"∧\",\"∨\":\"∨\",\"∩\":\"∩\",\"∪\":\"∪\",\"∫\":\"∫\",\"∴\":\"∴\",\"∼\":\"∼\",\"≅\":\"≅\",\"≈\":\"≈\",\"≠\":\"≠\",\"≡\":\"≡\",\"≤\":\"≤\",\"≥\":\"≥\",\"⊂\":\"⊂\",\"⊃\":\"⊃\",\"⊄\":\"⊄\",\"⊆\":\"⊆\",\"⊇\":\"⊇\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"⊥\":\"⊥\",\"⋅\":\"⋅\",\"⌈\":\"⌈\",\"⌉\":\"⌉\",\"⌊\":\"⌊\",\"⌋\":\"⌋\",\"⟨\":\"〈\",\"⟩\":\"〉\",\"◊\":\"◊\",\"♠\":\"♠\",\"♣\":\"♣\",\"♥\":\"♥\",\"♦\":\"♦\"},characters:{\"'\":\"'\",\" \":\" \",\"¡\":\"¡\",\"¢\":\"¢\",\"£\":\"£\",\"¤\":\"¤\",\"¥\":\"¥\",\"¦\":\"¦\",\"§\":\"§\",\"¨\":\"¨\",\"©\":\"©\",\"ª\":\"ª\",\"«\":\"«\",\"¬\":\"¬\",\"­\":\"­\",\"®\":\"®\",\"¯\":\"¯\",\"°\":\"°\",\"±\":\"±\",\"²\":\"²\",\"³\":\"³\",\"´\":\"´\",\"µ\":\"µ\",\"¶\":\"¶\",\"·\":\"·\",\"¸\":\"¸\",\"¹\":\"¹\",\"º\":\"º\",\"»\":\"»\",\"¼\":\"¼\",\"½\":\"½\",\"¾\":\"¾\",\"¿\":\"¿\",\"À\":\"À\",\"Á\":\"Á\",\"Â\":\"Â\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"Å\":\"Å\",\"Æ\":\"Æ\",\"Ç\":\"Ç\",\"È\":\"È\",\"É\":\"É\",\"Ê\":\"Ê\",\"Ë\":\"Ë\",\"Ì\":\"Ì\",\"Í\":\"Í\",\"Î\":\"Î\",\"Ï\":\"Ï\",\"Ð\":\"Ð\",\"Ñ\":\"Ñ\",\"Ò\":\"Ò\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"Õ\":\"Õ\",\"Ö\":\"Ö\",\"×\":\"×\",\"Ø\":\"Ø\",\"Ù\":\"Ù\",\"Ú\":\"Ú\",\"Û\":\"Û\",\"Ü\":\"Ü\",\"Ý\":\"Ý\",\"Þ\":\"Þ\",\"ß\":\"ß\",\"à\":\"à\",\"á\":\"á\",\"â\":\"â\",\"ã\":\"ã\",\"ä\":\"ä\",\"å\":\"å\",\"æ\":\"æ\",\"ç\":\"ç\",\"è\":\"è\",\"é\":\"é\",\"ê\":\"ê\",\"ë\":\"ë\",\"ì\":\"ì\",\"í\":\"í\",\"î\":\"î\",\"ï\":\"ï\",\"ð\":\"ð\",\"ñ\":\"ñ\",\"ò\":\"ò\",\"ó\":\"ó\",\"ô\":\"ô\",\"õ\":\"õ\",\"ö\":\"ö\",\"÷\":\"÷\",\"ø\":\"ø\",\"ù\":\"ù\",\"ú\":\"ú\",\"û\":\"û\",\"ü\":\"ü\",\"ý\":\"ý\",\"þ\":\"þ\",\"ÿ\":\"ÿ\",'\"':\""\",\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"Œ\":\"Œ\",\"œ\":\"œ\",\"Š\":\"Š\",\"š\":\"š\",\"Ÿ\":\"Ÿ\",\"ˆ\":\"ˆ\",\"˜\":\"˜\",\" \":\" \",\" \":\" \",\" \":\" \",\"‌\":\"‌\",\"‍\":\"‍\",\"‎\":\"‎\",\"‏\":\"‏\",\"–\":\"–\",\"—\":\"—\",\"‘\":\"‘\",\"’\":\"’\",\"‚\":\"‚\",\"“\":\"“\",\"”\":\"”\",\"„\":\"„\",\"†\":\"†\",\"‡\":\"‡\",\"‰\":\"‰\",\"‹\":\"‹\",\"›\":\"›\",\"€\":\"€\",\"ƒ\":\"ƒ\",\"Α\":\"Α\",\"Β\":\"Β\",\"Γ\":\"Γ\",\"Δ\":\"Δ\",\"Ε\":\"Ε\",\"Ζ\":\"Ζ\",\"Η\":\"Η\",\"Θ\":\"Θ\",\"Ι\":\"Ι\",\"Κ\":\"Κ\",\"Λ\":\"Λ\",\"Μ\":\"Μ\",\"Ν\":\"Ν\",\"Ξ\":\"Ξ\",\"Ο\":\"Ο\",\"Π\":\"Π\",\"Ρ\":\"Ρ\",\"Σ\":\"Σ\",\"Τ\":\"Τ\",\"Υ\":\"Υ\",\"Φ\":\"Φ\",\"Χ\":\"Χ\",\"Ψ\":\"Ψ\",\"Ω\":\"Ω\",\"α\":\"α\",\"β\":\"β\",\"γ\":\"γ\",\"δ\":\"δ\",\"ε\":\"ε\",\"ζ\":\"ζ\",\"η\":\"η\",\"θ\":\"θ\",\"ι\":\"ι\",\"κ\":\"κ\",\"λ\":\"λ\",\"μ\":\"μ\",\"ν\":\"ν\",\"ξ\":\"ξ\",\"ο\":\"ο\",\"π\":\"π\",\"ρ\":\"ρ\",\"ς\":\"ς\",\"σ\":\"σ\",\"τ\":\"τ\",\"υ\":\"υ\",\"φ\":\"φ\",\"χ\":\"χ\",\"ψ\":\"ψ\",\"ω\":\"ω\",\"ϑ\":\"ϑ\",\"ϒ\":\"ϒ\",\"ϖ\":\"ϖ\",\"•\":\"•\",\"…\":\"…\",\"′\":\"′\",\"″\":\"″\",\"‾\":\"‾\",\"⁄\":\"⁄\",\"℘\":\"℘\",\"ℑ\":\"ℑ\",\"ℜ\":\"ℜ\",\"™\":\"™\",\"ℵ\":\"ℵ\",\"←\":\"←\",\"↑\":\"↑\",\"→\":\"→\",\"↓\":\"↓\",\"↔\":\"↔\",\"↵\":\"↵\",\"⇐\":\"⇐\",\"⇑\":\"⇑\",\"⇒\":\"⇒\",\"⇓\":\"⇓\",\"⇔\":\"⇔\",\"∀\":\"∀\",\"∂\":\"∂\",\"∃\":\"∃\",\"∅\":\"∅\",\"∇\":\"∇\",\"∈\":\"∈\",\"∉\":\"∉\",\"∋\":\"∋\",\"∏\":\"∏\",\"∑\":\"∑\",\"−\":\"−\",\"∗\":\"∗\",\"√\":\"√\",\"∝\":\"∝\",\"∞\":\"∞\",\"∠\":\"∠\",\"∧\":\"∧\",\"∨\":\"∨\",\"∩\":\"∩\",\"∪\":\"∪\",\"∫\":\"∫\",\"∴\":\"∴\",\"∼\":\"∼\",\"≅\":\"≅\",\"≈\":\"≈\",\"≠\":\"≠\",\"≡\":\"≡\",\"≤\":\"≤\",\"≥\":\"≥\",\"⊂\":\"⊂\",\"⊃\":\"⊃\",\"⊄\":\"⊄\",\"⊆\":\"⊆\",\"⊇\":\"⊇\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"⊥\":\"⊥\",\"⋅\":\"⋅\",\"⌈\":\"⌈\",\"⌉\":\"⌉\",\"⌊\":\"⌊\",\"⌋\":\"⌋\",\"〈\":\"⟨\",\"〉\":\"⟩\",\"◊\":\"◊\",\"♠\":\"♠\",\"♣\":\"♣\",\"♥\":\"♥\",\"♦\":\"♦\"}},html5:{entities:{\"Æ\":\"Æ\",\"Æ\":\"Æ\",\"&\":\"&\",\"&\":\"&\",\"Á\":\"Á\",\"Á\":\"Á\",\"Ă\":\"Ă\",\"Â\":\"Â\",\"Â\":\"Â\",\"А\":\"А\",\"𝔄\":\"𝔄\",\"À\":\"À\",\"À\":\"À\",\"Α\":\"Α\",\"Ā\":\"Ā\",\"⩓\":\"⩓\",\"Ą\":\"Ą\",\"𝔸\":\"𝔸\",\"⁡\":\"⁡\",\"Å\":\"Å\",\"Å\":\"Å\",\"𝒜\":\"𝒜\",\"≔\":\"≔\",\"Ã\":\"Ã\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"Ä\":\"Ä\",\"∖\":\"∖\",\"⫧\":\"⫧\",\"⌆\":\"⌆\",\"Б\":\"Б\",\"∵\":\"∵\",\"ℬ\":\"ℬ\",\"Β\":\"Β\",\"𝔅\":\"𝔅\",\"𝔹\":\"𝔹\",\"˘\":\"˘\",\"ℬ\":\"ℬ\",\"≎\":\"≎\",\"Ч\":\"Ч\",\"©\":\"©\",\"©\":\"©\",\"Ć\":\"Ć\",\"⋒\":\"⋒\",\"ⅅ\":\"ⅅ\",\"ℭ\":\"ℭ\",\"Č\":\"Č\",\"Ç\":\"Ç\",\"Ç\":\"Ç\",\"Ĉ\":\"Ĉ\",\"∰\":\"∰\",\"Ċ\":\"Ċ\",\"¸\":\"¸\",\"·\":\"·\",\"ℭ\":\"ℭ\",\"Χ\":\"Χ\",\"⊙\":\"⊙\",\"⊖\":\"⊖\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"∲\":\"∲\",\"”\":\"”\",\"’\":\"’\",\"∷\":\"∷\",\"⩴\":\"⩴\",\"≡\":\"≡\",\"∯\":\"∯\",\"∮\":\"∮\",\"ℂ\":\"ℂ\",\"∐\":\"∐\",\"∳\":\"∳\",\"⨯\":\"⨯\",\"𝒞\":\"𝒞\",\"⋓\":\"⋓\",\"≍\":\"≍\",\"ⅅ\":\"ⅅ\",\"⤑\":\"⤑\",\"Ђ\":\"Ђ\",\"Ѕ\":\"Ѕ\",\"Џ\":\"Џ\",\"‡\":\"‡\",\"↡\":\"↡\",\"⫤\":\"⫤\",\"Ď\":\"Ď\",\"Д\":\"Д\",\"∇\":\"∇\",\"Δ\":\"Δ\",\"𝔇\":\"𝔇\",\"´\":\"´\",\"˙\":\"˙\",\"˝\":\"˝\",\"`\":\"`\",\"˜\":\"˜\",\"⋄\":\"⋄\",\"ⅆ\":\"ⅆ\",\"𝔻\":\"𝔻\",\"¨\":\"¨\",\"⃜\":\"⃜\",\"≐\":\"≐\",\"∯\":\"∯\",\"¨\":\"¨\",\"⇓\":\"⇓\",\"⇐\":\"⇐\",\"⇔\":\"⇔\",\"⫤\":\"⫤\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"⇒\":\"⇒\",\"⊨\":\"⊨\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"∥\":\"∥\",\"↓\":\"↓\",\"⤓\":\"⤓\",\"⇵\":\"⇵\",\"̑\":\"̑\",\"⥐\":\"⥐\",\"⥞\":\"⥞\",\"↽\":\"↽\",\"⥖\":\"⥖\",\"⥟\":\"⥟\",\"⇁\":\"⇁\",\"⥗\":\"⥗\",\"⊤\":\"⊤\",\"↧\":\"↧\",\"⇓\":\"⇓\",\"𝒟\":\"𝒟\",\"Đ\":\"Đ\",\"Ŋ\":\"Ŋ\",\"Ð\":\"Ð\",\"Ð\":\"Ð\",\"É\":\"É\",\"É\":\"É\",\"Ě\":\"Ě\",\"Ê\":\"Ê\",\"Ê\":\"Ê\",\"Э\":\"Э\",\"Ė\":\"Ė\",\"𝔈\":\"𝔈\",\"È\":\"È\",\"È\":\"È\",\"∈\":\"∈\",\"Ē\":\"Ē\",\"◻\":\"◻\",\"▫\":\"▫\",\"Ę\":\"Ę\",\"𝔼\":\"𝔼\",\"Ε\":\"Ε\",\"⩵\":\"⩵\",\"≂\":\"≂\",\"⇌\":\"⇌\",\"ℰ\":\"ℰ\",\"⩳\":\"⩳\",\"Η\":\"Η\",\"Ë\":\"Ë\",\"Ë\":\"Ë\",\"∃\":\"∃\",\"ⅇ\":\"ⅇ\",\"Ф\":\"Ф\",\"𝔉\":\"𝔉\",\"◼\":\"◼\",\"▪\":\"▪\",\"𝔽\":\"𝔽\",\"∀\":\"∀\",\"ℱ\":\"ℱ\",\"ℱ\":\"ℱ\",\"Ѓ\":\"Ѓ\",\">\":\">\",\">\":\">\",\"Γ\":\"Γ\",\"Ϝ\":\"Ϝ\",\"Ğ\":\"Ğ\",\"Ģ\":\"Ģ\",\"Ĝ\":\"Ĝ\",\"Г\":\"Г\",\"Ġ\":\"Ġ\",\"𝔊\":\"𝔊\",\"⋙\":\"⋙\",\"𝔾\":\"𝔾\",\"≥\":\"≥\",\"⋛\":\"⋛\",\"≧\":\"≧\",\"⪢\":\"⪢\",\"≷\":\"≷\",\"⩾\":\"⩾\",\"≳\":\"≳\",\"𝒢\":\"𝒢\",\"≫\":\"≫\",\"Ъ\":\"Ъ\",\"ˇ\":\"ˇ\",\"^\":\"^\",\"Ĥ\":\"Ĥ\",\"ℌ\":\"ℌ\",\"ℋ\":\"ℋ\",\"ℍ\":\"ℍ\",\"─\":\"─\",\"ℋ\":\"ℋ\",\"Ħ\":\"Ħ\",\"≎\":\"≎\",\"≏\":\"≏\",\"Е\":\"Е\",\"IJ\":\"IJ\",\"Ё\":\"Ё\",\"Í\":\"Í\",\"Í\":\"Í\",\"Î\":\"Î\",\"Î\":\"Î\",\"И\":\"И\",\"İ\":\"İ\",\"ℑ\":\"ℑ\",\"Ì\":\"Ì\",\"Ì\":\"Ì\",\"ℑ\":\"ℑ\",\"Ī\":\"Ī\",\"ⅈ\":\"ⅈ\",\"⇒\":\"⇒\",\"∬\":\"∬\",\"∫\":\"∫\",\"⋂\":\"⋂\",\"⁣\":\"⁣\",\"⁢\":\"⁢\",\"Į\":\"Į\",\"𝕀\":\"𝕀\",\"Ι\":\"Ι\",\"ℐ\":\"ℐ\",\"Ĩ\":\"Ĩ\",\"І\":\"І\",\"Ï\":\"Ï\",\"Ï\":\"Ï\",\"Ĵ\":\"Ĵ\",\"Й\":\"Й\",\"𝔍\":\"𝔍\",\"𝕁\":\"𝕁\",\"𝒥\":\"𝒥\",\"Ј\":\"Ј\",\"Є\":\"Є\",\"Х\":\"Х\",\"Ќ\":\"Ќ\",\"Κ\":\"Κ\",\"Ķ\":\"Ķ\",\"К\":\"К\",\"𝔎\":\"𝔎\",\"𝕂\":\"𝕂\",\"𝒦\":\"𝒦\",\"Љ\":\"Љ\",\"<\":\"<\",\"<\":\"<\",\"Ĺ\":\"Ĺ\",\"Λ\":\"Λ\",\"⟪\":\"⟪\",\"ℒ\":\"ℒ\",\"↞\":\"↞\",\"Ľ\":\"Ľ\",\"Ļ\":\"Ļ\",\"Л\":\"Л\",\"⟨\":\"⟨\",\"←\":\"←\",\"⇤\":\"⇤\",\"⇆\":\"⇆\",\"⌈\":\"⌈\",\"⟦\":\"⟦\",\"⥡\":\"⥡\",\"⇃\":\"⇃\",\"⥙\":\"⥙\",\"⌊\":\"⌊\",\"↔\":\"↔\",\"⥎\":\"⥎\",\"⊣\":\"⊣\",\"↤\":\"↤\",\"⥚\":\"⥚\",\"⊲\":\"⊲\",\"⧏\":\"⧏\",\"⊴\":\"⊴\",\"⥑\":\"⥑\",\"⥠\":\"⥠\",\"↿\":\"↿\",\"⥘\":\"⥘\",\"↼\":\"↼\",\"⥒\":\"⥒\",\"⇐\":\"⇐\",\"⇔\":\"⇔\",\"⋚\":\"⋚\",\"≦\":\"≦\",\"≶\":\"≶\",\"⪡\":\"⪡\",\"⩽\":\"⩽\",\"≲\":\"≲\",\"𝔏\":\"𝔏\",\"⋘\":\"⋘\",\"⇚\":\"⇚\",\"Ŀ\":\"Ŀ\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟶\":\"⟶\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"𝕃\":\"𝕃\",\"↙\":\"↙\",\"↘\":\"↘\",\"ℒ\":\"ℒ\",\"↰\":\"↰\",\"Ł\":\"Ł\",\"≪\":\"≪\",\"⤅\":\"⤅\",\"М\":\"М\",\" \":\" \",\"ℳ\":\"ℳ\",\"𝔐\":\"𝔐\",\"∓\":\"∓\",\"𝕄\":\"𝕄\",\"ℳ\":\"ℳ\",\"Μ\":\"Μ\",\"Њ\":\"Њ\",\"Ń\":\"Ń\",\"Ň\":\"Ň\",\"Ņ\":\"Ņ\",\"Н\":\"Н\",\"​\":\"​\",\"​\":\"​\",\"​\":\"​\",\"​\":\"​\",\"≫\":\"≫\",\"≪\":\"≪\",\" \":\"\\n\",\"𝔑\":\"𝔑\",\"⁠\":\"⁠\",\" \":\" \",\"ℕ\":\"ℕ\",\"⫬\":\"⫬\",\"≢\":\"≢\",\"≭\":\"≭\",\"∦\":\"∦\",\"∉\":\"∉\",\"≠\":\"≠\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"≯\":\"≯\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"≫̸\":\"≫̸\",\"≹\":\"≹\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≎̸\":\"≎̸\",\"≏̸\":\"≏̸\",\"⋪\":\"⋪\",\"⧏̸\":\"⧏̸\",\"⋬\":\"⋬\",\"≮\":\"≮\",\"≰\":\"≰\",\"≸\":\"≸\",\"≪̸\":\"≪̸\",\"⩽̸\":\"⩽̸\",\"≴\":\"≴\",\"⪢̸\":\"⪢̸\",\"⪡̸\":\"⪡̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"⋠\":\"⋠\",\"∌\":\"∌\",\"⋫\":\"⋫\",\"⧐̸\":\"⧐̸\",\"⋭\":\"⋭\",\"⊏̸\":\"⊏̸\",\"⋢\":\"⋢\",\"⊐̸\":\"⊐̸\",\"⋣\":\"⋣\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"⊁\":\"⊁\",\"⪰̸\":\"⪰̸\",\"⋡\":\"⋡\",\"≿̸\":\"≿̸\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"≁\":\"≁\",\"≄\":\"≄\",\"≇\":\"≇\",\"≉\":\"≉\",\"∤\":\"∤\",\"𝒩\":\"𝒩\",\"Ñ\":\"Ñ\",\"Ñ\":\"Ñ\",\"Ν\":\"Ν\",\"Œ\":\"Œ\",\"Ó\":\"Ó\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"Ô\":\"Ô\",\"О\":\"О\",\"Ő\":\"Ő\",\"𝔒\":\"𝔒\",\"Ò\":\"Ò\",\"Ò\":\"Ò\",\"Ō\":\"Ō\",\"Ω\":\"Ω\",\"Ο\":\"Ο\",\"𝕆\":\"𝕆\",\"“\":\"“\",\"‘\":\"‘\",\"⩔\":\"⩔\",\"𝒪\":\"𝒪\",\"Ø\":\"Ø\",\"Ø\":\"Ø\",\"Õ\":\"Õ\",\"Õ\":\"Õ\",\"⨷\":\"⨷\",\"Ö\":\"Ö\",\"Ö\":\"Ö\",\"‾\":\"‾\",\"⏞\":\"⏞\",\"⎴\":\"⎴\",\"⏜\":\"⏜\",\"∂\":\"∂\",\"П\":\"П\",\"𝔓\":\"𝔓\",\"Φ\":\"Φ\",\"Π\":\"Π\",\"±\":\"±\",\"ℌ\":\"ℌ\",\"ℙ\":\"ℙ\",\"⪻\":\"⪻\",\"≺\":\"≺\",\"⪯\":\"⪯\",\"≼\":\"≼\",\"≾\":\"≾\",\"″\":\"″\",\"∏\":\"∏\",\"∷\":\"∷\",\"∝\":\"∝\",\"𝒫\":\"𝒫\",\"Ψ\":\"Ψ\",\""\":'\"',\""\":'\"',\"𝔔\":\"𝔔\",\"ℚ\":\"ℚ\",\"𝒬\":\"𝒬\",\"⤐\":\"⤐\",\"®\":\"®\",\"®\":\"®\",\"Ŕ\":\"Ŕ\",\"⟫\":\"⟫\",\"↠\":\"↠\",\"⤖\":\"⤖\",\"Ř\":\"Ř\",\"Ŗ\":\"Ŗ\",\"Р\":\"Р\",\"ℜ\":\"ℜ\",\"∋\":\"∋\",\"⇋\":\"⇋\",\"⥯\":\"⥯\",\"ℜ\":\"ℜ\",\"Ρ\":\"Ρ\",\"⟩\":\"⟩\",\"→\":\"→\",\"⇥\":\"⇥\",\"⇄\":\"⇄\",\"⌉\":\"⌉\",\"⟧\":\"⟧\",\"⥝\":\"⥝\",\"⇂\":\"⇂\",\"⥕\":\"⥕\",\"⌋\":\"⌋\",\"⊢\":\"⊢\",\"↦\":\"↦\",\"⥛\":\"⥛\",\"⊳\":\"⊳\",\"⧐\":\"⧐\",\"⊵\":\"⊵\",\"⥏\":\"⥏\",\"⥜\":\"⥜\",\"↾\":\"↾\",\"⥔\":\"⥔\",\"⇀\":\"⇀\",\"⥓\":\"⥓\",\"⇒\":\"⇒\",\"ℝ\":\"ℝ\",\"⥰\":\"⥰\",\"⇛\":\"⇛\",\"ℛ\":\"ℛ\",\"↱\":\"↱\",\"⧴\":\"⧴\",\"Щ\":\"Щ\",\"Ш\":\"Ш\",\"Ь\":\"Ь\",\"Ś\":\"Ś\",\"⪼\":\"⪼\",\"Š\":\"Š\",\"Ş\":\"Ş\",\"Ŝ\":\"Ŝ\",\"С\":\"С\",\"𝔖\":\"𝔖\",\"↓\":\"↓\",\"←\":\"←\",\"→\":\"→\",\"↑\":\"↑\",\"Σ\":\"Σ\",\"∘\":\"∘\",\"𝕊\":\"𝕊\",\"√\":\"√\",\"□\":\"□\",\"⊓\":\"⊓\",\"⊏\":\"⊏\",\"⊑\":\"⊑\",\"⊐\":\"⊐\",\"⊒\":\"⊒\",\"⊔\":\"⊔\",\"𝒮\":\"𝒮\",\"⋆\":\"⋆\",\"⋐\":\"⋐\",\"⋐\":\"⋐\",\"⊆\":\"⊆\",\"≻\":\"≻\",\"⪰\":\"⪰\",\"≽\":\"≽\",\"≿\":\"≿\",\"∋\":\"∋\",\"∑\":\"∑\",\"⋑\":\"⋑\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",\"⋑\":\"⋑\",\"Þ\":\"Þ\",\"Þ\":\"Þ\",\"™\":\"™\",\"Ћ\":\"Ћ\",\"Ц\":\"Ц\",\" \":\"\\t\",\"Τ\":\"Τ\",\"Ť\":\"Ť\",\"Ţ\":\"Ţ\",\"Т\":\"Т\",\"𝔗\":\"𝔗\",\"∴\":\"∴\",\"Θ\":\"Θ\",\"  \":\"  \",\" \":\" \",\"∼\":\"∼\",\"≃\":\"≃\",\"≅\":\"≅\",\"≈\":\"≈\",\"𝕋\":\"𝕋\",\"⃛\":\"⃛\",\"𝒯\":\"𝒯\",\"Ŧ\":\"Ŧ\",\"Ú\":\"Ú\",\"Ú\":\"Ú\",\"↟\":\"↟\",\"⥉\":\"⥉\",\"Ў\":\"Ў\",\"Ŭ\":\"Ŭ\",\"Û\":\"Û\",\"Û\":\"Û\",\"У\":\"У\",\"Ű\":\"Ű\",\"𝔘\":\"𝔘\",\"Ù\":\"Ù\",\"Ù\":\"Ù\",\"Ū\":\"Ū\",\"_\":\"_\",\"⏟\":\"⏟\",\"⎵\":\"⎵\",\"⏝\":\"⏝\",\"⋃\":\"⋃\",\"⊎\":\"⊎\",\"Ų\":\"Ų\",\"𝕌\":\"𝕌\",\"↑\":\"↑\",\"⤒\":\"⤒\",\"⇅\":\"⇅\",\"↕\":\"↕\",\"⥮\":\"⥮\",\"⊥\":\"⊥\",\"↥\":\"↥\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"↖\":\"↖\",\"↗\":\"↗\",\"ϒ\":\"ϒ\",\"Υ\":\"Υ\",\"Ů\":\"Ů\",\"𝒰\":\"𝒰\",\"Ũ\":\"Ũ\",\"Ü\":\"Ü\",\"Ü\":\"Ü\",\"⊫\":\"⊫\",\"⫫\":\"⫫\",\"В\":\"В\",\"⊩\":\"⊩\",\"⫦\":\"⫦\",\"⋁\":\"⋁\",\"‖\":\"‖\",\"‖\":\"‖\",\"∣\":\"∣\",\"|\":\"|\",\"❘\":\"❘\",\"≀\":\"≀\",\" \":\" \",\"𝔙\":\"𝔙\",\"𝕍\":\"𝕍\",\"𝒱\":\"𝒱\",\"⊪\":\"⊪\",\"Ŵ\":\"Ŵ\",\"⋀\":\"⋀\",\"𝔚\":\"𝔚\",\"𝕎\":\"𝕎\",\"𝒲\":\"𝒲\",\"𝔛\":\"𝔛\",\"Ξ\":\"Ξ\",\"𝕏\":\"𝕏\",\"𝒳\":\"𝒳\",\"Я\":\"Я\",\"Ї\":\"Ї\",\"Ю\":\"Ю\",\"Ý\":\"Ý\",\"Ý\":\"Ý\",\"Ŷ\":\"Ŷ\",\"Ы\":\"Ы\",\"𝔜\":\"𝔜\",\"𝕐\":\"𝕐\",\"𝒴\":\"𝒴\",\"Ÿ\":\"Ÿ\",\"Ж\":\"Ж\",\"Ź\":\"Ź\",\"Ž\":\"Ž\",\"З\":\"З\",\"Ż\":\"Ż\",\"​\":\"​\",\"Ζ\":\"Ζ\",\"ℨ\":\"ℨ\",\"ℤ\":\"ℤ\",\"𝒵\":\"𝒵\",\"á\":\"á\",\"á\":\"á\",\"ă\":\"ă\",\"∾\":\"∾\",\"∾̳\":\"∾̳\",\"∿\":\"∿\",\"â\":\"â\",\"â\":\"â\",\"´\":\"´\",\"´\":\"´\",\"а\":\"а\",\"æ\":\"æ\",\"æ\":\"æ\",\"⁡\":\"⁡\",\"𝔞\":\"𝔞\",\"à\":\"à\",\"à\":\"à\",\"ℵ\":\"ℵ\",\"ℵ\":\"ℵ\",\"α\":\"α\",\"ā\":\"ā\",\"⨿\":\"⨿\",\"&\":\"&\",\"&\":\"&\",\"∧\":\"∧\",\"⩕\":\"⩕\",\"⩜\":\"⩜\",\"⩘\":\"⩘\",\"⩚\":\"⩚\",\"∠\":\"∠\",\"⦤\":\"⦤\",\"∠\":\"∠\",\"∡\":\"∡\",\"⦨\":\"⦨\",\"⦩\":\"⦩\",\"⦪\":\"⦪\",\"⦫\":\"⦫\",\"⦬\":\"⦬\",\"⦭\":\"⦭\",\"⦮\":\"⦮\",\"⦯\":\"⦯\",\"∟\":\"∟\",\"⊾\":\"⊾\",\"⦝\":\"⦝\",\"∢\":\"∢\",\"Å\":\"Å\",\"⍼\":\"⍼\",\"ą\":\"ą\",\"𝕒\":\"𝕒\",\"≈\":\"≈\",\"⩰\":\"⩰\",\"⩯\":\"⩯\",\"≊\":\"≊\",\"≋\":\"≋\",\"'\":\"'\",\"≈\":\"≈\",\"≊\":\"≊\",\"å\":\"å\",\"å\":\"å\",\"𝒶\":\"𝒶\",\"*\":\"*\",\"≈\":\"≈\",\"≍\":\"≍\",\"ã\":\"ã\",\"ã\":\"ã\",\"ä\":\"ä\",\"ä\":\"ä\",\"∳\":\"∳\",\"⨑\":\"⨑\",\"⫭\":\"⫭\",\"≌\":\"≌\",\"϶\":\"϶\",\"‵\":\"‵\",\"∽\":\"∽\",\"⋍\":\"⋍\",\"⊽\":\"⊽\",\"⌅\":\"⌅\",\"⌅\":\"⌅\",\"⎵\":\"⎵\",\"⎶\":\"⎶\",\"≌\":\"≌\",\"б\":\"б\",\"„\":\"„\",\"∵\":\"∵\",\"∵\":\"∵\",\"⦰\":\"⦰\",\"϶\":\"϶\",\"ℬ\":\"ℬ\",\"β\":\"β\",\"ℶ\":\"ℶ\",\"≬\":\"≬\",\"𝔟\":\"𝔟\",\"⋂\":\"⋂\",\"◯\":\"◯\",\"⋃\":\"⋃\",\"⨀\":\"⨀\",\"⨁\":\"⨁\",\"⨂\":\"⨂\",\"⨆\":\"⨆\",\"★\":\"★\",\"▽\":\"▽\",\"△\":\"△\",\"⨄\":\"⨄\",\"⋁\":\"⋁\",\"⋀\":\"⋀\",\"⤍\":\"⤍\",\"⧫\":\"⧫\",\"▪\":\"▪\",\"▴\":\"▴\",\"▾\":\"▾\",\"◂\":\"◂\",\"▸\":\"▸\",\"␣\":\"␣\",\"▒\":\"▒\",\"░\":\"░\",\"▓\":\"▓\",\"█\":\"█\",\"=⃥\":\"=⃥\",\"≡⃥\":\"≡⃥\",\"⌐\":\"⌐\",\"𝕓\":\"𝕓\",\"⊥\":\"⊥\",\"⊥\":\"⊥\",\"⋈\":\"⋈\",\"╗\":\"╗\",\"╔\":\"╔\",\"╖\":\"╖\",\"╓\":\"╓\",\"═\":\"═\",\"╦\":\"╦\",\"╩\":\"╩\",\"╤\":\"╤\",\"╧\":\"╧\",\"╝\":\"╝\",\"╚\":\"╚\",\"╜\":\"╜\",\"╙\":\"╙\",\"║\":\"║\",\"╬\":\"╬\",\"╣\":\"╣\",\"╠\":\"╠\",\"╫\":\"╫\",\"╢\":\"╢\",\"╟\":\"╟\",\"⧉\":\"⧉\",\"╕\":\"╕\",\"╒\":\"╒\",\"┐\":\"┐\",\"┌\":\"┌\",\"─\":\"─\",\"╥\":\"╥\",\"╨\":\"╨\",\"┬\":\"┬\",\"┴\":\"┴\",\"⊟\":\"⊟\",\"⊞\":\"⊞\",\"⊠\":\"⊠\",\"╛\":\"╛\",\"╘\":\"╘\",\"┘\":\"┘\",\"└\":\"└\",\"│\":\"│\",\"╪\":\"╪\",\"╡\":\"╡\",\"╞\":\"╞\",\"┼\":\"┼\",\"┤\":\"┤\",\"├\":\"├\",\"‵\":\"‵\",\"˘\":\"˘\",\"¦\":\"¦\",\"¦\":\"¦\",\"𝒷\":\"𝒷\",\"⁏\":\"⁏\",\"∽\":\"∽\",\"⋍\":\"⋍\",\"\\":\"\\\\\",\"⧅\":\"⧅\",\"⟈\":\"⟈\",\"•\":\"•\",\"•\":\"•\",\"≎\":\"≎\",\"⪮\":\"⪮\",\"≏\":\"≏\",\"≏\":\"≏\",\"ć\":\"ć\",\"∩\":\"∩\",\"⩄\":\"⩄\",\"⩉\":\"⩉\",\"⩋\":\"⩋\",\"⩇\":\"⩇\",\"⩀\":\"⩀\",\"∩︀\":\"∩︀\",\"⁁\":\"⁁\",\"ˇ\":\"ˇ\",\"⩍\":\"⩍\",\"č\":\"č\",\"ç\":\"ç\",\"ç\":\"ç\",\"ĉ\":\"ĉ\",\"⩌\":\"⩌\",\"⩐\":\"⩐\",\"ċ\":\"ċ\",\"¸\":\"¸\",\"¸\":\"¸\",\"⦲\":\"⦲\",\"¢\":\"¢\",\"¢\":\"¢\",\"·\":\"·\",\"𝔠\":\"𝔠\",\"ч\":\"ч\",\"✓\":\"✓\",\"✓\":\"✓\",\"χ\":\"χ\",\"○\":\"○\",\"⧃\":\"⧃\",\"ˆ\":\"ˆ\",\"≗\":\"≗\",\"↺\":\"↺\",\"↻\":\"↻\",\"®\":\"®\",\"Ⓢ\":\"Ⓢ\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"⊝\":\"⊝\",\"≗\":\"≗\",\"⨐\":\"⨐\",\"⫯\":\"⫯\",\"⧂\":\"⧂\",\"♣\":\"♣\",\"♣\":\"♣\",\":\":\":\",\"≔\":\"≔\",\"≔\":\"≔\",\",\":\",\",\"@\":\"@\",\"∁\":\"∁\",\"∘\":\"∘\",\"∁\":\"∁\",\"ℂ\":\"ℂ\",\"≅\":\"≅\",\"⩭\":\"⩭\",\"∮\":\"∮\",\"𝕔\":\"𝕔\",\"∐\":\"∐\",\"©\":\"©\",\"©\":\"©\",\"℗\":\"℗\",\"↵\":\"↵\",\"✗\":\"✗\",\"𝒸\":\"𝒸\",\"⫏\":\"⫏\",\"⫑\":\"⫑\",\"⫐\":\"⫐\",\"⫒\":\"⫒\",\"⋯\":\"⋯\",\"⤸\":\"⤸\",\"⤵\":\"⤵\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"↶\":\"↶\",\"⤽\":\"⤽\",\"∪\":\"∪\",\"⩈\":\"⩈\",\"⩆\":\"⩆\",\"⩊\":\"⩊\",\"⊍\":\"⊍\",\"⩅\":\"⩅\",\"∪︀\":\"∪︀\",\"↷\":\"↷\",\"⤼\":\"⤼\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"⋎\":\"⋎\",\"⋏\":\"⋏\",\"¤\":\"¤\",\"¤\":\"¤\",\"↶\":\"↶\",\"↷\":\"↷\",\"⋎\":\"⋎\",\"⋏\":\"⋏\",\"∲\":\"∲\",\"∱\":\"∱\",\"⌭\":\"⌭\",\"⇓\":\"⇓\",\"⥥\":\"⥥\",\"†\":\"†\",\"ℸ\":\"ℸ\",\"↓\":\"↓\",\"‐\":\"‐\",\"⊣\":\"⊣\",\"⤏\":\"⤏\",\"˝\":\"˝\",\"ď\":\"ď\",\"д\":\"д\",\"ⅆ\":\"ⅆ\",\"‡\":\"‡\",\"⇊\":\"⇊\",\"⩷\":\"⩷\",\"°\":\"°\",\"°\":\"°\",\"δ\":\"δ\",\"⦱\":\"⦱\",\"⥿\":\"⥿\",\"𝔡\":\"𝔡\",\"⇃\":\"⇃\",\"⇂\":\"⇂\",\"⋄\":\"⋄\",\"⋄\":\"⋄\",\"♦\":\"♦\",\"♦\":\"♦\",\"¨\":\"¨\",\"ϝ\":\"ϝ\",\"⋲\":\"⋲\",\"÷\":\"÷\",\"÷\":\"÷\",\"÷\":\"÷\",\"⋇\":\"⋇\",\"⋇\":\"⋇\",\"ђ\":\"ђ\",\"⌞\":\"⌞\",\"⌍\":\"⌍\",\"$\":\"$\",\"𝕕\":\"𝕕\",\"˙\":\"˙\",\"≐\":\"≐\",\"≑\":\"≑\",\"∸\":\"∸\",\"∔\":\"∔\",\"⊡\":\"⊡\",\"⌆\":\"⌆\",\"↓\":\"↓\",\"⇊\":\"⇊\",\"⇃\":\"⇃\",\"⇂\":\"⇂\",\"⤐\":\"⤐\",\"⌟\":\"⌟\",\"⌌\":\"⌌\",\"𝒹\":\"𝒹\",\"ѕ\":\"ѕ\",\"⧶\":\"⧶\",\"đ\":\"đ\",\"⋱\":\"⋱\",\"▿\":\"▿\",\"▾\":\"▾\",\"⇵\":\"⇵\",\"⥯\":\"⥯\",\"⦦\":\"⦦\",\"џ\":\"џ\",\"⟿\":\"⟿\",\"⩷\":\"⩷\",\"≑\":\"≑\",\"é\":\"é\",\"é\":\"é\",\"⩮\":\"⩮\",\"ě\":\"ě\",\"≖\":\"≖\",\"ê\":\"ê\",\"ê\":\"ê\",\"≕\":\"≕\",\"э\":\"э\",\"ė\":\"ė\",\"ⅇ\":\"ⅇ\",\"≒\":\"≒\",\"𝔢\":\"𝔢\",\"⪚\":\"⪚\",\"è\":\"è\",\"è\":\"è\",\"⪖\":\"⪖\",\"⪘\":\"⪘\",\"⪙\":\"⪙\",\"⏧\":\"⏧\",\"ℓ\":\"ℓ\",\"⪕\":\"⪕\",\"⪗\":\"⪗\",\"ē\":\"ē\",\"∅\":\"∅\",\"∅\":\"∅\",\"∅\":\"∅\",\" \":\" \",\" \":\" \",\" \":\" \",\"ŋ\":\"ŋ\",\" \":\" \",\"ę\":\"ę\",\"𝕖\":\"𝕖\",\"⋕\":\"⋕\",\"⧣\":\"⧣\",\"⩱\":\"⩱\",\"ε\":\"ε\",\"ε\":\"ε\",\"ϵ\":\"ϵ\",\"≖\":\"≖\",\"≕\":\"≕\",\"≂\":\"≂\",\"⪖\":\"⪖\",\"⪕\":\"⪕\",\"=\":\"=\",\"≟\":\"≟\",\"≡\":\"≡\",\"⩸\":\"⩸\",\"⧥\":\"⧥\",\"≓\":\"≓\",\"⥱\":\"⥱\",\"ℯ\":\"ℯ\",\"≐\":\"≐\",\"≂\":\"≂\",\"η\":\"η\",\"ð\":\"ð\",\"ð\":\"ð\",\"ë\":\"ë\",\"ë\":\"ë\",\"€\":\"€\",\"!\":\"!\",\"∃\":\"∃\",\"ℰ\":\"ℰ\",\"ⅇ\":\"ⅇ\",\"≒\":\"≒\",\"ф\":\"ф\",\"♀\":\"♀\",\"ffi\":\"ffi\",\"ff\":\"ff\",\"ffl\":\"ffl\",\"𝔣\":\"𝔣\",\"fi\":\"fi\",\"fj\":\"fj\",\"♭\":\"♭\",\"fl\":\"fl\",\"▱\":\"▱\",\"ƒ\":\"ƒ\",\"𝕗\":\"𝕗\",\"∀\":\"∀\",\"⋔\":\"⋔\",\"⫙\":\"⫙\",\"⨍\":\"⨍\",\"½\":\"½\",\"½\":\"½\",\"⅓\":\"⅓\",\"¼\":\"¼\",\"¼\":\"¼\",\"⅕\":\"⅕\",\"⅙\":\"⅙\",\"⅛\":\"⅛\",\"⅔\":\"⅔\",\"⅖\":\"⅖\",\"¾\":\"¾\",\"¾\":\"¾\",\"⅗\":\"⅗\",\"⅜\":\"⅜\",\"⅘\":\"⅘\",\"⅚\":\"⅚\",\"⅝\":\"⅝\",\"⅞\":\"⅞\",\"⁄\":\"⁄\",\"⌢\":\"⌢\",\"𝒻\":\"𝒻\",\"≧\":\"≧\",\"⪌\":\"⪌\",\"ǵ\":\"ǵ\",\"γ\":\"γ\",\"ϝ\":\"ϝ\",\"⪆\":\"⪆\",\"ğ\":\"ğ\",\"ĝ\":\"ĝ\",\"г\":\"г\",\"ġ\":\"ġ\",\"≥\":\"≥\",\"⋛\":\"⋛\",\"≥\":\"≥\",\"≧\":\"≧\",\"⩾\":\"⩾\",\"⩾\":\"⩾\",\"⪩\":\"⪩\",\"⪀\":\"⪀\",\"⪂\":\"⪂\",\"⪄\":\"⪄\",\"⋛︀\":\"⋛︀\",\"⪔\":\"⪔\",\"𝔤\":\"𝔤\",\"≫\":\"≫\",\"⋙\":\"⋙\",\"ℷ\":\"ℷ\",\"ѓ\":\"ѓ\",\"≷\":\"≷\",\"⪒\":\"⪒\",\"⪥\":\"⪥\",\"⪤\":\"⪤\",\"≩\":\"≩\",\"⪊\":\"⪊\",\"⪊\":\"⪊\",\"⪈\":\"⪈\",\"⪈\":\"⪈\",\"≩\":\"≩\",\"⋧\":\"⋧\",\"𝕘\":\"𝕘\",\"`\":\"`\",\"ℊ\":\"ℊ\",\"≳\":\"≳\",\"⪎\":\"⪎\",\"⪐\":\"⪐\",\">\":\">\",\">\":\">\",\"⪧\":\"⪧\",\"⩺\":\"⩺\",\"⋗\":\"⋗\",\"⦕\":\"⦕\",\"⩼\":\"⩼\",\"⪆\":\"⪆\",\"⥸\":\"⥸\",\"⋗\":\"⋗\",\"⋛\":\"⋛\",\"⪌\":\"⪌\",\"≷\":\"≷\",\"≳\":\"≳\",\"≩︀\":\"≩︀\",\"≩︀\":\"≩︀\",\"⇔\":\"⇔\",\" \":\" \",\"½\":\"½\",\"ℋ\":\"ℋ\",\"ъ\":\"ъ\",\"↔\":\"↔\",\"⥈\":\"⥈\",\"↭\":\"↭\",\"ℏ\":\"ℏ\",\"ĥ\":\"ĥ\",\"♥\":\"♥\",\"♥\":\"♥\",\"…\":\"…\",\"⊹\":\"⊹\",\"𝔥\":\"𝔥\",\"⤥\":\"⤥\",\"⤦\":\"⤦\",\"⇿\":\"⇿\",\"∻\":\"∻\",\"↩\":\"↩\",\"↪\":\"↪\",\"𝕙\":\"𝕙\",\"―\":\"―\",\"𝒽\":\"𝒽\",\"ℏ\":\"ℏ\",\"ħ\":\"ħ\",\"⁃\":\"⁃\",\"‐\":\"‐\",\"í\":\"í\",\"í\":\"í\",\"⁣\":\"⁣\",\"î\":\"î\",\"î\":\"î\",\"и\":\"и\",\"е\":\"е\",\"¡\":\"¡\",\"¡\":\"¡\",\"⇔\":\"⇔\",\"𝔦\":\"𝔦\",\"ì\":\"ì\",\"ì\":\"ì\",\"ⅈ\":\"ⅈ\",\"⨌\":\"⨌\",\"∭\":\"∭\",\"⧜\":\"⧜\",\"℩\":\"℩\",\"ij\":\"ij\",\"ī\":\"ī\",\"ℑ\":\"ℑ\",\"ℐ\":\"ℐ\",\"ℑ\":\"ℑ\",\"ı\":\"ı\",\"⊷\":\"⊷\",\"Ƶ\":\"Ƶ\",\"∈\":\"∈\",\"℅\":\"℅\",\"∞\":\"∞\",\"⧝\":\"⧝\",\"ı\":\"ı\",\"∫\":\"∫\",\"⊺\":\"⊺\",\"ℤ\":\"ℤ\",\"⊺\":\"⊺\",\"⨗\":\"⨗\",\"⨼\":\"⨼\",\"ё\":\"ё\",\"į\":\"į\",\"𝕚\":\"𝕚\",\"ι\":\"ι\",\"⨼\":\"⨼\",\"¿\":\"¿\",\"¿\":\"¿\",\"𝒾\":\"𝒾\",\"∈\":\"∈\",\"⋹\":\"⋹\",\"⋵\":\"⋵\",\"⋴\":\"⋴\",\"⋳\":\"⋳\",\"∈\":\"∈\",\"⁢\":\"⁢\",\"ĩ\":\"ĩ\",\"і\":\"і\",\"ï\":\"ï\",\"ï\":\"ï\",\"ĵ\":\"ĵ\",\"й\":\"й\",\"𝔧\":\"𝔧\",\"ȷ\":\"ȷ\",\"𝕛\":\"𝕛\",\"𝒿\":\"𝒿\",\"ј\":\"ј\",\"є\":\"є\",\"κ\":\"κ\",\"ϰ\":\"ϰ\",\"ķ\":\"ķ\",\"к\":\"к\",\"𝔨\":\"𝔨\",\"ĸ\":\"ĸ\",\"х\":\"х\",\"ќ\":\"ќ\",\"𝕜\":\"𝕜\",\"𝓀\":\"𝓀\",\"⇚\":\"⇚\",\"⇐\":\"⇐\",\"⤛\":\"⤛\",\"⤎\":\"⤎\",\"≦\":\"≦\",\"⪋\":\"⪋\",\"⥢\":\"⥢\",\"ĺ\":\"ĺ\",\"⦴\":\"⦴\",\"ℒ\":\"ℒ\",\"λ\":\"λ\",\"⟨\":\"⟨\",\"⦑\":\"⦑\",\"⟨\":\"⟨\",\"⪅\":\"⪅\",\"«\":\"«\",\"«\":\"«\",\"←\":\"←\",\"⇤\":\"⇤\",\"⤟\":\"⤟\",\"⤝\":\"⤝\",\"↩\":\"↩\",\"↫\":\"↫\",\"⤹\":\"⤹\",\"⥳\":\"⥳\",\"↢\":\"↢\",\"⪫\":\"⪫\",\"⤙\":\"⤙\",\"⪭\":\"⪭\",\"⪭︀\":\"⪭︀\",\"⤌\":\"⤌\",\"❲\":\"❲\",\"{\":\"{\",\"[\":\"[\",\"⦋\":\"⦋\",\"⦏\":\"⦏\",\"⦍\":\"⦍\",\"ľ\":\"ľ\",\"ļ\":\"ļ\",\"⌈\":\"⌈\",\"{\":\"{\",\"л\":\"л\",\"⤶\":\"⤶\",\"“\":\"“\",\"„\":\"„\",\"⥧\":\"⥧\",\"⥋\":\"⥋\",\"↲\":\"↲\",\"≤\":\"≤\",\"←\":\"←\",\"↢\":\"↢\",\"↽\":\"↽\",\"↼\":\"↼\",\"⇇\":\"⇇\",\"↔\":\"↔\",\"⇆\":\"⇆\",\"⇋\":\"⇋\",\"↭\":\"↭\",\"⋋\":\"⋋\",\"⋚\":\"⋚\",\"≤\":\"≤\",\"≦\":\"≦\",\"⩽\":\"⩽\",\"⩽\":\"⩽\",\"⪨\":\"⪨\",\"⩿\":\"⩿\",\"⪁\":\"⪁\",\"⪃\":\"⪃\",\"⋚︀\":\"⋚︀\",\"⪓\":\"⪓\",\"⪅\":\"⪅\",\"⋖\":\"⋖\",\"⋚\":\"⋚\",\"⪋\":\"⪋\",\"≶\":\"≶\",\"≲\":\"≲\",\"⥼\":\"⥼\",\"⌊\":\"⌊\",\"𝔩\":\"𝔩\",\"≶\":\"≶\",\"⪑\":\"⪑\",\"↽\":\"↽\",\"↼\":\"↼\",\"⥪\":\"⥪\",\"▄\":\"▄\",\"љ\":\"љ\",\"≪\":\"≪\",\"⇇\":\"⇇\",\"⌞\":\"⌞\",\"⥫\":\"⥫\",\"◺\":\"◺\",\"ŀ\":\"ŀ\",\"⎰\":\"⎰\",\"⎰\":\"⎰\",\"≨\":\"≨\",\"⪉\":\"⪉\",\"⪉\":\"⪉\",\"⪇\":\"⪇\",\"⪇\":\"⪇\",\"≨\":\"≨\",\"⋦\":\"⋦\",\"⟬\":\"⟬\",\"⇽\":\"⇽\",\"⟦\":\"⟦\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟼\":\"⟼\",\"⟶\":\"⟶\",\"↫\":\"↫\",\"↬\":\"↬\",\"⦅\":\"⦅\",\"𝕝\":\"𝕝\",\"⨭\":\"⨭\",\"⨴\":\"⨴\",\"∗\":\"∗\",\"_\":\"_\",\"◊\":\"◊\",\"◊\":\"◊\",\"⧫\":\"⧫\",\"(\":\"(\",\"⦓\":\"⦓\",\"⇆\":\"⇆\",\"⌟\":\"⌟\",\"⇋\":\"⇋\",\"⥭\":\"⥭\",\"‎\":\"‎\",\"⊿\":\"⊿\",\"‹\":\"‹\",\"𝓁\":\"𝓁\",\"↰\":\"↰\",\"≲\":\"≲\",\"⪍\":\"⪍\",\"⪏\":\"⪏\",\"[\":\"[\",\"‘\":\"‘\",\"‚\":\"‚\",\"ł\":\"ł\",\"<\":\"<\",\"<\":\"<\",\"⪦\":\"⪦\",\"⩹\":\"⩹\",\"⋖\":\"⋖\",\"⋋\":\"⋋\",\"⋉\":\"⋉\",\"⥶\":\"⥶\",\"⩻\":\"⩻\",\"⦖\":\"⦖\",\"◃\":\"◃\",\"⊴\":\"⊴\",\"◂\":\"◂\",\"⥊\":\"⥊\",\"⥦\":\"⥦\",\"≨︀\":\"≨︀\",\"≨︀\":\"≨︀\",\"∺\":\"∺\",\"¯\":\"¯\",\"¯\":\"¯\",\"♂\":\"♂\",\"✠\":\"✠\",\"✠\":\"✠\",\"↦\":\"↦\",\"↦\":\"↦\",\"↧\":\"↧\",\"↤\":\"↤\",\"↥\":\"↥\",\"▮\":\"▮\",\"⨩\":\"⨩\",\"м\":\"м\",\"—\":\"—\",\"∡\":\"∡\",\"𝔪\":\"𝔪\",\"℧\":\"℧\",\"µ\":\"µ\",\"µ\":\"µ\",\"∣\":\"∣\",\"*\":\"*\",\"⫰\":\"⫰\",\"·\":\"·\",\"·\":\"·\",\"−\":\"−\",\"⊟\":\"⊟\",\"∸\":\"∸\",\"⨪\":\"⨪\",\"⫛\":\"⫛\",\"…\":\"…\",\"∓\":\"∓\",\"⊧\":\"⊧\",\"𝕞\":\"𝕞\",\"∓\":\"∓\",\"𝓂\":\"𝓂\",\"∾\":\"∾\",\"μ\":\"μ\",\"⊸\":\"⊸\",\"⊸\":\"⊸\",\"⋙̸\":\"⋙̸\",\"≫⃒\":\"≫⃒\",\"≫̸\":\"≫̸\",\"⇍\":\"⇍\",\"⇎\":\"⇎\",\"⋘̸\":\"⋘̸\",\"≪⃒\":\"≪⃒\",\"≪̸\":\"≪̸\",\"⇏\":\"⇏\",\"⊯\":\"⊯\",\"⊮\":\"⊮\",\"∇\":\"∇\",\"ń\":\"ń\",\"∠⃒\":\"∠⃒\",\"≉\":\"≉\",\"⩰̸\":\"⩰̸\",\"≋̸\":\"≋̸\",\"ʼn\":\"ʼn\",\"≉\":\"≉\",\"♮\":\"♮\",\"♮\":\"♮\",\"ℕ\":\"ℕ\",\" \":\" \",\" \":\" \",\"≎̸\":\"≎̸\",\"≏̸\":\"≏̸\",\"⩃\":\"⩃\",\"ň\":\"ň\",\"ņ\":\"ņ\",\"≇\":\"≇\",\"⩭̸\":\"⩭̸\",\"⩂\":\"⩂\",\"н\":\"н\",\"–\":\"–\",\"≠\":\"≠\",\"⇗\":\"⇗\",\"⤤\":\"⤤\",\"↗\":\"↗\",\"↗\":\"↗\",\"≐̸\":\"≐̸\",\"≢\":\"≢\",\"⤨\":\"⤨\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"∄\":\"∄\",\"𝔫\":\"𝔫\",\"≧̸\":\"≧̸\",\"≱\":\"≱\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"⩾̸\":\"⩾̸\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≯\":\"≯\",\"≯\":\"≯\",\"⇎\":\"⇎\",\"↮\":\"↮\",\"⫲\":\"⫲\",\"∋\":\"∋\",\"⋼\":\"⋼\",\"⋺\":\"⋺\",\"∋\":\"∋\",\"њ\":\"њ\",\"⇍\":\"⇍\",\"≦̸\":\"≦̸\",\"↚\":\"↚\",\"‥\":\"‥\",\"≰\":\"≰\",\"↚\":\"↚\",\"↮\":\"↮\",\"≰\":\"≰\",\"≦̸\":\"≦̸\",\"⩽̸\":\"⩽̸\",\"⩽̸\":\"⩽̸\",\"≮\":\"≮\",\"≴\":\"≴\",\"≮\":\"≮\",\"⋪\":\"⋪\",\"⋬\":\"⋬\",\"∤\":\"∤\",\"𝕟\":\"𝕟\",\"¬\":\"¬\",\"¬\":\"¬\",\"∉\":\"∉\",\"⋹̸\":\"⋹̸\",\"⋵̸\":\"⋵̸\",\"∉\":\"∉\",\"⋷\":\"⋷\",\"⋶\":\"⋶\",\"∌\":\"∌\",\"∌\":\"∌\",\"⋾\":\"⋾\",\"⋽\":\"⋽\",\"∦\":\"∦\",\"∦\":\"∦\",\"⫽⃥\":\"⫽⃥\",\"∂̸\":\"∂̸\",\"⨔\":\"⨔\",\"⊀\":\"⊀\",\"⋠\":\"⋠\",\"⪯̸\":\"⪯̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"⇏\":\"⇏\",\"↛\":\"↛\",\"⤳̸\":\"⤳̸\",\"↝̸\":\"↝̸\",\"↛\":\"↛\",\"⋫\":\"⋫\",\"⋭\":\"⋭\",\"⊁\":\"⊁\",\"⋡\":\"⋡\",\"⪰̸\":\"⪰̸\",\"𝓃\":\"𝓃\",\"∤\":\"∤\",\"∦\":\"∦\",\"≁\":\"≁\",\"≄\":\"≄\",\"≄\":\"≄\",\"∤\":\"∤\",\"∦\":\"∦\",\"⋢\":\"⋢\",\"⋣\":\"⋣\",\"⊄\":\"⊄\",\"⫅̸\":\"⫅̸\",\"⊈\":\"⊈\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"⫅̸\":\"⫅̸\",\"⊁\":\"⊁\",\"⪰̸\":\"⪰̸\",\"⊅\":\"⊅\",\"⫆̸\":\"⫆̸\",\"⊉\":\"⊉\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"⫆̸\":\"⫆̸\",\"≹\":\"≹\",\"ñ\":\"ñ\",\"ñ\":\"ñ\",\"≸\":\"≸\",\"⋪\":\"⋪\",\"⋬\":\"⋬\",\"⋫\":\"⋫\",\"⋭\":\"⋭\",\"ν\":\"ν\",\"#\":\"#\",\"№\":\"№\",\" \":\" \",\"⊭\":\"⊭\",\"⤄\":\"⤄\",\"≍⃒\":\"≍⃒\",\"⊬\":\"⊬\",\"≥⃒\":\"≥⃒\",\">⃒\":\">⃒\",\"⧞\":\"⧞\",\"⤂\":\"⤂\",\"≤⃒\":\"≤⃒\",\"<⃒\":\"<⃒\",\"⊴⃒\":\"⊴⃒\",\"⤃\":\"⤃\",\"⊵⃒\":\"⊵⃒\",\"∼⃒\":\"∼⃒\",\"⇖\":\"⇖\",\"⤣\":\"⤣\",\"↖\":\"↖\",\"↖\":\"↖\",\"⤧\":\"⤧\",\"Ⓢ\":\"Ⓢ\",\"ó\":\"ó\",\"ó\":\"ó\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"ô\":\"ô\",\"ô\":\"ô\",\"о\":\"о\",\"⊝\":\"⊝\",\"ő\":\"ő\",\"⨸\":\"⨸\",\"⊙\":\"⊙\",\"⦼\":\"⦼\",\"œ\":\"œ\",\"⦿\":\"⦿\",\"𝔬\":\"𝔬\",\"˛\":\"˛\",\"ò\":\"ò\",\"ò\":\"ò\",\"⧁\":\"⧁\",\"⦵\":\"⦵\",\"Ω\":\"Ω\",\"∮\":\"∮\",\"↺\":\"↺\",\"⦾\":\"⦾\",\"⦻\":\"⦻\",\"‾\":\"‾\",\"⧀\":\"⧀\",\"ō\":\"ō\",\"ω\":\"ω\",\"ο\":\"ο\",\"⦶\":\"⦶\",\"⊖\":\"⊖\",\"𝕠\":\"𝕠\",\"⦷\":\"⦷\",\"⦹\":\"⦹\",\"⊕\":\"⊕\",\"∨\":\"∨\",\"↻\":\"↻\",\"⩝\":\"⩝\",\"ℴ\":\"ℴ\",\"ℴ\":\"ℴ\",\"ª\":\"ª\",\"ª\":\"ª\",\"º\":\"º\",\"º\":\"º\",\"⊶\":\"⊶\",\"⩖\":\"⩖\",\"⩗\":\"⩗\",\"⩛\":\"⩛\",\"ℴ\":\"ℴ\",\"ø\":\"ø\",\"ø\":\"ø\",\"⊘\":\"⊘\",\"õ\":\"õ\",\"õ\":\"õ\",\"⊗\":\"⊗\",\"⨶\":\"⨶\",\"ö\":\"ö\",\"ö\":\"ö\",\"⌽\":\"⌽\",\"∥\":\"∥\",\"¶\":\"¶\",\"¶\":\"¶\",\"∥\":\"∥\",\"⫳\":\"⫳\",\"⫽\":\"⫽\",\"∂\":\"∂\",\"п\":\"п\",\"%\":\"%\",\".\":\".\",\"‰\":\"‰\",\"⊥\":\"⊥\",\"‱\":\"‱\",\"𝔭\":\"𝔭\",\"φ\":\"φ\",\"ϕ\":\"ϕ\",\"ℳ\":\"ℳ\",\"☎\":\"☎\",\"π\":\"π\",\"⋔\":\"⋔\",\"ϖ\":\"ϖ\",\"ℏ\":\"ℏ\",\"ℎ\":\"ℎ\",\"ℏ\":\"ℏ\",\"+\":\"+\",\"⨣\":\"⨣\",\"⊞\":\"⊞\",\"⨢\":\"⨢\",\"∔\":\"∔\",\"⨥\":\"⨥\",\"⩲\":\"⩲\",\"±\":\"±\",\"±\":\"±\",\"⨦\":\"⨦\",\"⨧\":\"⨧\",\"±\":\"±\",\"⨕\":\"⨕\",\"𝕡\":\"𝕡\",\"£\":\"£\",\"£\":\"£\",\"≺\":\"≺\",\"⪳\":\"⪳\",\"⪷\":\"⪷\",\"≼\":\"≼\",\"⪯\":\"⪯\",\"≺\":\"≺\",\"⪷\":\"⪷\",\"≼\":\"≼\",\"⪯\":\"⪯\",\"⪹\":\"⪹\",\"⪵\":\"⪵\",\"⋨\":\"⋨\",\"≾\":\"≾\",\"′\":\"′\",\"ℙ\":\"ℙ\",\"⪵\":\"⪵\",\"⪹\":\"⪹\",\"⋨\":\"⋨\",\"∏\":\"∏\",\"⌮\":\"⌮\",\"⌒\":\"⌒\",\"⌓\":\"⌓\",\"∝\":\"∝\",\"∝\":\"∝\",\"≾\":\"≾\",\"⊰\":\"⊰\",\"𝓅\":\"𝓅\",\"ψ\":\"ψ\",\" \":\" \",\"𝔮\":\"𝔮\",\"⨌\":\"⨌\",\"𝕢\":\"𝕢\",\"⁗\":\"⁗\",\"𝓆\":\"𝓆\",\"ℍ\":\"ℍ\",\"⨖\":\"⨖\",\"?\":\"?\",\"≟\":\"≟\",\""\":'\"',\""\":'\"',\"⇛\":\"⇛\",\"⇒\":\"⇒\",\"⤜\":\"⤜\",\"⤏\":\"⤏\",\"⥤\":\"⥤\",\"∽̱\":\"∽̱\",\"ŕ\":\"ŕ\",\"√\":\"√\",\"⦳\":\"⦳\",\"⟩\":\"⟩\",\"⦒\":\"⦒\",\"⦥\":\"⦥\",\"⟩\":\"⟩\",\"»\":\"»\",\"»\":\"»\",\"→\":\"→\",\"⥵\":\"⥵\",\"⇥\":\"⇥\",\"⤠\":\"⤠\",\"⤳\":\"⤳\",\"⤞\":\"⤞\",\"↪\":\"↪\",\"↬\":\"↬\",\"⥅\":\"⥅\",\"⥴\":\"⥴\",\"↣\":\"↣\",\"↝\":\"↝\",\"⤚\":\"⤚\",\"∶\":\"∶\",\"ℚ\":\"ℚ\",\"⤍\":\"⤍\",\"❳\":\"❳\",\"}\":\"}\",\"]\":\"]\",\"⦌\":\"⦌\",\"⦎\":\"⦎\",\"⦐\":\"⦐\",\"ř\":\"ř\",\"ŗ\":\"ŗ\",\"⌉\":\"⌉\",\"}\":\"}\",\"р\":\"р\",\"⤷\":\"⤷\",\"⥩\":\"⥩\",\"”\":\"”\",\"”\":\"”\",\"↳\":\"↳\",\"ℜ\":\"ℜ\",\"ℛ\":\"ℛ\",\"ℜ\":\"ℜ\",\"ℝ\":\"ℝ\",\"▭\":\"▭\",\"®\":\"®\",\"®\":\"®\",\"⥽\":\"⥽\",\"⌋\":\"⌋\",\"𝔯\":\"𝔯\",\"⇁\":\"⇁\",\"⇀\":\"⇀\",\"⥬\":\"⥬\",\"ρ\":\"ρ\",\"ϱ\":\"ϱ\",\"→\":\"→\",\"↣\":\"↣\",\"⇁\":\"⇁\",\"⇀\":\"⇀\",\"⇄\":\"⇄\",\"⇌\":\"⇌\",\"⇉\":\"⇉\",\"↝\":\"↝\",\"⋌\":\"⋌\",\"˚\":\"˚\",\"≓\":\"≓\",\"⇄\":\"⇄\",\"⇌\":\"⇌\",\"‏\":\"‏\",\"⎱\":\"⎱\",\"⎱\":\"⎱\",\"⫮\":\"⫮\",\"⟭\":\"⟭\",\"⇾\":\"⇾\",\"⟧\":\"⟧\",\"⦆\":\"⦆\",\"𝕣\":\"𝕣\",\"⨮\":\"⨮\",\"⨵\":\"⨵\",\")\":\")\",\"⦔\":\"⦔\",\"⨒\":\"⨒\",\"⇉\":\"⇉\",\"›\":\"›\",\"𝓇\":\"𝓇\",\"↱\":\"↱\",\"]\":\"]\",\"’\":\"’\",\"’\":\"’\",\"⋌\":\"⋌\",\"⋊\":\"⋊\",\"▹\":\"▹\",\"⊵\":\"⊵\",\"▸\":\"▸\",\"⧎\":\"⧎\",\"⥨\":\"⥨\",\"℞\":\"℞\",\"ś\":\"ś\",\"‚\":\"‚\",\"≻\":\"≻\",\"⪴\":\"⪴\",\"⪸\":\"⪸\",\"š\":\"š\",\"≽\":\"≽\",\"⪰\":\"⪰\",\"ş\":\"ş\",\"ŝ\":\"ŝ\",\"⪶\":\"⪶\",\"⪺\":\"⪺\",\"⋩\":\"⋩\",\"⨓\":\"⨓\",\"≿\":\"≿\",\"с\":\"с\",\"⋅\":\"⋅\",\"⊡\":\"⊡\",\"⩦\":\"⩦\",\"⇘\":\"⇘\",\"⤥\":\"⤥\",\"↘\":\"↘\",\"↘\":\"↘\",\"§\":\"§\",\"§\":\"§\",\";\":\";\",\"⤩\":\"⤩\",\"∖\":\"∖\",\"∖\":\"∖\",\"✶\":\"✶\",\"𝔰\":\"𝔰\",\"⌢\":\"⌢\",\"♯\":\"♯\",\"щ\":\"щ\",\"ш\":\"ш\",\"∣\":\"∣\",\"∥\":\"∥\",\"­\":\"­\",\"­\":\"­\",\"σ\":\"σ\",\"ς\":\"ς\",\"ς\":\"ς\",\"∼\":\"∼\",\"⩪\":\"⩪\",\"≃\":\"≃\",\"≃\":\"≃\",\"⪞\":\"⪞\",\"⪠\":\"⪠\",\"⪝\":\"⪝\",\"⪟\":\"⪟\",\"≆\":\"≆\",\"⨤\":\"⨤\",\"⥲\":\"⥲\",\"←\":\"←\",\"∖\":\"∖\",\"⨳\":\"⨳\",\"⧤\":\"⧤\",\"∣\":\"∣\",\"⌣\":\"⌣\",\"⪪\":\"⪪\",\"⪬\":\"⪬\",\"⪬︀\":\"⪬︀\",\"ь\":\"ь\",\"/\":\"/\",\"⧄\":\"⧄\",\"⌿\":\"⌿\",\"𝕤\":\"𝕤\",\"♠\":\"♠\",\"♠\":\"♠\",\"∥\":\"∥\",\"⊓\":\"⊓\",\"⊓︀\":\"⊓︀\",\"⊔\":\"⊔\",\"⊔︀\":\"⊔︀\",\"⊏\":\"⊏\",\"⊑\":\"⊑\",\"⊏\":\"⊏\",\"⊑\":\"⊑\",\"⊐\":\"⊐\",\"⊒\":\"⊒\",\"⊐\":\"⊐\",\"⊒\":\"⊒\",\"□\":\"□\",\"□\":\"□\",\"▪\":\"▪\",\"▪\":\"▪\",\"→\":\"→\",\"𝓈\":\"𝓈\",\"∖\":\"∖\",\"⌣\":\"⌣\",\"⋆\":\"⋆\",\"☆\":\"☆\",\"★\":\"★\",\"ϵ\":\"ϵ\",\"ϕ\":\"ϕ\",\"¯\":\"¯\",\"⊂\":\"⊂\",\"⫅\":\"⫅\",\"⪽\":\"⪽\",\"⊆\":\"⊆\",\"⫃\":\"⫃\",\"⫁\":\"⫁\",\"⫋\":\"⫋\",\"⊊\":\"⊊\",\"⪿\":\"⪿\",\"⥹\":\"⥹\",\"⊂\":\"⊂\",\"⊆\":\"⊆\",\"⫅\":\"⫅\",\"⊊\":\"⊊\",\"⫋\":\"⫋\",\"⫇\":\"⫇\",\"⫕\":\"⫕\",\"⫓\":\"⫓\",\"≻\":\"≻\",\"⪸\":\"⪸\",\"≽\":\"≽\",\"⪰\":\"⪰\",\"⪺\":\"⪺\",\"⪶\":\"⪶\",\"⋩\":\"⋩\",\"≿\":\"≿\",\"∑\":\"∑\",\"♪\":\"♪\",\"¹\":\"¹\",\"¹\":\"¹\",\"²\":\"²\",\"²\":\"²\",\"³\":\"³\",\"³\":\"³\",\"⊃\":\"⊃\",\"⫆\":\"⫆\",\"⪾\":\"⪾\",\"⫘\":\"⫘\",\"⊇\":\"⊇\",\"⫄\":\"⫄\",\"⟉\":\"⟉\",\"⫗\":\"⫗\",\"⥻\":\"⥻\",\"⫂\":\"⫂\",\"⫌\":\"⫌\",\"⊋\":\"⊋\",\"⫀\":\"⫀\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",\"⫆\":\"⫆\",\"⊋\":\"⊋\",\"⫌\":\"⫌\",\"⫈\":\"⫈\",\"⫔\":\"⫔\",\"⫖\":\"⫖\",\"⇙\":\"⇙\",\"⤦\":\"⤦\",\"↙\":\"↙\",\"↙\":\"↙\",\"⤪\":\"⤪\",\"ß\":\"ß\",\"ß\":\"ß\",\"⌖\":\"⌖\",\"τ\":\"τ\",\"⎴\":\"⎴\",\"ť\":\"ť\",\"ţ\":\"ţ\",\"т\":\"т\",\"⃛\":\"⃛\",\"⌕\":\"⌕\",\"𝔱\":\"𝔱\",\"∴\":\"∴\",\"∴\":\"∴\",\"θ\":\"θ\",\"ϑ\":\"ϑ\",\"ϑ\":\"ϑ\",\"≈\":\"≈\",\"∼\":\"∼\",\" \":\" \",\"≈\":\"≈\",\"∼\":\"∼\",\"þ\":\"þ\",\"þ\":\"þ\",\"˜\":\"˜\",\"×\":\"×\",\"×\":\"×\",\"⊠\":\"⊠\",\"⨱\":\"⨱\",\"⨰\":\"⨰\",\"∭\":\"∭\",\"⤨\":\"⤨\",\"⊤\":\"⊤\",\"⌶\":\"⌶\",\"⫱\":\"⫱\",\"𝕥\":\"𝕥\",\"⫚\":\"⫚\",\"⤩\":\"⤩\",\"‴\":\"‴\",\"™\":\"™\",\"▵\":\"▵\",\"▿\":\"▿\",\"◃\":\"◃\",\"⊴\":\"⊴\",\"≜\":\"≜\",\"▹\":\"▹\",\"⊵\":\"⊵\",\"◬\":\"◬\",\"≜\":\"≜\",\"⨺\":\"⨺\",\"⨹\":\"⨹\",\"⧍\":\"⧍\",\"⨻\":\"⨻\",\"⏢\":\"⏢\",\"𝓉\":\"𝓉\",\"ц\":\"ц\",\"ћ\":\"ћ\",\"ŧ\":\"ŧ\",\"≬\":\"≬\",\"↞\":\"↞\",\"↠\":\"↠\",\"⇑\":\"⇑\",\"⥣\":\"⥣\",\"ú\":\"ú\",\"ú\":\"ú\",\"↑\":\"↑\",\"ў\":\"ў\",\"ŭ\":\"ŭ\",\"û\":\"û\",\"û\":\"û\",\"у\":\"у\",\"⇅\":\"⇅\",\"ű\":\"ű\",\"⥮\":\"⥮\",\"⥾\":\"⥾\",\"𝔲\":\"𝔲\",\"ù\":\"ù\",\"ù\":\"ù\",\"↿\":\"↿\",\"↾\":\"↾\",\"▀\":\"▀\",\"⌜\":\"⌜\",\"⌜\":\"⌜\",\"⌏\":\"⌏\",\"◸\":\"◸\",\"ū\":\"ū\",\"¨\":\"¨\",\"¨\":\"¨\",\"ų\":\"ų\",\"𝕦\":\"𝕦\",\"↑\":\"↑\",\"↕\":\"↕\",\"↿\":\"↿\",\"↾\":\"↾\",\"⊎\":\"⊎\",\"υ\":\"υ\",\"ϒ\":\"ϒ\",\"υ\":\"υ\",\"⇈\":\"⇈\",\"⌝\":\"⌝\",\"⌝\":\"⌝\",\"⌎\":\"⌎\",\"ů\":\"ů\",\"◹\":\"◹\",\"𝓊\":\"𝓊\",\"⋰\":\"⋰\",\"ũ\":\"ũ\",\"▵\":\"▵\",\"▴\":\"▴\",\"⇈\":\"⇈\",\"ü\":\"ü\",\"ü\":\"ü\",\"⦧\":\"⦧\",\"⇕\":\"⇕\",\"⫨\":\"⫨\",\"⫩\":\"⫩\",\"⊨\":\"⊨\",\"⦜\":\"⦜\",\"ϵ\":\"ϵ\",\"ϰ\":\"ϰ\",\"∅\":\"∅\",\"ϕ\":\"ϕ\",\"ϖ\":\"ϖ\",\"∝\":\"∝\",\"↕\":\"↕\",\"ϱ\":\"ϱ\",\"ς\":\"ς\",\"⊊︀\":\"⊊︀\",\"⫋︀\":\"⫋︀\",\"⊋︀\":\"⊋︀\",\"⫌︀\":\"⫌︀\",\"ϑ\":\"ϑ\",\"⊲\":\"⊲\",\"⊳\":\"⊳\",\"в\":\"в\",\"⊢\":\"⊢\",\"∨\":\"∨\",\"⊻\":\"⊻\",\"≚\":\"≚\",\"⋮\":\"⋮\",\"|\":\"|\",\"|\":\"|\",\"𝔳\":\"𝔳\",\"⊲\":\"⊲\",\"⊂⃒\":\"⊂⃒\",\"⊃⃒\":\"⊃⃒\",\"𝕧\":\"𝕧\",\"∝\":\"∝\",\"⊳\":\"⊳\",\"𝓋\":\"𝓋\",\"⫋︀\":\"⫋︀\",\"⊊︀\":\"⊊︀\",\"⫌︀\":\"⫌︀\",\"⊋︀\":\"⊋︀\",\"⦚\":\"⦚\",\"ŵ\":\"ŵ\",\"⩟\":\"⩟\",\"∧\":\"∧\",\"≙\":\"≙\",\"℘\":\"℘\",\"𝔴\":\"𝔴\",\"𝕨\":\"𝕨\",\"℘\":\"℘\",\"≀\":\"≀\",\"≀\":\"≀\",\"𝓌\":\"𝓌\",\"⋂\":\"⋂\",\"◯\":\"◯\",\"⋃\":\"⋃\",\"▽\":\"▽\",\"𝔵\":\"𝔵\",\"⟺\":\"⟺\",\"⟷\":\"⟷\",\"ξ\":\"ξ\",\"⟸\":\"⟸\",\"⟵\":\"⟵\",\"⟼\":\"⟼\",\"⋻\":\"⋻\",\"⨀\":\"⨀\",\"𝕩\":\"𝕩\",\"⨁\":\"⨁\",\"⨂\":\"⨂\",\"⟹\":\"⟹\",\"⟶\":\"⟶\",\"𝓍\":\"𝓍\",\"⨆\":\"⨆\",\"⨄\":\"⨄\",\"△\":\"△\",\"⋁\":\"⋁\",\"⋀\":\"⋀\",\"ý\":\"ý\",\"ý\":\"ý\",\"я\":\"я\",\"ŷ\":\"ŷ\",\"ы\":\"ы\",\"¥\":\"¥\",\"¥\":\"¥\",\"𝔶\":\"𝔶\",\"ї\":\"ї\",\"𝕪\":\"𝕪\",\"𝓎\":\"𝓎\",\"ю\":\"ю\",\"ÿ\":\"ÿ\",\"ÿ\":\"ÿ\",\"ź\":\"ź\",\"ž\":\"ž\",\"з\":\"з\",\"ż\":\"ż\",\"ℨ\":\"ℨ\",\"ζ\":\"ζ\",\"𝔷\":\"𝔷\",\"ж\":\"ж\",\"⇝\":\"⇝\",\"𝕫\":\"𝕫\",\"𝓏\":\"𝓏\",\"‍\":\"‍\",\"‌\":\"‌\"},characters:{\"Æ\":\"Æ\",\"&\":\"&\",\"Á\":\"Á\",\"Ă\":\"Ă\",\"Â\":\"Â\",\"А\":\"А\",\"𝔄\":\"𝔄\",\"À\":\"À\",\"Α\":\"Α\",\"Ā\":\"Ā\",\"⩓\":\"⩓\",\"Ą\":\"Ą\",\"𝔸\":\"𝔸\",\"⁡\":\"⁡\",\"Å\":\"Å\",\"𝒜\":\"𝒜\",\"≔\":\"≔\",\"Ã\":\"Ã\",\"Ä\":\"Ä\",\"∖\":\"∖\",\"⫧\":\"⫧\",\"⌆\":\"⌆\",\"Б\":\"Б\",\"∵\":\"∵\",\"ℬ\":\"ℬ\",\"Β\":\"Β\",\"𝔅\":\"𝔅\",\"𝔹\":\"𝔹\",\"˘\":\"˘\",\"≎\":\"≎\",\"Ч\":\"Ч\",\"©\":\"©\",\"Ć\":\"Ć\",\"⋒\":\"⋒\",\"ⅅ\":\"ⅅ\",\"ℭ\":\"ℭ\",\"Č\":\"Č\",\"Ç\":\"Ç\",\"Ĉ\":\"Ĉ\",\"∰\":\"∰\",\"Ċ\":\"Ċ\",\"¸\":\"¸\",\"·\":\"·\",\"Χ\":\"Χ\",\"⊙\":\"⊙\",\"⊖\":\"⊖\",\"⊕\":\"⊕\",\"⊗\":\"⊗\",\"∲\":\"∲\",\"”\":\"”\",\"’\":\"’\",\"∷\":\"∷\",\"⩴\":\"⩴\",\"≡\":\"≡\",\"∯\":\"∯\",\"∮\":\"∮\",\"ℂ\":\"ℂ\",\"∐\":\"∐\",\"∳\":\"∳\",\"⨯\":\"⨯\",\"𝒞\":\"𝒞\",\"⋓\":\"⋓\",\"≍\":\"≍\",\"⤑\":\"⤑\",\"Ђ\":\"Ђ\",\"Ѕ\":\"Ѕ\",\"Џ\":\"Џ\",\"‡\":\"‡\",\"↡\":\"↡\",\"⫤\":\"⫤\",\"Ď\":\"Ď\",\"Д\":\"Д\",\"∇\":\"∇\",\"Δ\":\"Δ\",\"𝔇\":\"𝔇\",\"´\":\"´\",\"˙\":\"˙\",\"˝\":\"˝\",\"`\":\"`\",\"˜\":\"˜\",\"⋄\":\"⋄\",\"ⅆ\":\"ⅆ\",\"𝔻\":\"𝔻\",\"¨\":\"¨\",\"⃜\":\"⃜\",\"≐\":\"≐\",\"⇓\":\"⇓\",\"⇐\":\"⇐\",\"⇔\":\"⇔\",\"⟸\":\"⟸\",\"⟺\":\"⟺\",\"⟹\":\"⟹\",\"⇒\":\"⇒\",\"⊨\":\"⊨\",\"⇑\":\"⇑\",\"⇕\":\"⇕\",\"∥\":\"∥\",\"↓\":\"↓\",\"⤓\":\"⤓\",\"⇵\":\"⇵\",\"̑\":\"̑\",\"⥐\":\"⥐\",\"⥞\":\"⥞\",\"↽\":\"↽\",\"⥖\":\"⥖\",\"⥟\":\"⥟\",\"⇁\":\"⇁\",\"⥗\":\"⥗\",\"⊤\":\"⊤\",\"↧\":\"↧\",\"𝒟\":\"𝒟\",\"Đ\":\"Đ\",\"Ŋ\":\"Ŋ\",\"Ð\":\"Ð\",\"É\":\"É\",\"Ě\":\"Ě\",\"Ê\":\"Ê\",\"Э\":\"Э\",\"Ė\":\"Ė\",\"𝔈\":\"𝔈\",\"È\":\"È\",\"∈\":\"∈\",\"Ē\":\"Ē\",\"◻\":\"◻\",\"▫\":\"▫\",\"Ę\":\"Ę\",\"𝔼\":\"𝔼\",\"Ε\":\"Ε\",\"⩵\":\"⩵\",\"≂\":\"≂\",\"⇌\":\"⇌\",\"ℰ\":\"ℰ\",\"⩳\":\"⩳\",\"Η\":\"Η\",\"Ë\":\"Ë\",\"∃\":\"∃\",\"ⅇ\":\"ⅇ\",\"Ф\":\"Ф\",\"𝔉\":\"𝔉\",\"◼\":\"◼\",\"▪\":\"▪\",\"𝔽\":\"𝔽\",\"∀\":\"∀\",\"ℱ\":\"ℱ\",\"Ѓ\":\"Ѓ\",\">\":\">\",\"Γ\":\"Γ\",\"Ϝ\":\"Ϝ\",\"Ğ\":\"Ğ\",\"Ģ\":\"Ģ\",\"Ĝ\":\"Ĝ\",\"Г\":\"Г\",\"Ġ\":\"Ġ\",\"𝔊\":\"𝔊\",\"⋙\":\"⋙\",\"𝔾\":\"𝔾\",\"≥\":\"≥\",\"⋛\":\"⋛\",\"≧\":\"≧\",\"⪢\":\"⪢\",\"≷\":\"≷\",\"⩾\":\"⩾\",\"≳\":\"≳\",\"𝒢\":\"𝒢\",\"≫\":\"≫\",\"Ъ\":\"Ъ\",\"ˇ\":\"ˇ\",\"^\":\"^\",\"Ĥ\":\"Ĥ\",\"ℌ\":\"ℌ\",\"ℋ\":\"ℋ\",\"ℍ\":\"ℍ\",\"─\":\"─\",\"Ħ\":\"Ħ\",\"≏\":\"≏\",\"Е\":\"Е\",\"IJ\":\"IJ\",\"Ё\":\"Ё\",\"Í\":\"Í\",\"Î\":\"Î\",\"И\":\"И\",\"İ\":\"İ\",\"ℑ\":\"ℑ\",\"Ì\":\"Ì\",\"Ī\":\"Ī\",\"ⅈ\":\"ⅈ\",\"∬\":\"∬\",\"∫\":\"∫\",\"⋂\":\"⋂\",\"⁣\":\"⁣\",\"⁢\":\"⁢\",\"Į\":\"Į\",\"𝕀\":\"𝕀\",\"Ι\":\"Ι\",\"ℐ\":\"ℐ\",\"Ĩ\":\"Ĩ\",\"І\":\"І\",\"Ï\":\"Ï\",\"Ĵ\":\"Ĵ\",\"Й\":\"Й\",\"𝔍\":\"𝔍\",\"𝕁\":\"𝕁\",\"𝒥\":\"𝒥\",\"Ј\":\"Ј\",\"Є\":\"Є\",\"Х\":\"Х\",\"Ќ\":\"Ќ\",\"Κ\":\"Κ\",\"Ķ\":\"Ķ\",\"К\":\"К\",\"𝔎\":\"𝔎\",\"𝕂\":\"𝕂\",\"𝒦\":\"𝒦\",\"Љ\":\"Љ\",\"<\":\"<\",\"Ĺ\":\"Ĺ\",\"Λ\":\"Λ\",\"⟪\":\"⟪\",\"ℒ\":\"ℒ\",\"↞\":\"↞\",\"Ľ\":\"Ľ\",\"Ļ\":\"Ļ\",\"Л\":\"Л\",\"⟨\":\"⟨\",\"←\":\"←\",\"⇤\":\"⇤\",\"⇆\":\"⇆\",\"⌈\":\"⌈\",\"⟦\":\"⟦\",\"⥡\":\"⥡\",\"⇃\":\"⇃\",\"⥙\":\"⥙\",\"⌊\":\"⌊\",\"↔\":\"↔\",\"⥎\":\"⥎\",\"⊣\":\"⊣\",\"↤\":\"↤\",\"⥚\":\"⥚\",\"⊲\":\"⊲\",\"⧏\":\"⧏\",\"⊴\":\"⊴\",\"⥑\":\"⥑\",\"⥠\":\"⥠\",\"↿\":\"↿\",\"⥘\":\"⥘\",\"↼\":\"↼\",\"⥒\":\"⥒\",\"⋚\":\"⋚\",\"≦\":\"≦\",\"≶\":\"≶\",\"⪡\":\"⪡\",\"⩽\":\"⩽\",\"≲\":\"≲\",\"𝔏\":\"𝔏\",\"⋘\":\"⋘\",\"⇚\":\"⇚\",\"Ŀ\":\"Ŀ\",\"⟵\":\"⟵\",\"⟷\":\"⟷\",\"⟶\":\"⟶\",\"𝕃\":\"𝕃\",\"↙\":\"↙\",\"↘\":\"↘\",\"↰\":\"↰\",\"Ł\":\"Ł\",\"≪\":\"≪\",\"⤅\":\"⤅\",\"М\":\"М\",\" \":\" \",\"ℳ\":\"ℳ\",\"𝔐\":\"𝔐\",\"∓\":\"∓\",\"𝕄\":\"𝕄\",\"Μ\":\"Μ\",\"Њ\":\"Њ\",\"Ń\":\"Ń\",\"Ň\":\"Ň\",\"Ņ\":\"Ņ\",\"Н\":\"Н\",\"​\":\"​\",\"\\n\":\" \",\"𝔑\":\"𝔑\",\"⁠\":\"⁠\",\" \":\" \",\"ℕ\":\"ℕ\",\"⫬\":\"⫬\",\"≢\":\"≢\",\"≭\":\"≭\",\"∦\":\"∦\",\"∉\":\"∉\",\"≠\":\"≠\",\"≂̸\":\"≂̸\",\"∄\":\"∄\",\"≯\":\"≯\",\"≱\":\"≱\",\"≧̸\":\"≧̸\",\"≫̸\":\"≫̸\",\"≹\":\"≹\",\"⩾̸\":\"⩾̸\",\"≵\":\"≵\",\"≎̸\":\"≎̸\",\"≏̸\":\"≏̸\",\"⋪\":\"⋪\",\"⧏̸\":\"⧏̸\",\"⋬\":\"⋬\",\"≮\":\"≮\",\"≰\":\"≰\",\"≸\":\"≸\",\"≪̸\":\"≪̸\",\"⩽̸\":\"⩽̸\",\"≴\":\"≴\",\"⪢̸\":\"⪢̸\",\"⪡̸\":\"⪡̸\",\"⊀\":\"⊀\",\"⪯̸\":\"⪯̸\",\"⋠\":\"⋠\",\"∌\":\"∌\",\"⋫\":\"⋫\",\"⧐̸\":\"⧐̸\",\"⋭\":\"⋭\",\"⊏̸\":\"⊏̸\",\"⋢\":\"⋢\",\"⊐̸\":\"⊐̸\",\"⋣\":\"⋣\",\"⊂⃒\":\"⊂⃒\",\"⊈\":\"⊈\",\"⊁\":\"⊁\",\"⪰̸\":\"⪰̸\",\"⋡\":\"⋡\",\"≿̸\":\"≿̸\",\"⊃⃒\":\"⊃⃒\",\"⊉\":\"⊉\",\"≁\":\"≁\",\"≄\":\"≄\",\"≇\":\"≇\",\"≉\":\"≉\",\"∤\":\"∤\",\"𝒩\":\"𝒩\",\"Ñ\":\"Ñ\",\"Ν\":\"Ν\",\"Œ\":\"Œ\",\"Ó\":\"Ó\",\"Ô\":\"Ô\",\"О\":\"О\",\"Ő\":\"Ő\",\"𝔒\":\"𝔒\",\"Ò\":\"Ò\",\"Ō\":\"Ō\",\"Ω\":\"Ω\",\"Ο\":\"Ο\",\"𝕆\":\"𝕆\",\"“\":\"“\",\"‘\":\"‘\",\"⩔\":\"⩔\",\"𝒪\":\"𝒪\",\"Ø\":\"Ø\",\"Õ\":\"Õ\",\"⨷\":\"⨷\",\"Ö\":\"Ö\",\"‾\":\"‾\",\"⏞\":\"⏞\",\"⎴\":\"⎴\",\"⏜\":\"⏜\",\"∂\":\"∂\",\"П\":\"П\",\"𝔓\":\"𝔓\",\"Φ\":\"Φ\",\"Π\":\"Π\",\"±\":\"±\",\"ℙ\":\"ℙ\",\"⪻\":\"⪻\",\"≺\":\"≺\",\"⪯\":\"⪯\",\"≼\":\"≼\",\"≾\":\"≾\",\"″\":\"″\",\"∏\":\"∏\",\"∝\":\"∝\",\"𝒫\":\"𝒫\",\"Ψ\":\"Ψ\",'\"':\""\",\"𝔔\":\"𝔔\",\"ℚ\":\"ℚ\",\"𝒬\":\"𝒬\",\"⤐\":\"⤐\",\"®\":\"®\",\"Ŕ\":\"Ŕ\",\"⟫\":\"⟫\",\"↠\":\"↠\",\"⤖\":\"⤖\",\"Ř\":\"Ř\",\"Ŗ\":\"Ŗ\",\"Р\":\"Р\",\"ℜ\":\"ℜ\",\"∋\":\"∋\",\"⇋\":\"⇋\",\"⥯\":\"⥯\",\"Ρ\":\"Ρ\",\"⟩\":\"⟩\",\"→\":\"→\",\"⇥\":\"⇥\",\"⇄\":\"⇄\",\"⌉\":\"⌉\",\"⟧\":\"⟧\",\"⥝\":\"⥝\",\"⇂\":\"⇂\",\"⥕\":\"⥕\",\"⌋\":\"⌋\",\"⊢\":\"⊢\",\"↦\":\"↦\",\"⥛\":\"⥛\",\"⊳\":\"⊳\",\"⧐\":\"⧐\",\"⊵\":\"⊵\",\"⥏\":\"⥏\",\"⥜\":\"⥜\",\"↾\":\"↾\",\"⥔\":\"⥔\",\"⇀\":\"⇀\",\"⥓\":\"⥓\",\"ℝ\":\"ℝ\",\"⥰\":\"⥰\",\"⇛\":\"⇛\",\"ℛ\":\"ℛ\",\"↱\":\"↱\",\"⧴\":\"⧴\",\"Щ\":\"Щ\",\"Ш\":\"Ш\",\"Ь\":\"Ь\",\"Ś\":\"Ś\",\"⪼\":\"⪼\",\"Š\":\"Š\",\"Ş\":\"Ş\",\"Ŝ\":\"Ŝ\",\"С\":\"С\",\"𝔖\":\"𝔖\",\"↑\":\"↑\",\"Σ\":\"Σ\",\"∘\":\"∘\",\"𝕊\":\"𝕊\",\"√\":\"√\",\"□\":\"□\",\"⊓\":\"⊓\",\"⊏\":\"⊏\",\"⊑\":\"⊑\",\"⊐\":\"⊐\",\"⊒\":\"⊒\",\"⊔\":\"⊔\",\"𝒮\":\"𝒮\",\"⋆\":\"⋆\",\"⋐\":\"⋐\",\"⊆\":\"⊆\",\"≻\":\"≻\",\"⪰\":\"⪰\",\"≽\":\"≽\",\"≿\":\"≿\",\"∑\":\"∑\",\"⋑\":\"⋑\",\"⊃\":\"⊃\",\"⊇\":\"⊇\",\"Þ\":\"Þ\",\"™\":\"™\",\"Ћ\":\"Ћ\",\"Ц\":\"Ц\",\"\\t\":\" \",\"Τ\":\"Τ\",\"Ť\":\"Ť\",\"Ţ\":\"Ţ\",\"Т\":\"Т\",\"𝔗\":\"𝔗\",\"∴\":\"∴\",\"Θ\":\"Θ\",\"  \":\"  \",\" \":\" \",\"∼\":\"∼\",\"≃\":\"≃\",\"≅\":\"≅\",\"≈\":\"≈\",\"𝕋\":\"𝕋\",\"⃛\":\"⃛\",\"𝒯\":\"𝒯\",\"Ŧ\":\"Ŧ\",\"Ú\":\"Ú\",\"↟\":\"↟\",\"⥉\":\"⥉\",\"Ў\":\"Ў\",\"Ŭ\":\"Ŭ\",\"Û\":\"Û\",\"У\":\"У\",\"Ű\":\"Ű\",\"𝔘\":\"𝔘\",\"Ù\":\"Ù\",\"Ū\":\"Ū\",_:\"_\",\"⏟\":\"⏟\",\"⎵\":\"⎵\",\"⏝\":\"⏝\",\"⋃\":\"⋃\",\"⊎\":\"⊎\",\"Ų\":\"Ų\",\"𝕌\":\"𝕌\",\"⤒\":\"⤒\",\"⇅\":\"⇅\",\"↕\":\"↕\",\"⥮\":\"⥮\",\"⊥\":\"⊥\",\"↥\":\"↥\",\"↖\":\"↖\",\"↗\":\"↗\",\"ϒ\":\"ϒ\",\"Υ\":\"Υ\",\"Ů\":\"Ů\",\"𝒰\":\"𝒰\",\"Ũ\":\"Ũ\",\"Ü\":\"Ü\",\"⊫\":\"⊫\",\"⫫\":\"⫫\",\"В\":\"В\",\"⊩\":\"⊩\",\"⫦\":\"⫦\",\"⋁\":\"⋁\",\"‖\":\"‖\",\"∣\":\"∣\",\"|\":\"|\",\"❘\":\"❘\",\"≀\":\"≀\",\" \":\" \",\"𝔙\":\"𝔙\",\"𝕍\":\"𝕍\",\"𝒱\":\"𝒱\",\"⊪\":\"⊪\",\"Ŵ\":\"Ŵ\",\"⋀\":\"⋀\",\"𝔚\":\"𝔚\",\"𝕎\":\"𝕎\",\"𝒲\":\"𝒲\",\"𝔛\":\"𝔛\",\"Ξ\":\"Ξ\",\"𝕏\":\"𝕏\",\"𝒳\":\"𝒳\",\"Я\":\"Я\",\"Ї\":\"Ї\",\"Ю\":\"Ю\",\"Ý\":\"Ý\",\"Ŷ\":\"Ŷ\",\"Ы\":\"Ы\",\"𝔜\":\"𝔜\",\"𝕐\":\"𝕐\",\"𝒴\":\"𝒴\",\"Ÿ\":\"Ÿ\",\"Ж\":\"Ж\",\"Ź\":\"Ź\",\"Ž\":\"Ž\",\"З\":\"З\",\"Ż\":\"Ż\",\"Ζ\":\"Ζ\",\"ℨ\":\"ℨ\",\"ℤ\":\"ℤ\",\"𝒵\":\"𝒵\",\"á\":\"á\",\"ă\":\"ă\",\"∾\":\"∾\",\"∾̳\":\"∾̳\",\"∿\":\"∿\",\"â\":\"â\",\"а\":\"а\",\"æ\":\"æ\",\"𝔞\":\"𝔞\",\"à\":\"à\",\"ℵ\":\"ℵ\",\"α\":\"α\",\"ā\":\"ā\",\"⨿\":\"⨿\",\"∧\":\"∧\",\"⩕\":\"⩕\",\"⩜\":\"⩜\",\"⩘\":\"⩘\",\"⩚\":\"⩚\",\"∠\":\"∠\",\"⦤\":\"⦤\",\"∡\":\"∡\",\"⦨\":\"⦨\",\"⦩\":\"⦩\",\"⦪\":\"⦪\",\"⦫\":\"⦫\",\"⦬\":\"⦬\",\"⦭\":\"⦭\",\"⦮\":\"⦮\",\"⦯\":\"⦯\",\"∟\":\"∟\",\"⊾\":\"⊾\",\"⦝\":\"⦝\",\"∢\":\"∢\",\"⍼\":\"⍼\",\"ą\":\"ą\",\"𝕒\":\"𝕒\",\"⩰\":\"⩰\",\"⩯\":\"⩯\",\"≊\":\"≊\",\"≋\":\"≋\",\"'\":\"'\",\"å\":\"å\",\"𝒶\":\"𝒶\",\"*\":\"*\",\"ã\":\"ã\",\"ä\":\"ä\",\"⨑\":\"⨑\",\"⫭\":\"⫭\",\"≌\":\"≌\",\"϶\":\"϶\",\"‵\":\"‵\",\"∽\":\"∽\",\"⋍\":\"⋍\",\"⊽\":\"⊽\",\"⌅\":\"⌅\",\"⎶\":\"⎶\",\"б\":\"б\",\"„\":\"„\",\"⦰\":\"⦰\",\"β\":\"β\",\"ℶ\":\"ℶ\",\"≬\":\"≬\",\"𝔟\":\"𝔟\",\"◯\":\"◯\",\"⨀\":\"⨀\",\"⨁\":\"⨁\",\"⨂\":\"⨂\",\"⨆\":\"⨆\",\"★\":\"★\",\"▽\":\"▽\",\"△\":\"△\",\"⨄\":\"⨄\",\"⤍\":\"⤍\",\"⧫\":\"⧫\",\"▴\":\"▴\",\"▾\":\"▾\",\"◂\":\"◂\",\"▸\":\"▸\",\"␣\":\"␣\",\"▒\":\"▒\",\"░\":\"░\",\"▓\":\"▓\",\"█\":\"█\",\"=⃥\":\"=⃥\",\"≡⃥\":\"≡⃥\",\"⌐\":\"⌐\",\"𝕓\":\"𝕓\",\"⋈\":\"⋈\",\"╗\":\"╗\",\"╔\":\"╔\",\"╖\":\"╖\",\"╓\":\"╓\",\"═\":\"═\",\"╦\":\"╦\",\"╩\":\"╩\",\"╤\":\"╤\",\"╧\":\"╧\",\"╝\":\"╝\",\"╚\":\"╚\",\"╜\":\"╜\",\"╙\":\"╙\",\"║\":\"║\",\"╬\":\"╬\",\"╣\":\"╣\",\"╠\":\"╠\",\"╫\":\"╫\",\"╢\":\"╢\",\"╟\":\"╟\",\"⧉\":\"⧉\",\"╕\":\"╕\",\"╒\":\"╒\",\"┐\":\"┐\",\"┌\":\"┌\",\"╥\":\"╥\",\"╨\":\"╨\",\"┬\":\"┬\",\"┴\":\"┴\",\"⊟\":\"⊟\",\"⊞\":\"⊞\",\"⊠\":\"⊠\",\"╛\":\"╛\",\"╘\":\"╘\",\"┘\":\"┘\",\"└\":\"└\",\"│\":\"│\",\"╪\":\"╪\",\"╡\":\"╡\",\"╞\":\"╞\",\"┼\":\"┼\",\"┤\":\"┤\",\"├\":\"├\",\"¦\":\"¦\",\"𝒷\":\"𝒷\",\"⁏\":\"⁏\",\"\\\\\":\"\\",\"⧅\":\"⧅\",\"⟈\":\"⟈\",\"•\":\"•\",\"⪮\":\"⪮\",\"ć\":\"ć\",\"∩\":\"∩\",\"⩄\":\"⩄\",\"⩉\":\"⩉\",\"⩋\":\"⩋\",\"⩇\":\"⩇\",\"⩀\":\"⩀\",\"∩︀\":\"∩︀\",\"⁁\":\"⁁\",\"⩍\":\"⩍\",\"č\":\"č\",\"ç\":\"ç\",\"ĉ\":\"ĉ\",\"⩌\":\"⩌\",\"⩐\":\"⩐\",\"ċ\":\"ċ\",\"⦲\":\"⦲\",\"¢\":\"¢\",\"𝔠\":\"𝔠\",\"ч\":\"ч\",\"✓\":\"✓\",\"χ\":\"χ\",\"○\":\"○\",\"⧃\":\"⧃\",\"ˆ\":\"ˆ\",\"≗\":\"≗\",\"↺\":\"↺\",\"↻\":\"↻\",\"Ⓢ\":\"Ⓢ\",\"⊛\":\"⊛\",\"⊚\":\"⊚\",\"⊝\":\"⊝\",\"⨐\":\"⨐\",\"⫯\":\"⫯\",\"⧂\":\"⧂\",\"♣\":\"♣\",\":\":\":\",\",\":\",\",\"@\":\"@\",\"∁\":\"∁\",\"⩭\":\"⩭\",\"𝕔\":\"𝕔\",\"℗\":\"℗\",\"↵\":\"↵\",\"✗\":\"✗\",\"𝒸\":\"𝒸\",\"⫏\":\"⫏\",\"⫑\":\"⫑\",\"⫐\":\"⫐\",\"⫒\":\"⫒\",\"⋯\":\"⋯\",\"⤸\":\"⤸\",\"⤵\":\"⤵\",\"⋞\":\"⋞\",\"⋟\":\"⋟\",\"↶\":\"↶\",\"⤽\":\"⤽\",\"∪\":\"∪\",\"⩈\":\"⩈\",\"⩆\":\"⩆\",\"⩊\":\"⩊\",\"⊍\":\"⊍\",\"⩅\":\"⩅\",\"∪︀\":\"∪︀\",\"↷\":\"↷\",\"⤼\":\"⤼\",\"⋎\":\"⋎\",\"⋏\":\"⋏\",\"¤\":\"¤\",\"∱\":\"∱\",\"⌭\":\"⌭\",\"⥥\":\"⥥\",\"†\":\"†\",\"ℸ\":\"ℸ\",\"‐\":\"‐\",\"⤏\":\"⤏\",\"ď\":\"ď\",\"д\":\"д\",\"⇊\":\"⇊\",\"⩷\":\"⩷\",\"°\":\"°\",\"δ\":\"δ\",\"⦱\":\"⦱\",\"⥿\":\"⥿\",\"𝔡\":\"𝔡\",\"♦\":\"♦\",\"ϝ\":\"ϝ\",\"⋲\":\"⋲\",\"÷\":\"÷\",\"⋇\":\"⋇\",\"ђ\":\"ђ\",\"⌞\":\"⌞\",\"⌍\":\"⌍\",$:\"$\",\"𝕕\":\"𝕕\",\"≑\":\"≑\",\"∸\":\"∸\",\"∔\":\"∔\",\"⊡\":\"⊡\",\"⌟\":\"⌟\",\"⌌\":\"⌌\",\"𝒹\":\"𝒹\",\"ѕ\":\"ѕ\",\"⧶\":\"⧶\",\"đ\":\"đ\",\"⋱\":\"⋱\",\"▿\":\"▿\",\"⦦\":\"⦦\",\"џ\":\"џ\",\"⟿\":\"⟿\",\"é\":\"é\",\"⩮\":\"⩮\",\"ě\":\"ě\",\"≖\":\"≖\",\"ê\":\"ê\",\"≕\":\"≕\",\"э\":\"э\",\"ė\":\"ė\",\"≒\":\"≒\",\"𝔢\":\"𝔢\",\"⪚\":\"⪚\",\"è\":\"è\",\"⪖\":\"⪖\",\"⪘\":\"⪘\",\"⪙\":\"⪙\",\"⏧\":\"⏧\",\"ℓ\":\"ℓ\",\"⪕\":\"⪕\",\"⪗\":\"⪗\",\"ē\":\"ē\",\"∅\":\"∅\",\" \":\" \",\" \":\" \",\" \":\" \",\"ŋ\":\"ŋ\",\" \":\" \",\"ę\":\"ę\",\"𝕖\":\"𝕖\",\"⋕\":\"⋕\",\"⧣\":\"⧣\",\"⩱\":\"⩱\",\"ε\":\"ε\",\"ϵ\":\"ϵ\",\"=\":\"=\",\"≟\":\"≟\",\"⩸\":\"⩸\",\"⧥\":\"⧥\",\"≓\":\"≓\",\"⥱\":\"⥱\",\"ℯ\":\"ℯ\",\"η\":\"η\",\"ð\":\"ð\",\"ë\":\"ë\",\"€\":\"€\",\"!\":\"!\",\"ф\":\"ф\",\"♀\":\"♀\",\"ffi\":\"ffi\",\"ff\":\"ff\",\"ffl\":\"ffl\",\"𝔣\":\"𝔣\",\"fi\":\"fi\",fj:\"fj\",\"♭\":\"♭\",\"fl\":\"fl\",\"▱\":\"▱\",\"ƒ\":\"ƒ\",\"𝕗\":\"𝕗\",\"⋔\":\"⋔\",\"⫙\":\"⫙\",\"⨍\":\"⨍\",\"½\":\"½\",\"⅓\":\"⅓\",\"¼\":\"¼\",\"⅕\":\"⅕\",\"⅙\":\"⅙\",\"⅛\":\"⅛\",\"⅔\":\"⅔\",\"⅖\":\"⅖\",\"¾\":\"¾\",\"⅗\":\"⅗\",\"⅜\":\"⅜\",\"⅘\":\"⅘\",\"⅚\":\"⅚\",\"⅝\":\"⅝\",\"⅞\":\"⅞\",\"⁄\":\"⁄\",\"⌢\":\"⌢\",\"𝒻\":\"𝒻\",\"⪌\":\"⪌\",\"ǵ\":\"ǵ\",\"γ\":\"γ\",\"⪆\":\"⪆\",\"ğ\":\"ğ\",\"ĝ\":\"ĝ\",\"г\":\"г\",\"ġ\":\"ġ\",\"⪩\":\"⪩\",\"⪀\":\"⪀\",\"⪂\":\"⪂\",\"⪄\":\"⪄\",\"⋛︀\":\"⋛︀\",\"⪔\":\"⪔\",\"𝔤\":\"𝔤\",\"ℷ\":\"ℷ\",\"ѓ\":\"ѓ\",\"⪒\":\"⪒\",\"⪥\":\"⪥\",\"⪤\":\"⪤\",\"≩\":\"≩\",\"⪊\":\"⪊\",\"⪈\":\"⪈\",\"⋧\":\"⋧\",\"𝕘\":\"𝕘\",\"ℊ\":\"ℊ\",\"⪎\":\"⪎\",\"⪐\":\"⪐\",\"⪧\":\"⪧\",\"⩺\":\"⩺\",\"⋗\":\"⋗\",\"⦕\":\"⦕\",\"⩼\":\"⩼\",\"⥸\":\"⥸\",\"≩︀\":\"≩︀\",\"ъ\":\"ъ\",\"⥈\":\"⥈\",\"↭\":\"↭\",\"ℏ\":\"ℏ\",\"ĥ\":\"ĥ\",\"♥\":\"♥\",\"…\":\"…\",\"⊹\":\"⊹\",\"𝔥\":\"𝔥\",\"⤥\":\"⤥\",\"⤦\":\"⤦\",\"⇿\":\"⇿\",\"∻\":\"∻\",\"↩\":\"↩\",\"↪\":\"↪\",\"𝕙\":\"𝕙\",\"―\":\"―\",\"𝒽\":\"𝒽\",\"ħ\":\"ħ\",\"⁃\":\"⁃\",\"í\":\"í\",\"î\":\"î\",\"и\":\"и\",\"е\":\"е\",\"¡\":\"¡\",\"𝔦\":\"𝔦\",\"ì\":\"ì\",\"⨌\":\"⨌\",\"∭\":\"∭\",\"⧜\":\"⧜\",\"℩\":\"℩\",\"ij\":\"ij\",\"ī\":\"ī\",\"ı\":\"ı\",\"⊷\":\"⊷\",\"Ƶ\":\"Ƶ\",\"℅\":\"℅\",\"∞\":\"∞\",\"⧝\":\"⧝\",\"⊺\":\"⊺\",\"⨗\":\"⨗\",\"⨼\":\"⨼\",\"ё\":\"ё\",\"į\":\"į\",\"𝕚\":\"𝕚\",\"ι\":\"ι\",\"¿\":\"¿\",\"𝒾\":\"𝒾\",\"⋹\":\"⋹\",\"⋵\":\"⋵\",\"⋴\":\"⋴\",\"⋳\":\"⋳\",\"ĩ\":\"ĩ\",\"і\":\"і\",\"ï\":\"ï\",\"ĵ\":\"ĵ\",\"й\":\"й\",\"𝔧\":\"𝔧\",\"ȷ\":\"ȷ\",\"𝕛\":\"𝕛\",\"𝒿\":\"𝒿\",\"ј\":\"ј\",\"є\":\"є\",\"κ\":\"κ\",\"ϰ\":\"ϰ\",\"ķ\":\"ķ\",\"к\":\"к\",\"𝔨\":\"𝔨\",\"ĸ\":\"ĸ\",\"х\":\"х\",\"ќ\":\"ќ\",\"𝕜\":\"𝕜\",\"𝓀\":\"𝓀\",\"⤛\":\"⤛\",\"⤎\":\"⤎\",\"⪋\":\"⪋\",\"⥢\":\"⥢\",\"ĺ\":\"ĺ\",\"⦴\":\"⦴\",\"λ\":\"λ\",\"⦑\":\"⦑\",\"⪅\":\"⪅\",\"«\":\"«\",\"⤟\":\"⤟\",\"⤝\":\"⤝\",\"↫\":\"↫\",\"⤹\":\"⤹\",\"⥳\":\"⥳\",\"↢\":\"↢\",\"⪫\":\"⪫\",\"⤙\":\"⤙\",\"⪭\":\"⪭\",\"⪭︀\":\"⪭︀\",\"⤌\":\"⤌\",\"❲\":\"❲\",\"{\":\"{\",\"[\":\"[\",\"⦋\":\"⦋\",\"⦏\":\"⦏\",\"⦍\":\"⦍\",\"ľ\":\"ľ\",\"ļ\":\"ļ\",\"л\":\"л\",\"⤶\":\"⤶\",\"⥧\":\"⥧\",\"⥋\":\"⥋\",\"↲\":\"↲\",\"≤\":\"≤\",\"⇇\":\"⇇\",\"⋋\":\"⋋\",\"⪨\":\"⪨\",\"⩿\":\"⩿\",\"⪁\":\"⪁\",\"⪃\":\"⪃\",\"⋚︀\":\"⋚︀\",\"⪓\":\"⪓\",\"⋖\":\"⋖\",\"⥼\":\"⥼\",\"𝔩\":\"𝔩\",\"⪑\":\"⪑\",\"⥪\":\"⥪\",\"▄\":\"▄\",\"љ\":\"љ\",\"⥫\":\"⥫\",\"◺\":\"◺\",\"ŀ\":\"ŀ\",\"⎰\":\"⎰\",\"≨\":\"≨\",\"⪉\":\"⪉\",\"⪇\":\"⪇\",\"⋦\":\"⋦\",\"⟬\":\"⟬\",\"⇽\":\"⇽\",\"⟼\":\"⟼\",\"↬\":\"↬\",\"⦅\":\"⦅\",\"𝕝\":\"𝕝\",\"⨭\":\"⨭\",\"⨴\":\"⨴\",\"∗\":\"∗\",\"◊\":\"◊\",\"(\":\"(\",\"⦓\":\"⦓\",\"⥭\":\"⥭\",\"‎\":\"‎\",\"⊿\":\"⊿\",\"‹\":\"‹\",\"𝓁\":\"𝓁\",\"⪍\":\"⪍\",\"⪏\":\"⪏\",\"‚\":\"‚\",\"ł\":\"ł\",\"⪦\":\"⪦\",\"⩹\":\"⩹\",\"⋉\":\"⋉\",\"⥶\":\"⥶\",\"⩻\":\"⩻\",\"⦖\":\"⦖\",\"◃\":\"◃\",\"⥊\":\"⥊\",\"⥦\":\"⥦\",\"≨︀\":\"≨︀\",\"∺\":\"∺\",\"¯\":\"¯\",\"♂\":\"♂\",\"✠\":\"✠\",\"▮\":\"▮\",\"⨩\":\"⨩\",\"м\":\"м\",\"—\":\"—\",\"𝔪\":\"𝔪\",\"℧\":\"℧\",\"µ\":\"µ\",\"⫰\":\"⫰\",\"−\":\"−\",\"⨪\":\"⨪\",\"⫛\":\"⫛\",\"⊧\":\"⊧\",\"𝕞\":\"𝕞\",\"𝓂\":\"𝓂\",\"μ\":\"μ\",\"⊸\":\"⊸\",\"⋙̸\":\"⋙̸\",\"≫⃒\":\"≫⃒\",\"⇍\":\"⇍\",\"⇎\":\"⇎\",\"⋘̸\":\"⋘̸\",\"≪⃒\":\"≪⃒\",\"⇏\":\"⇏\",\"⊯\":\"⊯\",\"⊮\":\"⊮\",\"ń\":\"ń\",\"∠⃒\":\"∠⃒\",\"⩰̸\":\"⩰̸\",\"≋̸\":\"≋̸\",\"ʼn\":\"ʼn\",\"♮\":\"♮\",\"⩃\":\"⩃\",\"ň\":\"ň\",\"ņ\":\"ņ\",\"⩭̸\":\"⩭̸\",\"⩂\":\"⩂\",\"н\":\"н\",\"–\":\"–\",\"⇗\":\"⇗\",\"⤤\":\"⤤\",\"≐̸\":\"≐̸\",\"⤨\":\"⤨\",\"𝔫\":\"𝔫\",\"↮\":\"↮\",\"⫲\":\"⫲\",\"⋼\":\"⋼\",\"⋺\":\"⋺\",\"њ\":\"њ\",\"≦̸\":\"≦̸\",\"↚\":\"↚\",\"‥\":\"‥\",\"𝕟\":\"𝕟\",\"¬\":\"¬\",\"⋹̸\":\"⋹̸\",\"⋵̸\":\"⋵̸\",\"⋷\":\"⋷\",\"⋶\":\"⋶\",\"⋾\":\"⋾\",\"⋽\":\"⋽\",\"⫽⃥\":\"⫽⃥\",\"∂̸\":\"∂̸\",\"⨔\":\"⨔\",\"↛\":\"↛\",\"⤳̸\":\"⤳̸\",\"↝̸\":\"↝̸\",\"𝓃\":\"𝓃\",\"⊄\":\"⊄\",\"⫅̸\":\"⫅̸\",\"⊅\":\"⊅\",\"⫆̸\":\"⫆̸\",\"ñ\":\"ñ\",\"ν\":\"ν\",\"#\":\"#\",\"№\":\"№\",\" \":\" \",\"⊭\":\"⊭\",\"⤄\":\"⤄\",\"≍⃒\":\"≍⃒\",\"⊬\":\"⊬\",\"≥⃒\":\"≥⃒\",\">⃒\":\">⃒\",\"⧞\":\"⧞\",\"⤂\":\"⤂\",\"≤⃒\":\"≤⃒\",\"<⃒\":\"<⃒\",\"⊴⃒\":\"⊴⃒\",\"⤃\":\"⤃\",\"⊵⃒\":\"⊵⃒\",\"∼⃒\":\"∼⃒\",\"⇖\":\"⇖\",\"⤣\":\"⤣\",\"⤧\":\"⤧\",\"ó\":\"ó\",\"ô\":\"ô\",\"о\":\"о\",\"ő\":\"ő\",\"⨸\":\"⨸\",\"⦼\":\"⦼\",\"œ\":\"œ\",\"⦿\":\"⦿\",\"𝔬\":\"𝔬\",\"˛\":\"˛\",\"ò\":\"ò\",\"⧁\":\"⧁\",\"⦵\":\"⦵\",\"⦾\":\"⦾\",\"⦻\":\"⦻\",\"⧀\":\"⧀\",\"ō\":\"ō\",\"ω\":\"ω\",\"ο\":\"ο\",\"⦶\":\"⦶\",\"𝕠\":\"𝕠\",\"⦷\":\"⦷\",\"⦹\":\"⦹\",\"∨\":\"∨\",\"⩝\":\"⩝\",\"ℴ\":\"ℴ\",\"ª\":\"ª\",\"º\":\"º\",\"⊶\":\"⊶\",\"⩖\":\"⩖\",\"⩗\":\"⩗\",\"⩛\":\"⩛\",\"ø\":\"ø\",\"⊘\":\"⊘\",\"õ\":\"õ\",\"⨶\":\"⨶\",\"ö\":\"ö\",\"⌽\":\"⌽\",\"¶\":\"¶\",\"⫳\":\"⫳\",\"⫽\":\"⫽\",\"п\":\"п\",\"%\":\"%\",\".\":\".\",\"‰\":\"‰\",\"‱\":\"‱\",\"𝔭\":\"𝔭\",\"φ\":\"φ\",\"ϕ\":\"ϕ\",\"☎\":\"☎\",\"π\":\"π\",\"ϖ\":\"ϖ\",\"ℎ\":\"ℎ\",\"+\":\"+\",\"⨣\":\"⨣\",\"⨢\":\"⨢\",\"⨥\":\"⨥\",\"⩲\":\"⩲\",\"⨦\":\"⨦\",\"⨧\":\"⨧\",\"⨕\":\"⨕\",\"𝕡\":\"𝕡\",\"£\":\"£\",\"⪳\":\"⪳\",\"⪷\":\"⪷\",\"⪹\":\"⪹\",\"⪵\":\"⪵\",\"⋨\":\"⋨\",\"′\":\"′\",\"⌮\":\"⌮\",\"⌒\":\"⌒\",\"⌓\":\"⌓\",\"⊰\":\"⊰\",\"𝓅\":\"𝓅\",\"ψ\":\"ψ\",\" \":\" \",\"𝔮\":\"𝔮\",\"𝕢\":\"𝕢\",\"⁗\":\"⁗\",\"𝓆\":\"𝓆\",\"⨖\":\"⨖\",\"?\":\"?\",\"⤜\":\"⤜\",\"⥤\":\"⥤\",\"∽̱\":\"∽̱\",\"ŕ\":\"ŕ\",\"⦳\":\"⦳\",\"⦒\":\"⦒\",\"⦥\":\"⦥\",\"»\":\"»\",\"⥵\":\"⥵\",\"⤠\":\"⤠\",\"⤳\":\"⤳\",\"⤞\":\"⤞\",\"⥅\":\"⥅\",\"⥴\":\"⥴\",\"↣\":\"↣\",\"↝\":\"↝\",\"⤚\":\"⤚\",\"∶\":\"∶\",\"❳\":\"❳\",\"}\":\"}\",\"]\":\"]\",\"⦌\":\"⦌\",\"⦎\":\"⦎\",\"⦐\":\"⦐\",\"ř\":\"ř\",\"ŗ\":\"ŗ\",\"р\":\"р\",\"⤷\":\"⤷\",\"⥩\":\"⥩\",\"↳\":\"↳\",\"▭\":\"▭\",\"⥽\":\"⥽\",\"𝔯\":\"𝔯\",\"⥬\":\"⥬\",\"ρ\":\"ρ\",\"ϱ\":\"ϱ\",\"⇉\":\"⇉\",\"⋌\":\"⋌\",\"˚\":\"˚\",\"‏\":\"‏\",\"⎱\":\"⎱\",\"⫮\":\"⫮\",\"⟭\":\"⟭\",\"⇾\":\"⇾\",\"⦆\":\"⦆\",\"𝕣\":\"𝕣\",\"⨮\":\"⨮\",\"⨵\":\"⨵\",\")\":\")\",\"⦔\":\"⦔\",\"⨒\":\"⨒\",\"›\":\"›\",\"𝓇\":\"𝓇\",\"⋊\":\"⋊\",\"▹\":\"▹\",\"⧎\":\"⧎\",\"⥨\":\"⥨\",\"℞\":\"℞\",\"ś\":\"ś\",\"⪴\":\"⪴\",\"⪸\":\"⪸\",\"š\":\"š\",\"ş\":\"ş\",\"ŝ\":\"ŝ\",\"⪶\":\"⪶\",\"⪺\":\"⪺\",\"⋩\":\"⋩\",\"⨓\":\"⨓\",\"с\":\"с\",\"⋅\":\"⋅\",\"⩦\":\"⩦\",\"⇘\":\"⇘\",\"§\":\"§\",\";\":\";\",\"⤩\":\"⤩\",\"✶\":\"✶\",\"𝔰\":\"𝔰\",\"♯\":\"♯\",\"щ\":\"щ\",\"ш\":\"ш\",\"­\":\"­\",\"σ\":\"σ\",\"ς\":\"ς\",\"⩪\":\"⩪\",\"⪞\":\"⪞\",\"⪠\":\"⪠\",\"⪝\":\"⪝\",\"⪟\":\"⪟\",\"≆\":\"≆\",\"⨤\":\"⨤\",\"⥲\":\"⥲\",\"⨳\":\"⨳\",\"⧤\":\"⧤\",\"⌣\":\"⌣\",\"⪪\":\"⪪\",\"⪬\":\"⪬\",\"⪬︀\":\"⪬︀\",\"ь\":\"ь\",\"/\":\"/\",\"⧄\":\"⧄\",\"⌿\":\"⌿\",\"𝕤\":\"𝕤\",\"♠\":\"♠\",\"⊓︀\":\"⊓︀\",\"⊔︀\":\"⊔︀\",\"𝓈\":\"𝓈\",\"☆\":\"☆\",\"⊂\":\"⊂\",\"⫅\":\"⫅\",\"⪽\":\"⪽\",\"⫃\":\"⫃\",\"⫁\":\"⫁\",\"⫋\":\"⫋\",\"⊊\":\"⊊\",\"⪿\":\"⪿\",\"⥹\":\"⥹\",\"⫇\":\"⫇\",\"⫕\":\"⫕\",\"⫓\":\"⫓\",\"♪\":\"♪\",\"¹\":\"¹\",\"²\":\"²\",\"³\":\"³\",\"⫆\":\"⫆\",\"⪾\":\"⪾\",\"⫘\":\"⫘\",\"⫄\":\"⫄\",\"⟉\":\"⟉\",\"⫗\":\"⫗\",\"⥻\":\"⥻\",\"⫂\":\"⫂\",\"⫌\":\"⫌\",\"⊋\":\"⊋\",\"⫀\":\"⫀\",\"⫈\":\"⫈\",\"⫔\":\"⫔\",\"⫖\":\"⫖\",\"⇙\":\"⇙\",\"⤪\":\"⤪\",\"ß\":\"ß\",\"⌖\":\"⌖\",\"τ\":\"τ\",\"ť\":\"ť\",\"ţ\":\"ţ\",\"т\":\"т\",\"⌕\":\"⌕\",\"𝔱\":\"𝔱\",\"θ\":\"θ\",\"ϑ\":\"ϑ\",\"þ\":\"þ\",\"×\":\"×\",\"⨱\":\"⨱\",\"⨰\":\"⨰\",\"⌶\":\"⌶\",\"⫱\":\"⫱\",\"𝕥\":\"𝕥\",\"⫚\":\"⫚\",\"‴\":\"‴\",\"▵\":\"▵\",\"≜\":\"≜\",\"◬\":\"◬\",\"⨺\":\"⨺\",\"⨹\":\"⨹\",\"⧍\":\"⧍\",\"⨻\":\"⨻\",\"⏢\":\"⏢\",\"𝓉\":\"𝓉\",\"ц\":\"ц\",\"ћ\":\"ћ\",\"ŧ\":\"ŧ\",\"⥣\":\"⥣\",\"ú\":\"ú\",\"ў\":\"ў\",\"ŭ\":\"ŭ\",\"û\":\"û\",\"у\":\"у\",\"ű\":\"ű\",\"⥾\":\"⥾\",\"𝔲\":\"𝔲\",\"ù\":\"ù\",\"▀\":\"▀\",\"⌜\":\"⌜\",\"⌏\":\"⌏\",\"◸\":\"◸\",\"ū\":\"ū\",\"ų\":\"ų\",\"𝕦\":\"𝕦\",\"υ\":\"υ\",\"⇈\":\"⇈\",\"⌝\":\"⌝\",\"⌎\":\"⌎\",\"ů\":\"ů\",\"◹\":\"◹\",\"𝓊\":\"𝓊\",\"⋰\":\"⋰\",\"ũ\":\"ũ\",\"ü\":\"ü\",\"⦧\":\"⦧\",\"⫨\":\"⫨\",\"⫩\":\"⫩\",\"⦜\":\"⦜\",\"⊊︀\":\"⊊︀\",\"⫋︀\":\"⫋︀\",\"⊋︀\":\"⊋︀\",\"⫌︀\":\"⫌︀\",\"в\":\"в\",\"⊻\":\"⊻\",\"≚\":\"≚\",\"⋮\":\"⋮\",\"𝔳\":\"𝔳\",\"𝕧\":\"𝕧\",\"𝓋\":\"𝓋\",\"⦚\":\"⦚\",\"ŵ\":\"ŵ\",\"⩟\":\"⩟\",\"≙\":\"≙\",\"℘\":\"℘\",\"𝔴\":\"𝔴\",\"𝕨\":\"𝕨\",\"𝓌\":\"𝓌\",\"𝔵\":\"𝔵\",\"ξ\":\"ξ\",\"⋻\":\"⋻\",\"𝕩\":\"𝕩\",\"𝓍\":\"𝓍\",\"ý\":\"ý\",\"я\":\"я\",\"ŷ\":\"ŷ\",\"ы\":\"ы\",\"¥\":\"¥\",\"𝔶\":\"𝔶\",\"ї\":\"ї\",\"𝕪\":\"𝕪\",\"𝓎\":\"𝓎\",\"ю\":\"ю\",\"ÿ\":\"ÿ\",\"ź\":\"ź\",\"ž\":\"ž\",\"з\":\"з\",\"ż\":\"ż\",\"ζ\":\"ζ\",\"𝔷\":\"𝔷\",\"ж\":\"ж\",\"⇝\":\"⇝\",\"𝕫\":\"𝕫\",\"𝓏\":\"𝓏\",\"‍\":\"‍\",\"‌\":\"‌\"}}};","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});exports.fromCodePoint=String.fromCodePoint||function(astralCodePoint){return String.fromCharCode(Math.floor((astralCodePoint-65536)/1024)+55296,(astralCodePoint-65536)%1024+56320)};exports.getCodePoint=String.prototype.codePointAt?function(input,position){return input.codePointAt(position)}:function(input,position){return(input.charCodeAt(position)-55296)*1024+input.charCodeAt(position+1)-56320+65536};exports.highSurrogateFrom=55296;exports.highSurrogateTo=56319;","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = self.fetch || (self.fetch = require('unfetch').default || require('unfetch'));\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\nmodule.exports = mapKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nmodule.exports = snakeCase;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","import lottie from \"lottie-web\";\nimport React, { useEffect, useRef, useState, } from \"react\";\nconst useLottie = (props, style) => {\n const { animationData, loop, autoplay, initialSegment, onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy, \n // Specified here to take them out from the 'rest'\n lottieRef, renderer, name, assetsPath, rendererSettings, \n // TODO: find a better way to extract the html props to avoid specifying\n // all the props that we want to exclude (as you can see above)\n ...rest } = props;\n const [animationLoaded, setAnimationLoaded] = useState(false);\n const animationInstanceRef = useRef();\n const animationContainer = useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n const play = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n const stop = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n const pause = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n const setSpeed = (speed) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n const goToAndPlay = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n const goToAndStop = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n const setDirection = (direction) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n const playSegments = (segments, forceFlag) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n const setSubframe = (useSubFrames) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n const getDuration = (inFrames) => { var _a; return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames); };\n /**\n * Destroy animation\n */\n const destroy = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n const loadAnimation = (forcedConfigs = {}) => {\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n const config = {\n ...props,\n ...forcedConfigs,\n container: animationContainer.current,\n };\n // Save the animation instance\n animationInstanceRef.current = lottie.loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n useEffect(() => {\n const onUnmount = loadAnimation();\n // Clean up on unmount\n return () => onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] ||\n animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n useEffect(() => {\n const partialListeners = [\n { name: \"complete\", handler: onComplete },\n { name: \"loopComplete\", handler: onLoopComplete },\n { name: \"enterFrame\", handler: onEnterFrame },\n { name: \"segmentStart\", handler: onSegmentStart },\n { name: \"config_ready\", handler: onConfigReady },\n { name: \"data_ready\", handler: onDataReady },\n { name: \"data_failed\", handler: onDataFailed },\n { name: \"loaded_images\", handler: onLoadedImages },\n { name: \"DOMLoaded\", handler: onDOMLoaded },\n { name: \"destroy\", handler: onDestroy },\n ];\n const listeners = partialListeners.filter((listener) => listener.handler != null);\n if (!listeners.length) {\n return;\n }\n const deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n (listener) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return () => {\n deregisterList.forEach((deregister) => deregister());\n };\n }, [\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n onConfigReady,\n onDataReady,\n onDataFailed,\n onLoadedImages,\n onDOMLoaded,\n onDestroy,\n ]);\n /**\n * Build the animation view\n */\n const View = React.createElement(\"div\", { style: style, ref: animationContainer, ...rest });\n return {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef: animationContainer,\n animationLoaded,\n animationItem: animationInstanceRef.current,\n };\n};\nexport default useLottie;\n","import { useEffect } from \"react\";\n// helpers\nexport function getContainerVisibility(container) {\n const { top, height } = container.getBoundingClientRect();\n const current = window.innerHeight - top;\n const max = window.innerHeight + height;\n return current / max;\n}\nexport function getContainerCursorPosition(container, cursorX, cursorY) {\n const { top, left, width, height } = container.getBoundingClientRect();\n const x = (cursorX - left) / width;\n const y = (cursorY - top) / height;\n return { x, y };\n}\nexport const useInitInteractivity = ({ wrapperRef, animationItem, mode, actions, }) => {\n useEffect(() => {\n const wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n const scrollModeHandler = () => {\n let assignedSegment = null;\n const scrollHandler = () => {\n const currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ visibility }) => visibility &&\n currentPercent >= visibility[0] &&\n currentPercent <= visibility[1]);\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" &&\n action.visibility &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const frameToGo = action.frames[0] +\n Math.ceil(((currentPercent - action.visibility[0]) /\n (action.visibility[1] - action.visibility[0])) *\n action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return () => {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n const cursorModeHandler = () => {\n const handleCursor = (_x, _y) => {\n let x = _x;\n let y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n const pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ position }) => {\n if (position &&\n Array.isArray(position.x) &&\n Array.isArray(position.y)) {\n return (x >= position.x[0] &&\n x <= position.x[1] &&\n y >= position.y[0] &&\n y <= position.y[1]);\n }\n if (position &&\n !Number.isNaN(position.x) &&\n !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" &&\n action.position &&\n Array.isArray(action.position.x) &&\n Array.isArray(action.position.y) &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const xPercent = (x - action.position.x[0]) /\n (action.position.x[1] - action.position.x[0]);\n const yPercent = (y - action.position.y[0]) /\n (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil(((xPercent + yPercent) / 2) *\n (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n const mouseMoveHandler = (ev) => {\n handleCursor(ev.clientX, ev.clientY);\n };\n const mouseOutHandler = () => {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return () => {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n};\nconst useLottieInteractivity = ({ actions, mode, lottieObj, }) => {\n const { animationItem, View, animationContainerRef } = lottieObj;\n useInitInteractivity({\n actions,\n animationItem,\n mode,\n wrapperRef: animationContainerRef,\n });\n return View;\n};\nexport default useLottieInteractivity;\n","import { useEffect } from \"react\";\nimport useLottie from \"../hooks/useLottie\";\nimport useLottieInteractivity from \"../hooks/useLottieInteractivity\";\nconst Lottie = (props) => {\n var _a, _b, _c;\n const { style, interactivity, ...lottieProps } = props;\n /**\n * Initialize the 'useLottie' hook\n */\n const { View, play, stop, pause, setSpeed, goToAndStop, goToAndPlay, setDirection, playSegments, setSubframe, getDuration, destroy, animationContainerRef, animationLoaded, animationItem, } = useLottie(lottieProps, style);\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n useEffect(() => {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play,\n stop,\n pause,\n setSpeed,\n goToAndPlay,\n goToAndStop,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\",\n });\n};\nexport default Lottie;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n global.numeral = factory();\n }\n}(this, function () {\n /************************************\n Variables\n ************************************/\n\n var numeral,\n _,\n VERSION = '2.0.6',\n formats = {},\n locales = {},\n defaults = {\n currentLocale: 'en',\n zeroFormat: null,\n nullFormat: null,\n defaultFormat: '0,0',\n scalePercentBy100: true\n },\n options = {\n currentLocale: defaults.currentLocale,\n zeroFormat: defaults.zeroFormat,\n nullFormat: defaults.nullFormat,\n defaultFormat: defaults.defaultFormat,\n scalePercentBy100: defaults.scalePercentBy100\n };\n\n\n /************************************\n Constructors\n ************************************/\n\n // Numeral prototype object\n function Numeral(input, number) {\n this._input = input;\n\n this._value = number;\n }\n\n numeral = function(input) {\n var value,\n kind,\n unformatFunction,\n regexp;\n\n if (numeral.isNumeral(input)) {\n value = input.value();\n } else if (input === 0 || typeof input === 'undefined') {\n value = 0;\n } else if (input === null || _.isNaN(input)) {\n value = null;\n } else if (typeof input === 'string') {\n if (options.zeroFormat && input === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n for (kind in formats) {\n regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n if (regexp && input.match(regexp)) {\n unformatFunction = formats[kind].unformat;\n\n break;\n }\n }\n\n unformatFunction = unformatFunction || numeral._.stringToNumber;\n\n value = unformatFunction(input);\n }\n } else {\n value = Number(input)|| null;\n }\n\n return new Numeral(input, value);\n };\n\n // version number\n numeral.version = VERSION;\n\n // compare numeral object\n numeral.isNumeral = function(obj) {\n return obj instanceof Numeral;\n };\n\n // helper functions\n numeral._ = _ = {\n // formats numbers separators, decimals places, signs, abbreviations\n numberToFormat: function(value, format, roundingFunction) {\n var locale = locales[numeral.options.currentLocale],\n negP = false,\n optDec = false,\n leadingCount = 0,\n abbr = '',\n trillion = 1000000000000,\n billion = 1000000000,\n million = 1000000,\n thousand = 1000,\n decimal = '',\n neg = false,\n abbrForce, // force abbreviation\n abs,\n min,\n max,\n power,\n int,\n precision,\n signed,\n thousands,\n output;\n\n // make sure we never format a null value\n value = value || 0;\n\n abs = Math.abs(value);\n\n // see if we should use parentheses for negative number or if we should prefix with a sign\n // if both are present we default to parentheses\n if (numeral._.includes(format, '(')) {\n negP = true;\n format = format.replace(/[\\(|\\)]/g, '');\n } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n format = format.replace(/[\\+|\\-]/g, '');\n }\n\n // see if abbreviation is wanted\n if (numeral._.includes(format, 'a')) {\n abbrForce = format.match(/a(k|m|b|t)?/);\n\n abbrForce = abbrForce ? abbrForce[1] : false;\n\n // check for space before abbreviation\n if (numeral._.includes(format, ' a')) {\n abbr = ' ';\n }\n\n format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n if (abs >= trillion && !abbrForce || abbrForce === 't') {\n // trillion\n abbr += locale.abbreviations.trillion;\n value = value / trillion;\n } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n // billion\n abbr += locale.abbreviations.billion;\n value = value / billion;\n } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n // million\n abbr += locale.abbreviations.million;\n value = value / million;\n } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n // thousand\n abbr += locale.abbreviations.thousand;\n value = value / thousand;\n }\n }\n\n // check for optional decimals\n if (numeral._.includes(format, '[.]')) {\n optDec = true;\n format = format.replace('[.]', '.');\n }\n\n // break number and format\n int = value.toString().split('.')[0];\n precision = format.split('.')[1];\n thousands = format.indexOf(',');\n leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n if (precision) {\n if (numeral._.includes(precision, '[')) {\n precision = precision.replace(']', '');\n precision = precision.split('[');\n decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\n } else {\n decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n }\n\n int = decimal.split('.')[0];\n\n if (numeral._.includes(decimal, '.')) {\n decimal = locale.delimiters.decimal + decimal.split('.')[1];\n } else {\n decimal = '';\n }\n\n if (optDec && Number(decimal.slice(1)) === 0) {\n decimal = '';\n }\n } else {\n int = numeral._.toFixed(value, 0, roundingFunction);\n }\n\n // check abbreviation again after rounding\n if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n int = String(Number(int) / 1000);\n\n switch (abbr) {\n case locale.abbreviations.thousand:\n abbr = locale.abbreviations.million;\n break;\n case locale.abbreviations.million:\n abbr = locale.abbreviations.billion;\n break;\n case locale.abbreviations.billion:\n abbr = locale.abbreviations.trillion;\n break;\n }\n }\n\n\n // format number\n if (numeral._.includes(int, '-')) {\n int = int.slice(1);\n neg = true;\n }\n\n if (int.length < leadingCount) {\n for (var i = leadingCount - int.length; i > 0; i--) {\n int = '0' + int;\n }\n }\n\n if (thousands > -1) {\n int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n }\n\n if (format.indexOf('.') === 0) {\n int = '';\n }\n\n output = int + decimal + (abbr ? abbr : '');\n\n if (negP) {\n output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n } else {\n if (signed >= 0) {\n output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n } else if (neg) {\n output = '-' + output;\n }\n }\n\n return output;\n },\n // unformats numbers separators, decimals places, signs, abbreviations\n stringToNumber: function(string) {\n var locale = locales[options.currentLocale],\n stringOriginal = string,\n abbreviations = {\n thousand: 3,\n million: 6,\n billion: 9,\n trillion: 12\n },\n abbreviation,\n value,\n i,\n regexp;\n\n if (options.zeroFormat && string === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n value = 1;\n\n if (locale.delimiters.decimal !== '.') {\n string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n }\n\n for (abbreviation in abbreviations) {\n regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n if (stringOriginal.match(regexp)) {\n value *= Math.pow(10, abbreviations[abbreviation]);\n break;\n }\n }\n\n // check for negative number\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\n\n // remove non numbers\n string = string.replace(/[^0-9\\.]+/g, '');\n\n value *= Number(string);\n }\n\n return value;\n },\n isNaN: function(value) {\n return typeof value === 'number' && isNaN(value);\n },\n includes: function(string, search) {\n return string.indexOf(search) !== -1;\n },\n insert: function(string, subString, start) {\n return string.slice(0, start) + subString + string.slice(start);\n },\n reduce: function(array, callback /*, initialValue*/) {\n if (this === null) {\n throw new TypeError('Array.prototype.reduce called on null or undefined');\n }\n\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n\n var t = Object(array),\n len = t.length >>> 0,\n k = 0,\n value;\n\n if (arguments.length === 3) {\n value = arguments[2];\n } else {\n while (k < len && !(k in t)) {\n k++;\n }\n\n if (k >= len) {\n throw new TypeError('Reduce of empty array with no initial value');\n }\n\n value = t[k++];\n }\n for (; k < len; k++) {\n if (k in t) {\n value = callback(value, t[k], k, t);\n }\n }\n return value;\n },\n /**\n * Computes the multiplier necessary to make x >= 1,\n * effectively eliminating miscalculations caused by\n * finite precision.\n */\n multiplier: function (x) {\n var parts = x.toString().split('.');\n\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n },\n /**\n * Given a variable number of arguments, returns the maximum\n * multiplier that must be used to normalize an operation involving\n * all of them.\n */\n correctionFactor: function () {\n var args = Array.prototype.slice.call(arguments);\n\n return args.reduce(function(accum, next) {\n var mn = _.multiplier(next);\n return accum > mn ? accum : mn;\n }, 1);\n },\n /**\n * Implementation of toFixed() that treats floats more like decimals\n *\n * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n * problems for accounting- and finance-related software.\n */\n toFixed: function(value, maxDecimals, roundingFunction, optionals) {\n var splitValue = value.toString().split('.'),\n minDecimals = maxDecimals - (optionals || 0),\n boundedPrecision,\n optionalsRegExp,\n power,\n output;\n\n // Use the smallest precision value possible to avoid errors from floating point representation\n if (splitValue.length === 2) {\n boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n } else {\n boundedPrecision = minDecimals;\n }\n\n power = Math.pow(10, boundedPrecision);\n\n // Multiply up by precision, round accurately, then divide and use native toFixed():\n output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n if (optionals > maxDecimals - boundedPrecision) {\n optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n output = output.replace(optionalsRegExp, '');\n }\n\n return output;\n }\n };\n\n // avaliable options\n numeral.options = options;\n\n // avaliable formats\n numeral.formats = formats;\n\n // avaliable formats\n numeral.locales = locales;\n\n // This function sets the current locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n numeral.locale = function(key) {\n if (key) {\n options.currentLocale = key.toLowerCase();\n }\n\n return options.currentLocale;\n };\n\n // This function provides access to the loaded locale data. If\n // no arguments are passed in, it will simply return the current\n // global locale object.\n numeral.localeData = function(key) {\n if (!key) {\n return locales[options.currentLocale];\n }\n\n key = key.toLowerCase();\n\n if (!locales[key]) {\n throw new Error('Unknown locale : ' + key);\n }\n\n return locales[key];\n };\n\n numeral.reset = function() {\n for (var property in defaults) {\n options[property] = defaults[property];\n }\n };\n\n numeral.zeroFormat = function(format) {\n options.zeroFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.nullFormat = function (format) {\n options.nullFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.defaultFormat = function(format) {\n options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\n };\n\n numeral.register = function(type, name, format) {\n name = name.toLowerCase();\n\n if (this[type + 's'][name]) {\n throw new TypeError(name + ' ' + type + ' already registered.');\n }\n\n this[type + 's'][name] = format;\n\n return format;\n };\n\n\n numeral.validate = function(val, culture) {\n var _decimalSep,\n _thousandSep,\n _currSymbol,\n _valArray,\n _abbrObj,\n _thousandRegEx,\n localeData,\n temp;\n\n //coerce val to string\n if (typeof val !== 'string') {\n val += '';\n\n if (console.warn) {\n console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n }\n }\n\n //trim whitespaces from either sides\n val = val.trim();\n\n //if val is just digits return true\n if (!!val.match(/^\\d+$/)) {\n return true;\n }\n\n //if val is empty return false\n if (val === '') {\n return false;\n }\n\n //get the decimal and thousands separator from numeral.localeData\n try {\n //check if the culture is understood by numeral. if not, default it to current locale\n localeData = numeral.localeData(culture);\n } catch (e) {\n localeData = numeral.localeData(numeral.locale());\n }\n\n //setup the delimiters and currency symbol based on culture/locale\n _currSymbol = localeData.currency.symbol;\n _abbrObj = localeData.abbreviations;\n _decimalSep = localeData.delimiters.decimal;\n if (localeData.delimiters.thousands === '.') {\n _thousandSep = '\\\\.';\n } else {\n _thousandSep = localeData.delimiters.thousands;\n }\n\n // validating currency symbol\n temp = val.match(/^[^\\d]+/);\n if (temp !== null) {\n val = val.substr(1);\n if (temp[0] !== _currSymbol) {\n return false;\n }\n }\n\n //validating abbreviation symbol\n temp = val.match(/[^\\d]+$/);\n if (temp !== null) {\n val = val.slice(0, -1);\n if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n return false;\n }\n }\n\n _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n if (!val.match(/[^\\d.,]/g)) {\n _valArray = val.split(_decimalSep);\n if (_valArray.length > 2) {\n return false;\n } else {\n if (_valArray.length < 2) {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\n } else {\n if (_valArray[0].length === 1) {\n return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n } else {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n }\n }\n }\n }\n\n return false;\n };\n\n\n /************************************\n Numeral Prototype\n ************************************/\n\n numeral.fn = Numeral.prototype = {\n clone: function() {\n return numeral(this);\n },\n format: function(inputString, roundingFunction) {\n var value = this._value,\n format = inputString || options.defaultFormat,\n kind,\n output,\n formatFunction;\n\n // make sure we have a roundingFunction\n roundingFunction = roundingFunction || Math.round;\n\n // format based on value\n if (value === 0 && options.zeroFormat !== null) {\n output = options.zeroFormat;\n } else if (value === null && options.nullFormat !== null) {\n output = options.nullFormat;\n } else {\n for (kind in formats) {\n if (format.match(formats[kind].regexps.format)) {\n formatFunction = formats[kind].format;\n\n break;\n }\n }\n\n formatFunction = formatFunction || numeral._.numberToFormat;\n\n output = formatFunction(value, format, roundingFunction);\n }\n\n return output;\n },\n value: function() {\n return this._value;\n },\n input: function() {\n return this._input;\n },\n set: function(value) {\n this._value = Number(value);\n\n return this;\n },\n add: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum + Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n\n return this;\n },\n subtract: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum - Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n\n return this;\n },\n multiply: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback, 1);\n\n return this;\n },\n divide: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback);\n\n return this;\n },\n difference: function(value) {\n return Math.abs(numeral(this._value).subtract(value).value());\n }\n };\n\n /************************************\n Default Locale && Format\n ************************************/\n\n numeral.register('locale', 'en', {\n delimiters: {\n thousands: ',',\n decimal: '.'\n },\n abbreviations: {\n thousand: 'k',\n million: 'm',\n billion: 'b',\n trillion: 't'\n },\n ordinal: function(number) {\n var b = number % 10;\n return (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n },\n currency: {\n symbol: '$'\n }\n });\n\n \n\n(function() {\n numeral.register('format', 'bps', {\n regexps: {\n format: /(BPS)/,\n unformat: /(BPS)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n output;\n\n value = value * 10000;\n\n // check for space before BPS\n format = format.replace(/\\s?BPS/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + 'BPS');\n\n output = output.join('');\n } else {\n output = output + space + 'BPS';\n }\n\n return output;\n },\n unformat: function(string) {\n return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n }\n });\n})();\n\n\n(function() {\n var decimal = {\n base: 1000,\n suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n },\n binary = {\n base: 1024,\n suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n };\n\n var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n return decimal.suffixes.indexOf(item) < 0;\n }));\n var unformatRegex = allSuffixes.join('|');\n // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n\n numeral.register('format', 'bytes', {\n regexps: {\n format: /([0\\s]i?b)/,\n unformat: new RegExp(unformatRegex)\n },\n format: function(value, format, roundingFunction) {\n var output,\n bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n power,\n min,\n max;\n\n // check for space before\n format = format.replace(/\\s?i?b/, '');\n\n for (power = 0; power <= bytes.suffixes.length; power++) {\n min = Math.pow(bytes.base, power);\n max = Math.pow(bytes.base, power + 1);\n\n if (value === null || value === 0 || value >= min && value < max) {\n suffix += bytes.suffixes[power];\n\n if (min > 0) {\n value = value / min;\n }\n\n break;\n }\n }\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + suffix;\n },\n unformat: function(string) {\n var value = numeral._.stringToNumber(string),\n power,\n bytesMultiplier;\n\n if (value) {\n for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n if (numeral._.includes(string, decimal.suffixes[power])) {\n bytesMultiplier = Math.pow(decimal.base, power);\n\n break;\n }\n\n if (numeral._.includes(string, binary.suffixes[power])) {\n bytesMultiplier = Math.pow(binary.base, power);\n\n break;\n }\n }\n\n value *= (bytesMultiplier || 1);\n }\n\n return value;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'currency', {\n regexps: {\n format: /(\\$)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n symbols = {\n before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n },\n output,\n symbol,\n i;\n\n // strip format of spaces and $\n format = format.replace(/\\s?\\$\\s?/, '');\n\n // format the number\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n // update the before and after based on value\n if (value >= 0) {\n symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\n symbols.before = '-' + symbols.before;\n }\n\n // loop through each before symbol\n for (i = 0; i < symbols.before.length; i++) {\n symbol = symbols.before[i];\n\n switch (symbol) {\n case '$':\n output = numeral._.insert(output, locale.currency.symbol, i);\n break;\n case ' ':\n output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n break;\n }\n }\n\n // loop through each after symbol\n for (i = symbols.after.length - 1; i >= 0; i--) {\n symbol = symbols.after[i];\n\n switch (symbol) {\n case '$':\n output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n break;\n case ' ':\n output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n break;\n }\n }\n\n\n return output;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'exponential', {\n regexps: {\n format: /(e\\+|e-)/,\n unformat: /(e\\+|e-)/\n },\n format: function(value, format, roundingFunction) {\n var output,\n exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n parts = exponential.split('e');\n\n format = format.replace(/e[\\+|\\-]{1}0/, '');\n\n output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n\n return output + 'e' + parts[1];\n },\n unformat: function(string) {\n var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n value = Number(parts[0]),\n power = Number(parts[1]);\n\n power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n function cback(accum, curr, currI, O) {\n var corrFactor = numeral._.correctionFactor(accum, curr),\n num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\n return num;\n }\n\n return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'ordinal', {\n regexps: {\n format: /(o)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n output,\n ordinal = numeral._.includes(format, ' o') ? ' ' : '';\n\n // check for space before\n format = format.replace(/\\s?o/, '');\n\n ordinal += locale.ordinal(value);\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + ordinal;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'percentage', {\n regexps: {\n format: /(%)/,\n unformat: /(%)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' %') ? ' ' : '',\n output;\n\n if (numeral.options.scalePercentBy100) {\n value = value * 100;\n }\n\n // check for space before %\n format = format.replace(/\\s?\\%/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + '%');\n\n output = output.join('');\n } else {\n output = output + space + '%';\n }\n\n return output;\n },\n unformat: function(string) {\n var number = numeral._.stringToNumber(string);\n if (numeral.options.scalePercentBy100) {\n return number * 0.01;\n }\n return number;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'time', {\n regexps: {\n format: /(:)/,\n unformat: /(:)/\n },\n format: function(value, format, roundingFunction) {\n var hours = Math.floor(value / 60 / 60),\n minutes = Math.floor((value - (hours * 60 * 60)) / 60),\n seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\n\n return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n },\n unformat: function(string) {\n var timeArray = string.split(':'),\n seconds = 0;\n\n // turn hours and minutes into seconds and add them all up\n if (timeArray.length === 3) {\n // hours\n seconds = seconds + (Number(timeArray[0]) * 60 * 60);\n // minutes\n seconds = seconds + (Number(timeArray[1]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[2]);\n } else if (timeArray.length === 2) {\n // minutes\n seconds = seconds + (Number(timeArray[0]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[1]);\n }\n return Number(seconds);\n }\n });\n})();\n\nreturn numeral;\n}));\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Based on Kendo UI Core expression code \n */\n'use strict'\n\nfunction Cache(maxSize) {\n this._maxSize = maxSize\n this.clear()\n}\nCache.prototype.clear = function () {\n this._size = 0\n this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n this._size >= this._maxSize && this.clear()\n if (!(key in this._values)) this._size++\n\n return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n DIGIT_REGEX = /^\\d+$/,\n LEAD_DIGIT_REGEX = /^\\d/,\n SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n setCache = new Cache(MAX_CACHE_SIZE),\n getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n Cache: Cache,\n\n split: split,\n\n normalizePath: normalizePath,\n\n setter: function (path) {\n var parts = normalizePath(path)\n\n return (\n setCache.get(path) ||\n setCache.set(path, function setter(obj, value) {\n var index = 0\n var len = parts.length\n var data = obj\n\n while (index < len - 1) {\n var part = parts[index]\n if (\n part === '__proto__' ||\n part === 'constructor' ||\n part === 'prototype'\n ) {\n return obj\n }\n\n data = data[parts[index++]]\n }\n data[parts[index]] = value\n })\n )\n },\n\n getter: function (path, safe) {\n var parts = normalizePath(path)\n return (\n getCache.get(path) ||\n getCache.set(path, function getter(data) {\n var index = 0,\n len = parts.length\n while (index < len) {\n if (data != null || !safe) data = data[parts[index++]]\n else return\n }\n return data\n })\n )\n },\n\n join: function (segments) {\n return segments.reduce(function (path, part) {\n return (\n path +\n (isQuoted(part) || DIGIT_REGEX.test(part)\n ? '[' + part + ']'\n : (path ? '.' : '') + part)\n )\n }, '')\n },\n\n forEach: function (path, cb, thisArg) {\n forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n },\n}\n\nfunction normalizePath(path) {\n return (\n pathCache.get(path) ||\n pathCache.set(\n path,\n split(path).map(function (part) {\n return part.replace(CLEAN_QUOTES_REGEX, '$2')\n })\n )\n )\n}\n\nfunction split(path) {\n return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n var len = parts.length,\n part,\n idx,\n isArray,\n isBracket\n\n for (idx = 0; idx < len; idx++) {\n part = parts[idx]\n\n if (part) {\n if (shouldBeQuoted(part)) {\n part = '\"' + part + '\"'\n }\n\n isBracket = isQuoted(part)\n isArray = !isBracket && /^\\d+$/.test(part)\n\n iter.call(thisArg, part, isBracket, isArray, idx, parts)\n }\n }\n}\n\nfunction isQuoted(str) {\n return (\n typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n )\n}\n\nfunction hasLeadingNumber(part) {\n return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"react\"),require(\"prop-types\"),require(\"classnames\"),require(\"date-fns/isDate\"),require(\"date-fns/isValid\"),require(\"date-fns/format\"),require(\"date-fns/addMinutes\"),require(\"date-fns/addHours\"),require(\"date-fns/addDays\"),require(\"date-fns/addWeeks\"),require(\"date-fns/addMonths\"),require(\"date-fns/addQuarters\"),require(\"date-fns/addYears\"),require(\"date-fns/subDays\"),require(\"date-fns/subWeeks\"),require(\"date-fns/subMonths\"),require(\"date-fns/subQuarters\"),require(\"date-fns/subYears\"),require(\"date-fns/getSeconds\"),require(\"date-fns/getMinutes\"),require(\"date-fns/getHours\"),require(\"date-fns/getDay\"),require(\"date-fns/getDate\"),require(\"date-fns/getISOWeek\"),require(\"date-fns/getMonth\"),require(\"date-fns/getQuarter\"),require(\"date-fns/getYear\"),require(\"date-fns/getTime\"),require(\"date-fns/setSeconds\"),require(\"date-fns/setMinutes\"),require(\"date-fns/setHours\"),require(\"date-fns/setMonth\"),require(\"date-fns/setQuarter\"),require(\"date-fns/setYear\"),require(\"date-fns/min\"),require(\"date-fns/max\"),require(\"date-fns/differenceInCalendarDays\"),require(\"date-fns/differenceInCalendarMonths\"),require(\"date-fns/differenceInCalendarYears\"),require(\"date-fns/startOfDay\"),require(\"date-fns/startOfWeek\"),require(\"date-fns/startOfMonth\"),require(\"date-fns/startOfQuarter\"),require(\"date-fns/startOfYear\"),require(\"date-fns/endOfDay\"),require(\"date-fns/endOfWeek\"),require(\"date-fns/endOfMonth\"),require(\"date-fns/endOfYear\"),require(\"date-fns/isEqual\"),require(\"date-fns/isSameDay\"),require(\"date-fns/isSameMonth\"),require(\"date-fns/isSameYear\"),require(\"date-fns/isSameQuarter\"),require(\"date-fns/isAfter\"),require(\"date-fns/isBefore\"),require(\"date-fns/isWithinInterval\"),require(\"date-fns/toDate\"),require(\"date-fns/parse\"),require(\"date-fns/parseISO\"),require(\"react-onclickoutside\"),require(\"react-dom\"),require(\"react-popper\"),require(\"date-fns/set\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"react\",\"prop-types\",\"classnames\",\"date-fns/isDate\",\"date-fns/isValid\",\"date-fns/format\",\"date-fns/addMinutes\",\"date-fns/addHours\",\"date-fns/addDays\",\"date-fns/addWeeks\",\"date-fns/addMonths\",\"date-fns/addQuarters\",\"date-fns/addYears\",\"date-fns/subDays\",\"date-fns/subWeeks\",\"date-fns/subMonths\",\"date-fns/subQuarters\",\"date-fns/subYears\",\"date-fns/getSeconds\",\"date-fns/getMinutes\",\"date-fns/getHours\",\"date-fns/getDay\",\"date-fns/getDate\",\"date-fns/getISOWeek\",\"date-fns/getMonth\",\"date-fns/getQuarter\",\"date-fns/getYear\",\"date-fns/getTime\",\"date-fns/setSeconds\",\"date-fns/setMinutes\",\"date-fns/setHours\",\"date-fns/setMonth\",\"date-fns/setQuarter\",\"date-fns/setYear\",\"date-fns/min\",\"date-fns/max\",\"date-fns/differenceInCalendarDays\",\"date-fns/differenceInCalendarMonths\",\"date-fns/differenceInCalendarYears\",\"date-fns/startOfDay\",\"date-fns/startOfWeek\",\"date-fns/startOfMonth\",\"date-fns/startOfQuarter\",\"date-fns/startOfYear\",\"date-fns/endOfDay\",\"date-fns/endOfWeek\",\"date-fns/endOfMonth\",\"date-fns/endOfYear\",\"date-fns/isEqual\",\"date-fns/isSameDay\",\"date-fns/isSameMonth\",\"date-fns/isSameYear\",\"date-fns/isSameQuarter\",\"date-fns/isAfter\",\"date-fns/isBefore\",\"date-fns/isWithinInterval\",\"date-fns/toDate\",\"date-fns/parse\",\"date-fns/parseISO\",\"react-onclickoutside\",\"react-dom\",\"react-popper\",\"date-fns/set\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).DatePicker={},e.React,e.PropTypes,e.classNames,e.isDate,e.isValidDate,e.format,e.addMinutes,e.addHours,e.addDays,e.addWeeks,e.addMonths,e.addQuarters,e.addYears,e.subDays,e.subWeeks,e.subMonths,e.subQuarters,e.subYears,e.getSeconds,e.getMinutes,e.getHours,e.getDay,e.getDate,e.getISOWeek,e.getMonth,e.getQuarter,e.getYear,e.getTime,e.setSeconds,e.setMinutes,e.setHours,e.setMonth,e.setQuarter,e.setYear,e.min,e.max,e.differenceInCalendarDays,e.differenceInCalendarMonths,e.differenceInCalendarYears,e.startOfDay,e.startOfWeek,e.startOfMonth,e.startOfQuarter,e.startOfYear,e.endOfDay,null,e.endOfMonth,e.endOfYear,e.dfIsEqual,e.dfIsSameDay,e.dfIsSameMonth,e.dfIsSameYear,e.dfIsSameQuarter,e.isAfter,e.isBefore,e.isWithinInterval,e.toDate,e.parse,e.parseISO,e.onClickOutside,e.ReactDOM,e.ReactPopper,e.set)}(this,(function(e,t,r,a,n,o,s,i,p,l,c,d,u,f,h,m,y,v,D,g,w,k,b,S,C,_,M,E,P,Y,N,x,O,I,T,R,L,F,A,q,Q,K,B,W,H,j,V,U,z,$,G,J,X,Z,ee,te,re,ae,ne,oe,se,ie,pe,le){\"use strict\";function ce(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var de=ce(t),ue=ce(a),fe=ce(n),he=ce(o),me=ce(s),ye=ce(i),ve=ce(p),De=ce(l),ge=ce(c),we=ce(d),ke=ce(u),be=ce(f),Se=ce(h),Ce=ce(m),_e=ce(y),Me=ce(v),Ee=ce(D),Pe=ce(g),Ye=ce(w),Ne=ce(k),xe=ce(b),Oe=ce(S),Ie=ce(C),Te=ce(_),Re=ce(M),Le=ce(E),Fe=ce(P),Ae=ce(Y),qe=ce(N),Qe=ce(x),Ke=ce(O),Be=ce(I),We=ce(T),He=ce(R),je=ce(L),Ve=ce(F),Ue=ce(A),ze=ce(q),$e=ce(Q),Ge=ce(K),Je=ce(B),Xe=ce(W),Ze=ce(H),et=ce(j),tt=ce(U),rt=ce(z),at=ce($),nt=ce(G),ot=ce(J),st=ce(X),it=ce(Z),pt=ce(ee),lt=ce(te),ct=ce(re),dt=ce(ae),ut=ce(ne),ft=ce(oe),ht=ce(se),mt=ce(ie),yt=ce(le);function vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function Dt(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,a=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.excludeDateIntervals,s=t.includeDates,i=t.includeDateIntervals,p=t.filterDate;return ur(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return Jt(e,t)}))||o&&o.some((function(t){var r=t.start,a=t.end;return ct.default(e,{start:r,end:a})}))||s&&!s.some((function(t){return Jt(e,t)}))||i&&!i.some((function(t){var r=t.start,a=t.end;return ct.default(e,{start:r,end:a})}))||p&&!p(At(e))||!1}function or(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeDates,a=t.excludeDateIntervals;return a&&a.length>0?a.some((function(t){var r=t.start,a=t.end;return ct.default(e,{start:r,end:a})})):r&&r.some((function(t){return Jt(e,t)}))||!1}function sr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return ur(e,{minDate:Je.default(r),maxDate:tt.default(a)})||n&&n.some((function(t){return $t(e,t)}))||o&&!o.some((function(t){return $t(e,t)}))||s&&!s(At(e))||!1}function ir(e,t,r,a){var n=Le.default(e),o=Te.default(e),s=Le.default(t),i=Te.default(t),p=Le.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function pr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return ur(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return Gt(e,t)}))||o&&!o.some((function(t){return Gt(e,t)}))||s&&!s(At(e))||!1}function lr(e,t,r){if(!he.default(t)||!he.default(r))return!1;var a=Le.default(t),n=Le.default(r);return a<=e&&n>=e}function cr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate,i=new Date(e,0,1);return ur(i,{minDate:Ze.default(r),maxDate:rt.default(a)})||n&&n.some((function(e){return zt(i,e)}))||o&&!o.some((function(e){return zt(i,e)}))||s&&!s(At(i))||!1}function dr(e,t,r,a){var n=Le.default(e),o=Re.default(e),s=Le.default(t),i=Re.default(t),p=Le.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function ur(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate;return r&&Ve.default(e,r)<0||a&&Ve.default(e,a)>0}function fr(e,t){return t.some((function(t){return Ne.default(t)===Ne.default(e)&&Ye.default(t)===Ye.default(e)}))}function hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeTimes,a=t.includeTimes,n=t.filterTime;return r&&fr(e,r)||a&&!fr(e,a)||n&&!n(e)||!1}function mr(e,t){var r=t.minTime,a=t.maxTime;if(!r||!a)throw new Error(\"Both minTime and maxTime props required\");var n,o=At(),s=Qe.default(qe.default(o,Ye.default(e)),Ne.default(e)),i=Qe.default(qe.default(o,Ye.default(r)),Ne.default(r)),p=Qe.default(qe.default(o,Ye.default(a)),Ne.default(a));try{n=!ct.default(s,{start:i,end:p})}catch(e){n=!1}return n}function yr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=_e.default(e,1);return r&&Ue.default(r,n)>0||a&&a.every((function(e){return Ue.default(e,n)>0}))||!1}function vr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=we.default(e,1);return r&&Ue.default(n,r)>0||a&&a.every((function(e){return Ue.default(n,e)>0}))||!1}function Dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=Ee.default(e,1);return r&&ze.default(r,n)>0||a&&a.every((function(e){return ze.default(e,n)>0}))||!1}function gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=be.default(e,1);return r&&ze.default(n,r)>0||a&&a.every((function(e){return ze.default(n,e)>0}))||!1}function wr(e){var t=e.minDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return Ve.default(e,t)>=0}));return He.default(a)}return r?He.default(r):t}function kr(e){var t=e.maxDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return Ve.default(e,t)<=0}));return je.default(a)}return r?je.default(r):t}function br(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"react-datepicker__day--highlighted\",r=new Map,a=0,n=e.length;a1&&void 0!==arguments[1]?arguments[1]:Lt,r=Math.ceil(Le.default(e)/t)*t;return{startPeriod:r-(t-1),endPeriod:r}}function Mr(e,t,r,a){for(var n=[],o=0;o<2*t+1;o++){var s=e+t-o,i=!0;r&&(i=Le.default(r)<=s),a&&i&&(i=Le.default(a)>=s),i&&n.push(s)}return n}var Er=function(e){_t(a,e);var r=Yt(a);function a(e){var n;wt(this,a),St(Pt(n=r.call(this,e)),\"renderOptions\",(function(){var e=n.props.year,t=n.state.yearsList.map((function(t){return de.default.createElement(\"div\",{className:e===t?\"react-datepicker__year-option react-datepicker__year-option--selected_year\":\"react-datepicker__year-option\",key:t,onClick:n.onChange.bind(Pt(n),t),\"aria-selected\":e===t?\"true\":void 0},e===t?de.default.createElement(\"span\",{className:\"react-datepicker__year-option--selected\"},\"✓\"):\"\",t)})),r=n.props.minDate?Le.default(n.props.minDate):null,a=n.props.maxDate?Le.default(n.props.maxDate):null;return a&&n.state.yearsList.find((function(e){return e===a}))||t.unshift(de.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"upcoming\",onClick:n.incrementYears},de.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\"}))),r&&n.state.yearsList.find((function(e){return e===r}))||t.push(de.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"previous\",onClick:n.decrementYears},de.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\"}))),t})),St(Pt(n),\"onChange\",(function(e){n.props.onChange(e)})),St(Pt(n),\"handleClickOutside\",(function(){n.props.onCancel()})),St(Pt(n),\"shiftYears\",(function(e){var t=n.state.yearsList.map((function(t){return t+e}));n.setState({yearsList:t})})),St(Pt(n),\"incrementYears\",(function(){return n.shiftYears(1)})),St(Pt(n),\"decrementYears\",(function(){return n.shiftYears(-1)}));var o=e.yearDropdownItemNumber,s=e.scrollableYearDropdown,i=o||(s?10:5);return n.state={yearsList:Mr(n.props.year,i,n.props.minDate,n.props.maxDate)},n.dropdownRef=t.createRef(),n}return bt(a,[{key:\"componentDidMount\",value:function(){var e=this.dropdownRef.current;if(e){var t=e.children?Array.from(e.children):null,r=t?t.find((function(e){return e.ariaSelected})):null;e.scrollTop=r?r.offsetTop+(r.clientHeight-e.clientHeight)/2:(e.scrollHeight-e.clientHeight)/2}}},{key:\"render\",value:function(){var e=ue.default({\"react-datepicker__year-dropdown\":!0,\"react-datepicker__year-dropdown--scrollable\":this.props.scrollableYearDropdown});return de.default.createElement(\"div\",{className:e,ref:this.dropdownRef},this.renderOptions())}}]),a}(de.default.Component),Pr=ht.default(Er),Yr=function(e){_t(r,e);var t=Yt(r);function r(){var e;wt(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},r=!1;0===e.getTabIndex()&&!t.isInputFocused&&e.isSameDay(e.props.preSelection)&&(document.activeElement&&document.activeElement!==document.body||(r=!0),e.props.inline&&!e.props.shouldFocusDayInline&&(r=!1),e.props.containerRef&&e.props.containerRef.current&&e.props.containerRef.current.contains(document.activeElement)&&document.activeElement.classList.contains(\"react-datepicker__day\")&&(r=!0),e.props.monthShowsDuplicateDaysEnd&&e.isAfterMonth()&&(r=!1),e.props.monthShowsDuplicateDaysStart&&e.isBeforeMonth()&&(r=!1)),r&&e.dayEl.current.focus({preventScroll:!0})})),St(Pt(e),\"renderDayContents\",(function(){return e.props.monthShowsDuplicateDaysEnd&&e.isAfterMonth()||e.props.monthShowsDuplicateDaysStart&&e.isBeforeMonth()?null:e.props.renderDayContents?e.props.renderDayContents(Oe.default(e.props.day),e.props.day):Oe.default(e.props.day)})),St(Pt(e),\"render\",(function(){return de.default.createElement(\"div\",{ref:e.dayEl,className:e.getClassNames(e.props.day),onKeyDown:e.handleOnKeyDown,onClick:e.handleClick,onMouseEnter:e.handleMouseEnter,tabIndex:e.getTabIndex(),\"aria-label\":e.getAriaLabel(),role:\"option\",\"aria-disabled\":e.isDisabled(),\"aria-current\":e.isCurrentDay()?\"date\":void 0,\"aria-selected\":e.isSelected()||e.isInRange()},e.renderDayContents())})),e}return bt(r,[{key:\"componentDidMount\",value:function(){this.handleFocusDay()}},{key:\"componentDidUpdate\",value:function(e){this.handleFocusDay(e)}}]),r}(de.default.Component),qr=function(e){_t(r,e);var t=Yt(r);function r(){var e;wt(this,r);for(var a=arguments.length,n=new Array(a),o=0;o=6,i=!r&&!e.isWeekInMonth(o);if(s||i){if(!e.props.peekNextMonth)break;n=!0}}return t})),St(Pt(e),\"onMonthClick\",(function(t,r){e.handleDayClick(Ht(Ke.default(e.props.day,r)),t)})),St(Pt(e),\"onMonthMouseEnter\",(function(t){e.handleDayMouseEnter(Ht(Ke.default(e.props.day,t)))})),St(Pt(e),\"handleMonthNavigation\",(function(t,r){e.isDisabled(r)||e.isExcluded(r)||(e.props.setPreSelection(r),e.MONTH_REFS[t].current&&e.MONTH_REFS[t].current.focus())})),St(Pt(e),\"onMonthKeyDown\",(function(t,r){var a=e.props,n=a.selected,o=a.preSelection,s=a.disabledKeyboardNavigation,i=a.showTwoColumnMonthYearPicker,p=a.showFourColumnMonthYearPicker,l=a.setPreSelection,c=t.key;if(\"Tab\"!==c&&t.preventDefault(),!s){var d=jr(p,i),u=Hr[d].verticalNavigationOffset,f=Hr[d].grid;switch(c){case\"Enter\":e.onMonthClick(t,r),l(n);break;case\"ArrowRight\":e.handleMonthNavigation(11===r?0:r+1,we.default(o,1));break;case\"ArrowLeft\":e.handleMonthNavigation(0===r?11:r-1,_e.default(o,1));break;case\"ArrowUp\":e.handleMonthNavigation(f[0].includes(r)?r+12-u:r-u,_e.default(o,u));break;case\"ArrowDown\":e.handleMonthNavigation(f[f.length-1].includes(r)?r-12+u:r+u,we.default(o,u))}}})),St(Pt(e),\"onQuarterClick\",(function(t,r){e.handleDayClick(Vt(Be.default(e.props.day,r)),t)})),St(Pt(e),\"onQuarterMouseEnter\",(function(t){e.handleDayMouseEnter(Vt(Be.default(e.props.day,t)))})),St(Pt(e),\"handleQuarterNavigation\",(function(t,r){e.isDisabled(r)||e.isExcluded(r)||(e.props.setPreSelection(r),e.QUARTER_REFS[t-1].current&&e.QUARTER_REFS[t-1].current.focus())})),St(Pt(e),\"onQuarterKeyDown\",(function(t,r){var a=t.key;if(!e.props.disabledKeyboardNavigation)switch(a){case\"Enter\":e.onQuarterClick(t,r),e.props.setPreSelection(e.props.selected);break;case\"ArrowRight\":e.handleQuarterNavigation(4===r?1:r+1,ke.default(e.props.preSelection,1));break;case\"ArrowLeft\":e.handleQuarterNavigation(1===r?4:r-1,Me.default(e.props.preSelection,1))}})),St(Pt(e),\"getMonthClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate,l=r.preSelection,c=r.monthClassName,d=r.excludeDates,u=r.includeDates,f=c?c(Ke.default(a,t)):void 0,h=Ke.default(a,t);return ue.default(\"react-datepicker__month-text\",\"react-datepicker__month-\".concat(t),f,{\"react-datepicker__month-text--disabled\":(i||p||d||u)&&sr(h,e.props),\"react-datepicker__month-text--selected\":e.isSelectedMonth(a,t,s),\"react-datepicker__month-text--keyboard-selected\":!e.props.disabledKeyboardNavigation&&Te.default(l)===t,\"react-datepicker__month-text--in-selecting-range\":e.isInSelectingRangeMonth(t),\"react-datepicker__month-text--in-range\":ir(n,o,t,a),\"react-datepicker__month-text--range-start\":e.isRangeStartMonth(t),\"react-datepicker__month-text--range-end\":e.isRangeEndMonth(t),\"react-datepicker__month-text--selecting-range-start\":e.isSelectingMonthRangeStart(t),\"react-datepicker__month-text--selecting-range-end\":e.isSelectingMonthRangeEnd(t),\"react-datepicker__month-text--today\":e.isCurrentMonth(a,t)})})),St(Pt(e),\"getTabIndex\",(function(t){var r=Te.default(e.props.preSelection);return e.props.disabledKeyboardNavigation||t!==r?\"-1\":\"0\"})),St(Pt(e),\"getQuarterTabIndex\",(function(t){var r=Re.default(e.props.preSelection);return e.props.disabledKeyboardNavigation||t!==r?\"-1\":\"0\"})),St(Pt(e),\"getAriaLabel\",(function(t){var r=e.props,a=r.chooseDayAriaLabelPrefix,n=void 0===a?\"Choose\":a,o=r.disabledDayAriaLabelPrefix,s=void 0===o?\"Not available\":o,i=r.day,p=Ke.default(i,t),l=e.isDisabled(p)||e.isExcluded(p)?s:n;return\"\".concat(l,\" \").concat(Qt(p,\"MMMM yyyy\"))})),St(Pt(e),\"getQuarterClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate,l=r.preSelection;return ue.default(\"react-datepicker__quarter-text\",\"react-datepicker__quarter-\".concat(t),{\"react-datepicker__quarter-text--disabled\":(i||p)&&pr(Be.default(a,t),e.props),\"react-datepicker__quarter-text--selected\":e.isSelectedQuarter(a,t,s),\"react-datepicker__quarter-text--keyboard-selected\":Re.default(l)===t,\"react-datepicker__quarter-text--in-selecting-range\":e.isInSelectingRangeQuarter(t),\"react-datepicker__quarter-text--in-range\":dr(n,o,t,a),\"react-datepicker__quarter-text--range-start\":e.isRangeStartQuarter(t),\"react-datepicker__quarter-text--range-end\":e.isRangeEndQuarter(t)})})),St(Pt(e),\"getMonthContent\",(function(t){var r=e.props,a=r.showFullMonthYearPicker,n=r.renderMonthContent,o=r.locale,s=ar(t,o),i=rr(t,o);return n?n(t,s,i):a?i:s})),St(Pt(e),\"getQuarterContent\",(function(t){var r=e.props,a=r.renderQuarterContent,n=function(e,t){return Qt(Be.default(At(),e),\"QQQ\",t)}(t,r.locale);return a?a(t,n):n})),St(Pt(e),\"renderMonths\",(function(){var t=e.props,r=t.showTwoColumnMonthYearPicker,a=t.showFourColumnMonthYearPicker,n=t.day,o=t.selected;return Hr[jr(a,r)].grid.map((function(t,r){return de.default.createElement(\"div\",{className:\"react-datepicker__month-wrapper\",key:r},t.map((function(t,r){return de.default.createElement(\"div\",{ref:e.MONTH_REFS[t],key:r,onClick:function(r){e.onMonthClick(r,t)},onKeyDown:function(r){e.onMonthKeyDown(r,t)},onMouseEnter:function(){return e.onMonthMouseEnter(t)},tabIndex:e.getTabIndex(t),className:e.getMonthClassNames(t),role:\"option\",\"aria-label\":e.getAriaLabel(t),\"aria-current\":e.isCurrentMonth(n,t)?\"date\":void 0,\"aria-selected\":e.isSelectedMonth(n,t,o)},e.getMonthContent(t))})))}))})),St(Pt(e),\"renderQuarters\",(function(){var t=e.props,r=t.day,a=t.selected;return de.default.createElement(\"div\",{className:\"react-datepicker__quarter-wrapper\"},[1,2,3,4].map((function(t,n){return de.default.createElement(\"div\",{key:n,ref:e.QUARTER_REFS[n],role:\"option\",onClick:function(r){e.onQuarterClick(r,t)},onKeyDown:function(r){e.onQuarterKeyDown(r,t)},onMouseEnter:function(){return e.onQuarterMouseEnter(t)},className:e.getQuarterClassNames(t),\"aria-selected\":e.isSelectedQuarter(r,t,a),tabIndex:e.getQuarterTabIndex(t),\"aria-current\":e.isCurrentQuarter(r,t)?\"date\":void 0},e.getQuarterContent(t))})))})),St(Pt(e),\"getClassNames\",(function(){var t=e.props,r=t.selectingDate,a=t.selectsStart,n=t.selectsEnd,o=t.showMonthYearPicker,s=t.showQuarterYearPicker;return ue.default(\"react-datepicker__month\",{\"react-datepicker__month--selecting-range\":r&&(a||n)},{\"react-datepicker__monthPicker\":o},{\"react-datepicker__quarterPicker\":s})})),e}return bt(r,[{key:\"render\",value:function(){var e=this.props,t=e.showMonthYearPicker,r=e.showQuarterYearPicker,a=e.day,n=e.ariaLabelPrefix,o=void 0===n?\"month \":n;return de.default.createElement(\"div\",{className:this.getClassNames(),onMouseLeave:this.handleMouseLeave,\"aria-label\":\"\".concat(o,\" \").concat(Qt(a,\"yyyy-MM\")),role:\"listbox\"},t?this.renderMonths():r?this.renderQuarters():this.renderWeeks())}}]),r}(de.default.Component),Ur=function(e){_t(r,e);var t=Yt(r);function r(){var e;wt(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{}).className||\"\").split(/\\s+/);return Jr.some((function(t){return e.indexOf(t)>=0}))})(e.target)&&a.props.onDropdownFocus()})),St(Pt(a),\"getDateInView\",(function(){var e=a.props,t=e.preSelection,r=e.selected,n=e.openToDate,o=wr(a.props),s=kr(a.props),i=At(),p=n||r||t;return p||(o&<.default(i,o)?o:s&&pt.default(i,s)?s:i)})),St(Pt(a),\"increaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:we.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),St(Pt(a),\"decreaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:_e.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),St(Pt(a),\"handleDayClick\",(function(e,t,r){a.props.onSelect(e,t,r),a.props.setPreSelection&&a.props.setPreSelection(e)})),St(Pt(a),\"handleDayMouseEnter\",(function(e){a.setState({selectingDate:e}),a.props.onDayMouseEnter&&a.props.onDayMouseEnter(e)})),St(Pt(a),\"handleMonthMouseLeave\",(function(){a.setState({selectingDate:null}),a.props.onMonthMouseLeave&&a.props.onMonthMouseLeave()})),St(Pt(a),\"handleYearMouseEnter\",(function(e,t){a.setState({selectingDate:We.default(At(),t)}),a.props.onYearMouseEnter&&a.props.onYearMouseEnter(e,t)})),St(Pt(a),\"handleYearMouseLeave\",(function(e,t){a.props.onYearMouseLeave&&a.props.onYearMouseLeave(e,t)})),St(Pt(a),\"handleYearChange\",(function(e){a.props.onYearChange&&(a.props.onYearChange(e),a.setState({isRenderAriaLiveMessage:!0})),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),St(Pt(a),\"handleMonthChange\",(function(e){a.handleCustomMonthChange(e),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),St(Pt(a),\"handleCustomMonthChange\",(function(e){a.props.onMonthChange&&(a.props.onMonthChange(e),a.setState({isRenderAriaLiveMessage:!0}))})),St(Pt(a),\"handleMonthYearChange\",(function(e){a.handleYearChange(e),a.handleMonthChange(e)})),St(Pt(a),\"changeYear\",(function(e){a.setState((function(t){var r=t.date;return{date:We.default(r,e)}}),(function(){return a.handleYearChange(a.state.date)}))})),St(Pt(a),\"changeMonth\",(function(e){a.setState((function(t){var r=t.date;return{date:Ke.default(r,e)}}),(function(){return a.handleMonthChange(a.state.date)}))})),St(Pt(a),\"changeMonthYear\",(function(e){a.setState((function(t){var r=t.date;return{date:We.default(Ke.default(r,Te.default(e)),Le.default(e))}}),(function(){return a.handleMonthYearChange(a.state.date)}))})),St(Pt(a),\"header\",(function(){var e=Wt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.state.date,a.props.locale,a.props.calendarStartDay),t=[];return a.props.showWeekNumbers&&t.push(de.default.createElement(\"div\",{key:\"W\",className:\"react-datepicker__day-name\"},a.props.weekLabel||\"#\")),t.concat([0,1,2,3,4,5,6].map((function(t){var r=De.default(e,t),n=a.formatWeekday(r,a.props.locale),o=a.props.weekDayClassName?a.props.weekDayClassName(r):void 0;return de.default.createElement(\"div\",{key:t,className:ue.default(\"react-datepicker__day-name\",o)},n)})))})),St(Pt(a),\"formatWeekday\",(function(e,t){return a.props.formatWeekDay?function(e,t,r){return t(Qt(e,\"EEEE\",r))}(e,a.props.formatWeekDay,t):a.props.useWeekdaysShort?function(e,t){return Qt(e,\"EEE\",t)}(e,t):function(e,t){return Qt(e,\"EEEEEE\",t)}(e,t)})),St(Pt(a),\"decreaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:Ee.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),St(Pt(a),\"clearSelectingDate\",(function(){a.setState({selectingDate:null})})),St(Pt(a),\"renderPreviousButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=Dr(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.yearItemNumber,n=void 0===a?Lt:a,o=_r(jt(Ee.default(e,n)),n).endPeriod,s=r&&Le.default(r);return s&&s>o||!1}(a.state.date,a.props);break;default:e=yr(a.state.date,a.props)}if((a.props.forceShowMonthNavigation||a.props.showDisabledMonthNavigation||!e)&&!a.props.showTimeSelectOnly){var t=[\"react-datepicker__navigation\",\"react-datepicker__navigation--previous\"],r=a.decreaseMonth;(a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker)&&(r=a.decreaseYear),e&&a.props.showDisabledMonthNavigation&&(t.push(\"react-datepicker__navigation--previous--disabled\"),r=null);var n=a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker,o=a.props,s=o.previousMonthButtonLabel,i=o.previousYearButtonLabel,p=a.props,l=p.previousMonthAriaLabel,c=void 0===l?\"string\"==typeof s?s:\"Previous Month\":l,d=p.previousYearAriaLabel,u=void 0===d?\"string\"==typeof i?i:\"Previous Year\":d;return de.default.createElement(\"button\",{type:\"button\",className:t.join(\" \"),onClick:r,onKeyDown:a.props.handleOnKeyDown,\"aria-label\":n?u:c},de.default.createElement(\"span\",{className:[\"react-datepicker__navigation-icon\",\"react-datepicker__navigation-icon--previous\"].join(\" \")},n?a.props.previousYearButtonLabel:a.props.previousMonthButtonLabel))}}})),St(Pt(a),\"increaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:be.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),St(Pt(a),\"renderNextButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=gr(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.yearItemNumber,n=void 0===a?Lt:a,o=_r(be.default(e,n),n).startPeriod,s=r&&Le.default(r);return s&&s0&&void 0!==arguments[0]?arguments[0]:a.state.date,t=[\"react-datepicker__current-month\"];return a.props.showYearDropdown&&t.push(\"react-datepicker__current-month--hasYearDropdown\"),a.props.showMonthDropdown&&t.push(\"react-datepicker__current-month--hasMonthDropdown\"),a.props.showMonthYearDropdown&&t.push(\"react-datepicker__current-month--hasMonthYearDropdown\"),de.default.createElement(\"div\",{className:t.join(\" \")},Qt(e,a.props.dateFormat,a.props.locale))})),St(Pt(a),\"renderYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showYearDropdown&&!e)return de.default.createElement(Yr,{adjustDateOnChange:a.props.adjustDateOnChange,date:a.state.date,onSelect:a.props.onSelect,setOpen:a.props.setOpen,dropdownMode:a.props.dropdownMode,onChange:a.changeYear,minDate:a.props.minDate,maxDate:a.props.maxDate,year:Le.default(a.state.date),scrollableYearDropdown:a.props.scrollableYearDropdown,yearDropdownItemNumber:a.props.yearDropdownItemNumber})})),St(Pt(a),\"renderMonthDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthDropdown&&!e)return de.default.createElement(Or,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,onChange:a.changeMonth,month:Te.default(a.state.date),useShortMonthInDropdown:a.props.useShortMonthInDropdown})})),St(Pt(a),\"renderMonthYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthYearDropdown&&!e)return de.default.createElement(Fr,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,dateFormat:a.props.dateFormat,onChange:a.changeMonthYear,minDate:a.props.minDate,maxDate:a.props.maxDate,date:a.state.date,scrollableMonthYearDropdown:a.props.scrollableMonthYearDropdown})})),St(Pt(a),\"handleTodayButtonClick\",(function(e){a.props.onSelect(Ut(),e),a.props.setPreSelection&&a.props.setPreSelection(Ut())})),St(Pt(a),\"renderTodayButton\",(function(){if(a.props.todayButton&&!a.props.showTimeSelectOnly)return de.default.createElement(\"div\",{className:\"react-datepicker__today-button\",onClick:function(e){return a.handleTodayButtonClick(e)}},a.props.todayButton)})),St(Pt(a),\"renderDefaultHeader\",(function(e){var t=e.monthDate,r=e.i;return de.default.createElement(\"div\",{className:\"react-datepicker__header \".concat(a.props.showTimeSelect?\"react-datepicker__header--has-time-select\":\"\")},a.renderCurrentMonth(t),de.default.createElement(\"div\",{className:\"react-datepicker__header__dropdown react-datepicker__header__dropdown--\".concat(a.props.dropdownMode),onFocus:a.handleDropdownFocus},a.renderMonthDropdown(0!==r),a.renderMonthYearDropdown(0!==r),a.renderYearDropdown(0!==r)),de.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),St(Pt(a),\"renderCustomHeader\",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.monthDate,r=e.i;if(a.props.showTimeSelect&&!a.state.monthContainer||a.props.showTimeSelectOnly)return null;var n=yr(a.state.date,a.props),o=vr(a.state.date,a.props),s=Dr(a.state.date,a.props),i=gr(a.state.date,a.props),p=!a.props.showMonthYearPicker&&!a.props.showQuarterYearPicker&&!a.props.showYearPicker;return de.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker__header--custom\",onFocus:a.props.onDropdownFocus},a.props.renderCustomHeader(Dt(Dt({},a.state),{},{customHeaderCount:r,monthDate:t,changeMonth:a.changeMonth,changeYear:a.changeYear,decreaseMonth:a.decreaseMonth,increaseMonth:a.increaseMonth,decreaseYear:a.decreaseYear,increaseYear:a.increaseYear,prevMonthButtonDisabled:n,nextMonthButtonDisabled:o,prevYearButtonDisabled:s,nextYearButtonDisabled:i})),p&&de.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),St(Pt(a),\"renderYearHeader\",(function(){var e=a.state.date,t=a.props,r=t.showYearPicker,n=_r(e,t.yearItemNumber),o=n.startPeriod,s=n.endPeriod;return de.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker-year-header\"},r?\"\".concat(o,\" - \").concat(s):Le.default(e))})),St(Pt(a),\"renderHeader\",(function(e){switch(!0){case void 0!==a.props.renderCustomHeader:return a.renderCustomHeader(e);case a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker:return a.renderYearHeader(e);default:return a.renderDefaultHeader(e)}})),St(Pt(a),\"renderMonths\",(function(){if(!a.props.showTimeSelectOnly&&!a.props.showYearPicker){for(var e=[],t=a.props.showPreviousMonths?a.props.monthsShown-1:0,r=_e.default(a.state.date,t),n=0;n0;e.push(de.default.createElement(\"div\",{key:i,ref:function(e){a.monthContainer=e},className:\"react-datepicker__month-container\"},a.renderHeader({monthDate:s,i:n}),de.default.createElement(Vr,{chooseDayAriaLabelPrefix:a.props.chooseDayAriaLabelPrefix,disabledDayAriaLabelPrefix:a.props.disabledDayAriaLabelPrefix,weekAriaLabelPrefix:a.props.weekAriaLabelPrefix,ariaLabelPrefix:a.props.monthAriaLabelPrefix,onChange:a.changeMonthYear,day:s,dayClassName:a.props.dayClassName,calendarStartDay:a.props.calendarStartDay,monthClassName:a.props.monthClassName,onDayClick:a.handleDayClick,handleOnKeyDown:a.props.handleOnDayKeyDown,onDayMouseEnter:a.handleDayMouseEnter,onMouseLeave:a.handleMonthMouseLeave,onWeekSelect:a.props.onWeekSelect,orderInDisplay:n,formatWeekNumber:a.props.formatWeekNumber,locale:a.props.locale,minDate:a.props.minDate,maxDate:a.props.maxDate,excludeDates:a.props.excludeDates,excludeDateIntervals:a.props.excludeDateIntervals,highlightDates:a.props.highlightDates,selectingDate:a.state.selectingDate,includeDates:a.props.includeDates,includeDateIntervals:a.props.includeDateIntervals,inline:a.props.inline,shouldFocusDayInline:a.props.shouldFocusDayInline,fixedHeight:a.props.fixedHeight,filterDate:a.props.filterDate,preSelection:a.props.preSelection,setPreSelection:a.props.setPreSelection,selected:a.props.selected,selectsStart:a.props.selectsStart,selectsEnd:a.props.selectsEnd,selectsRange:a.props.selectsRange,selectsDisabledDaysInRange:a.props.selectsDisabledDaysInRange,showWeekNumbers:a.props.showWeekNumbers,startDate:a.props.startDate,endDate:a.props.endDate,peekNextMonth:a.props.peekNextMonth,setOpen:a.props.setOpen,shouldCloseOnSelect:a.props.shouldCloseOnSelect,renderDayContents:a.props.renderDayContents,renderMonthContent:a.props.renderMonthContent,renderQuarterContent:a.props.renderQuarterContent,renderYearContent:a.props.renderYearContent,disabledKeyboardNavigation:a.props.disabledKeyboardNavigation,showMonthYearPicker:a.props.showMonthYearPicker,showFullMonthYearPicker:a.props.showFullMonthYearPicker,showTwoColumnMonthYearPicker:a.props.showTwoColumnMonthYearPicker,showFourColumnMonthYearPicker:a.props.showFourColumnMonthYearPicker,showYearPicker:a.props.showYearPicker,showQuarterYearPicker:a.props.showQuarterYearPicker,isInputFocused:a.props.isInputFocused,containerRef:a.containerRef,monthShowsDuplicateDaysEnd:p,monthShowsDuplicateDaysStart:l})))}return e}})),St(Pt(a),\"renderYears\",(function(){if(!a.props.showTimeSelectOnly)return a.props.showYearPicker?de.default.createElement(\"div\",{className:\"react-datepicker__year--container\"},a.renderHeader(),de.default.createElement(zr,Ct({onDayClick:a.handleDayClick,selectingDate:a.state.selectingDate,clearSelectingDate:a.clearSelectingDate,date:a.state.date},a.props,{onYearMouseEnter:a.handleYearMouseEnter,onYearMouseLeave:a.handleYearMouseLeave}))):void 0})),St(Pt(a),\"renderTimeSection\",(function(){if(a.props.showTimeSelect&&(a.state.monthContainer||a.props.showTimeSelectOnly))return de.default.createElement(Ur,{selected:a.props.selected,openToDate:a.props.openToDate,onChange:a.props.onTimeChange,timeClassName:a.props.timeClassName,format:a.props.timeFormat,includeTimes:a.props.includeTimes,intervals:a.props.timeIntervals,minTime:a.props.minTime,maxTime:a.props.maxTime,excludeTimes:a.props.excludeTimes,filterTime:a.props.filterTime,timeCaption:a.props.timeCaption,todayButton:a.props.todayButton,showMonthDropdown:a.props.showMonthDropdown,showMonthYearDropdown:a.props.showMonthYearDropdown,showYearDropdown:a.props.showYearDropdown,withPortal:a.props.withPortal,monthRef:a.state.monthContainer,injectTimes:a.props.injectTimes,locale:a.props.locale,handleOnKeyDown:a.props.handleOnKeyDown,showTimeSelectOnly:a.props.showTimeSelectOnly})})),St(Pt(a),\"renderInputTimeSection\",(function(){var e=new Date(a.props.selected),t=qt(e)&&Boolean(a.props.selected)?\"\".concat(Cr(e.getHours()),\":\").concat(Cr(e.getMinutes())):\"\";if(a.props.showTimeInput)return de.default.createElement($r,{date:e,timeString:t,timeInputLabel:a.props.timeInputLabel,onChange:a.props.onTimeChange,customTimeInput:a.props.customTimeInput})})),St(Pt(a),\"renderAriaLiveRegion\",(function(){var e,t=_r(a.state.date,a.props.yearItemNumber),r=t.startPeriod,n=t.endPeriod;return e=a.props.showYearPicker?\"\".concat(r,\" - \").concat(n):a.props.showMonthYearPicker||a.props.showQuarterYearPicker?Le.default(a.state.date):\"\".concat(rr(Te.default(a.state.date),a.props.locale),\" \").concat(Le.default(a.state.date)),de.default.createElement(\"span\",{role:\"alert\",\"aria-live\":\"polite\",className:\"react-datepicker__aria-live\"},a.state.isRenderAriaLiveMessage&&e)})),St(Pt(a),\"renderChildren\",(function(){if(a.props.children)return de.default.createElement(\"div\",{className:\"react-datepicker__children-container\"},a.props.children)})),a.containerRef=de.default.createRef(),a.state={date:a.getDateInView(),selectingDate:null,monthContainer:null,isRenderAriaLiveMessage:!1},a}return bt(r,[{key:\"componentDidMount\",value:function(){var e=this;this.props.showTimeSelect&&(this.assignMonthContainer=void e.setState({monthContainer:e.monthContainer}))}},{key:\"componentDidUpdate\",value:function(e){var t=this;if(!this.props.preSelection||Jt(this.props.preSelection,e.preSelection)&&this.props.monthSelectedIn===e.monthSelectedIn)this.props.openToDate&&!Jt(this.props.openToDate,e.openToDate)&&this.setState({date:this.props.openToDate});else{var r=!$t(this.state.date,this.props.preSelection);this.setState({date:this.props.preSelection},(function(){return r&&t.handleCustomMonthChange(t.state.date)}))}}},{key:\"render\",value:function(){var e=this.props.container||Gr;return de.default.createElement(\"div\",{ref:this.containerRef},de.default.createElement(e,{className:ue.default(\"react-datepicker\",this.props.className,{\"react-datepicker--time-only\":this.props.showTimeSelectOnly}),showPopperArrow:this.props.showPopperArrow,arrowProps:this.props.arrowProps},this.renderAriaLiveRegion(),this.renderPreviousButton(),this.renderNextButton(),this.renderMonths(),this.renderYears(),this.renderTodayButton(),this.renderTimeSection(),this.renderInputTimeSection(),this.renderChildren()))}}],[{key:\"defaultProps\",get:function(){return{onDropdownFocus:function(){},monthsShown:1,monthSelectedIn:0,forceShowMonthNavigation:!1,timeCaption:\"Time\",previousYearButtonLabel:\"Previous Year\",nextYearButtonLabel:\"Next Year\",previousMonthButtonLabel:\"Previous Month\",nextMonthButtonLabel:\"Next Month\",customTimeInput:null,yearItemNumber:Lt}}}]),r}(de.default.Component),Zr=function(e){_t(r,e);var t=Yt(r);function r(e){var a;return wt(this,r),(a=t.call(this,e)).el=document.createElement(\"div\"),a}return bt(r,[{key:\"componentDidMount\",value:function(){this.portalRoot=(this.props.portalHost||document).getElementById(this.props.portalId),this.portalRoot||(this.portalRoot=document.createElement(\"div\"),this.portalRoot.setAttribute(\"id\",this.props.portalId),(this.props.portalHost||document.body).appendChild(this.portalRoot)),this.portalRoot.appendChild(this.el)}},{key:\"componentWillUnmount\",value:function(){this.portalRoot.removeChild(this.el)}},{key:\"render\",value:function(){return mt.default.createPortal(this.props.children,this.el)}}]),r}(de.default.Component),ea=function(e){return!e.disabled&&-1!==e.tabIndex},ta=function(e){_t(r,e);var t=Yt(r);function r(e){var a;return wt(this,r),St(Pt(a=t.call(this,e)),\"getTabChildren\",(function(){return Array.prototype.slice.call(a.tabLoopRef.current.querySelectorAll(\"[tabindex], a, button, input, select, textarea\"),1,-1).filter(ea)})),St(Pt(a),\"handleFocusStart\",(function(){var e=a.getTabChildren();e&&e.length>1&&e[e.length-1].focus()})),St(Pt(a),\"handleFocusEnd\",(function(){var e=a.getTabChildren();e&&e.length>1&&e[0].focus()})),a.tabLoopRef=de.default.createRef(),a}return bt(r,[{key:\"render\",value:function(){return this.props.enableTabLoop?de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop\",ref:this.tabLoopRef},de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__start\",tabIndex:\"0\",onFocus:this.handleFocusStart}),this.props.children,de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__end\",tabIndex:\"0\",onFocus:this.handleFocusEnd})):this.props.children}}],[{key:\"defaultProps\",get:function(){return{enableTabLoop:!0}}}]),r}(de.default.Component),ra=function(e){_t(r,e);var t=Yt(r);function r(){return wt(this,r),t.apply(this,arguments)}return bt(r,[{key:\"render\",value:function(){var e,t=this.props,r=t.className,a=t.wrapperClassName,n=t.hidePopper,o=t.popperComponent,s=t.popperModifiers,i=t.popperPlacement,p=t.popperProps,l=t.targetComponent,c=t.enableTabLoop,d=t.popperOnKeyDown,u=t.portalId,f=t.portalHost;if(!n){var h=ue.default(\"react-datepicker-popper\",r);e=de.default.createElement(pe.Popper,Ct({modifiers:s,placement:i},p),(function(e){var t=e.ref,r=e.style,a=e.placement,n=e.arrowProps;return de.default.createElement(ta,{enableTabLoop:c},de.default.createElement(\"div\",{ref:t,style:r,className:h,\"data-placement\":a,onKeyDown:d},de.default.cloneElement(o,{arrowProps:n})))}))}this.props.popperContainer&&(e=de.default.createElement(this.props.popperContainer,{},e)),u&&!n&&(e=de.default.createElement(Zr,{portalId:u,portalHost:f},e));var m=ue.default(\"react-datepicker-wrapper\",a);return de.default.createElement(pe.Manager,{className:\"react-datepicker-manager\"},de.default.createElement(pe.Reference,null,(function(e){var t=e.ref;return de.default.createElement(\"div\",{ref:t,className:m},l)})),e)}}],[{key:\"defaultProps\",get:function(){return{hidePopper:!0,popperModifiers:[],popperProps:{},popperPlacement:\"bottom-start\"}}}]),r}(de.default.Component),aa=\"react-datepicker-ignore-onclickoutside\",na=ht.default(Xr);var oa=\"Date input not valid.\",sa=function(e){_t(r,e);var t=Yt(r);function r(e){var a;return wt(this,r),St(Pt(a=t.call(this,e)),\"getPreSelection\",(function(){return a.props.openToDate?a.props.openToDate:a.props.selectsEnd&&a.props.startDate?a.props.startDate:a.props.selectsStart&&a.props.endDate?a.props.endDate:At()})),St(Pt(a),\"calcInitialState\",(function(){var e,t=a.getPreSelection(),r=wr(a.props),n=kr(a.props),o=r&<.default(t,$e.default(r))?r:n&&pt.default(t,et.default(n))?n:t;return{open:a.props.startOpen||!1,preventFocus:!1,preSelection:null!==(e=a.props.selectsRange?a.props.startDate:a.props.selected)&&void 0!==e?e:o,highlightDates:br(a.props.highlightDates),focused:!1,shouldFocusDayInline:!1,isRenderAriaLiveMessage:!1}})),St(Pt(a),\"clearPreventFocusTimeout\",(function(){a.preventFocusTimeout&&clearTimeout(a.preventFocusTimeout)})),St(Pt(a),\"setFocus\",(function(){a.input&&a.input.focus&&a.input.focus({preventScroll:!0})})),St(Pt(a),\"setBlur\",(function(){a.input&&a.input.blur&&a.input.blur(),a.cancelFocusInput()})),St(Pt(a),\"setOpen\",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.setState({open:e,preSelection:e&&a.state.open?a.state.preSelection:a.calcInitialState().preSelection,lastPreSelectChange:pa},(function(){e||a.setState((function(e){return{focused:!!t&&e.focused}}),(function(){!t&&a.setBlur(),a.setState({inputValue:null})}))}))})),St(Pt(a),\"inputOk\",(function(){return fe.default(a.state.preSelection)})),St(Pt(a),\"isCalendarOpen\",(function(){return void 0===a.props.open?a.state.open&&!a.props.disabled&&!a.props.readOnly:a.props.open})),St(Pt(a),\"handleFocus\",(function(e){a.state.preventFocus||(a.props.onFocus(e),a.props.preventOpenOnFocus||a.props.readOnly||a.setOpen(!0)),a.setState({focused:!0})})),St(Pt(a),\"cancelFocusInput\",(function(){clearTimeout(a.inputFocusTimeout),a.inputFocusTimeout=null})),St(Pt(a),\"deferFocusInput\",(function(){a.cancelFocusInput(),a.inputFocusTimeout=setTimeout((function(){return a.setFocus()}),1)})),St(Pt(a),\"handleDropdownFocus\",(function(){a.cancelFocusInput()})),St(Pt(a),\"handleBlur\",(function(e){(!a.state.open||a.props.withPortal||a.props.showTimeInput)&&a.props.onBlur(e),a.setState({focused:!1})})),St(Pt(a),\"handleCalendarClickOutside\",(function(e){a.props.inline||a.setOpen(!1),a.props.onClickOutside(e),a.props.withPortal&&e.preventDefault()})),St(Pt(a),\"handleChange\",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0&&(c=ut.default(o,s.slice(0,o.length),new Date)),qt(c)||(c=new Date(o))),qt(c)&&u?c:null));a.props.showTimeSelectOnly&&a.props.selected&&!Jt(f,a.props.selected)&&(f=null==f?yt.default(a.props.selected,{hours:Ne.default(a.props.selected),minutes:Ye.default(a.props.selected),seconds:Pe.default(a.props.selected)}):yt.default(a.props.selected,{hours:Ne.default(f),minutes:Ye.default(f),seconds:Pe.default(f)})),!f&&n.target.value||a.setSelected(f,n,!0)}})),St(Pt(a),\"handleSelect\",(function(e,t,r){if(a.setState({preventFocus:!0},(function(){return a.preventFocusTimeout=setTimeout((function(){return a.setState({preventFocus:!1})}),50),a.preventFocusTimeout})),a.props.onChangeRaw&&a.props.onChangeRaw(t),a.setSelected(e,t,!1,r),a.props.showDateSelect&&a.setState({isRenderAriaLiveMessage:!0}),!a.props.shouldCloseOnSelect||a.props.showTimeSelect)a.setPreSelection(e);else if(!a.props.inline){a.props.selectsRange||a.setOpen(!1);var n=a.props,o=n.startDate,s=n.endDate;!o||s||lt.default(e,o)||a.setOpen(!1)}})),St(Pt(a),\"setSelected\",(function(e,t,r,n){var o=e;if(a.props.showYearPicker){if(null!==o&&cr(Le.default(o),a.props))return}else if(a.props.showMonthYearPicker){if(null!==o&&sr(o,a.props))return}else if(null!==o&&nr(o,a.props))return;var s=a.props,i=s.onChange,p=s.selectsRange,l=s.startDate,c=s.endDate;if(!Xt(a.props.selected,o)||a.props.allowSameDay||p)if(null!==o&&(!a.props.selected||r&&(a.props.showTimeSelect||a.props.showTimeSelectOnly||a.props.showTimeInput)||(o=Bt(o,{hour:Ne.default(a.props.selected),minute:Ye.default(a.props.selected),second:Pe.default(a.props.selected)})),a.props.inline||a.setState({preSelection:o}),a.props.focusSelectedMonth||a.setState({monthSelectedIn:n})),p){var d=l&&!c,u=l&&c;!l&&!c?i([o,null],t):d&&(lt.default(o,l)?i([o,null],t):i([l,o],t)),u&&i([o,null],t)}else i(o,t);r||(a.props.onSelect(o,t),a.setState({inputValue:null}))})),St(Pt(a),\"setPreSelection\",(function(e){var t=void 0!==a.props.minDate,r=void 0!==a.props.maxDate,n=!0;if(e){var o=$e.default(e);if(t&&r)n=Zt(e,a.props.minDate,a.props.maxDate);else if(t){var s=$e.default(a.props.minDate);n=pt.default(e,s)||Xt(o,s)}else if(r){var i=et.default(a.props.maxDate);n=lt.default(e,i)||Xt(o,i)}}n&&a.setState({preSelection:e})})),St(Pt(a),\"handleTimeChange\",(function(e){var t=Bt(a.props.selected?a.props.selected:a.getPreSelection(),{hour:Ne.default(e),minute:Ye.default(e)});a.setState({preSelection:t}),a.props.onChange(t),a.props.shouldCloseOnSelect&&a.setOpen(!1),a.props.showTimeInput&&a.setOpen(!0),(a.props.showTimeSelectOnly||a.props.showTimeSelect)&&a.setState({isRenderAriaLiveMessage:!0}),a.setState({inputValue:null})})),St(Pt(a),\"onInputClick\",(function(){a.props.disabled||a.props.readOnly||a.setOpen(!0),a.props.onInputClick()})),St(Pt(a),\"onInputKeyDown\",(function(e){a.props.onKeyDown(e);var t=e.key;if(a.state.open||a.props.inline||a.props.preventOpenOnFocus){if(a.state.open){if(\"ArrowDown\"===t||\"ArrowUp\"===t){e.preventDefault();var r=a.calendar.componentNode&&a.calendar.componentNode.querySelector('.react-datepicker__day[tabindex=\"0\"]');return void(r&&r.focus({preventScroll:!0}))}var n=At(a.state.preSelection);\"Enter\"===t?(e.preventDefault(),a.inputOk()&&a.state.lastPreSelectChange===pa?(a.handleSelect(n,e),!a.props.shouldCloseOnSelect&&a.setPreSelection(n)):a.setOpen(!1)):\"Escape\"===t?(e.preventDefault(),a.setOpen(!1)):\"Tab\"===t&&e.shiftKey&&a.setOpen(!1),a.inputOk()||a.props.onInputError({code:1,msg:oa})}}else\"ArrowDown\"!==t&&\"ArrowUp\"!==t&&\"Enter\"!==t||a.onInputClick()})),St(Pt(a),\"onPortalKeyDown\",(function(e){\"Escape\"===e.key&&(e.preventDefault(),a.setState({preventFocus:!0},(function(){a.setOpen(!1),setTimeout((function(){a.setFocus(),a.setState({preventFocus:!1})}))})))})),St(Pt(a),\"onDayKeyDown\",(function(e){a.props.onKeyDown(e);var t=e.key,r=At(a.state.preSelection);if(\"Enter\"===t)e.preventDefault(),a.handleSelect(r,e),!a.props.shouldCloseOnSelect&&a.setPreSelection(r);else if(\"Escape\"===t)e.preventDefault(),a.setOpen(!1),a.inputOk()||a.props.onInputError({code:1,msg:oa});else if(!a.props.disabledKeyboardNavigation){var n;switch(t){case\"ArrowLeft\":n=Se.default(r,1);break;case\"ArrowRight\":n=De.default(r,1);break;case\"ArrowUp\":n=Ce.default(r,1);break;case\"ArrowDown\":n=ge.default(r,1);break;case\"PageUp\":n=_e.default(r,1);break;case\"PageDown\":n=we.default(r,1);break;case\"Home\":n=Ee.default(r,1);break;case\"End\":n=be.default(r,1)}if(!n)return void(a.props.onInputError&&a.props.onInputError({code:1,msg:oa}));if(e.preventDefault(),a.setState({lastPreSelectChange:pa}),a.props.adjustDateOnChange&&a.setSelected(n),a.setPreSelection(n),a.props.inline){var o=Te.default(r),s=Te.default(n),i=Le.default(r),p=Le.default(n);o!==s||i!==p?a.setState({shouldFocusDayInline:!0}):a.setState({shouldFocusDayInline:!1})}}})),St(Pt(a),\"onPopperKeyDown\",(function(e){\"Escape\"===e.key&&(e.preventDefault(),a.setState({preventFocus:!0},(function(){a.setOpen(!1),setTimeout((function(){a.setFocus(),a.setState({preventFocus:!1})}))})))})),St(Pt(a),\"onClearClick\",(function(e){e&&e.preventDefault&&e.preventDefault(),a.props.selectsRange?a.props.onChange([null,null],e):a.props.onChange(null,e),a.setState({inputValue:null})})),St(Pt(a),\"clear\",(function(){a.onClearClick()})),St(Pt(a),\"onScroll\",(function(e){\"boolean\"==typeof a.props.closeOnScroll&&a.props.closeOnScroll?e.target!==document&&e.target!==document.documentElement&&e.target!==document.body||a.setOpen(!1):\"function\"==typeof a.props.closeOnScroll&&a.props.closeOnScroll(e)&&a.setOpen(!1)})),St(Pt(a),\"renderCalendar\",(function(){return a.props.inline||a.isCalendarOpen()?de.default.createElement(na,{ref:function(e){a.calendar=e},locale:a.props.locale,calendarStartDay:a.props.calendarStartDay,chooseDayAriaLabelPrefix:a.props.chooseDayAriaLabelPrefix,disabledDayAriaLabelPrefix:a.props.disabledDayAriaLabelPrefix,weekAriaLabelPrefix:a.props.weekAriaLabelPrefix,monthAriaLabelPrefix:a.props.monthAriaLabelPrefix,adjustDateOnChange:a.props.adjustDateOnChange,setOpen:a.setOpen,shouldCloseOnSelect:a.props.shouldCloseOnSelect,dateFormat:a.props.dateFormatCalendar,useWeekdaysShort:a.props.useWeekdaysShort,formatWeekDay:a.props.formatWeekDay,dropdownMode:a.props.dropdownMode,selected:a.props.selected,preSelection:a.state.preSelection,onSelect:a.handleSelect,onWeekSelect:a.props.onWeekSelect,openToDate:a.props.openToDate,minDate:a.props.minDate,maxDate:a.props.maxDate,selectsStart:a.props.selectsStart,selectsEnd:a.props.selectsEnd,selectsRange:a.props.selectsRange,startDate:a.props.startDate,endDate:a.props.endDate,excludeDates:a.props.excludeDates,excludeDateIntervals:a.props.excludeDateIntervals,filterDate:a.props.filterDate,onClickOutside:a.handleCalendarClickOutside,formatWeekNumber:a.props.formatWeekNumber,highlightDates:a.state.highlightDates,includeDates:a.props.includeDates,includeDateIntervals:a.props.includeDateIntervals,includeTimes:a.props.includeTimes,injectTimes:a.props.injectTimes,inline:a.props.inline,shouldFocusDayInline:a.state.shouldFocusDayInline,peekNextMonth:a.props.peekNextMonth,showMonthDropdown:a.props.showMonthDropdown,showPreviousMonths:a.props.showPreviousMonths,useShortMonthInDropdown:a.props.useShortMonthInDropdown,showMonthYearDropdown:a.props.showMonthYearDropdown,showWeekNumbers:a.props.showWeekNumbers,showYearDropdown:a.props.showYearDropdown,withPortal:a.props.withPortal,forceShowMonthNavigation:a.props.forceShowMonthNavigation,showDisabledMonthNavigation:a.props.showDisabledMonthNavigation,scrollableYearDropdown:a.props.scrollableYearDropdown,scrollableMonthYearDropdown:a.props.scrollableMonthYearDropdown,todayButton:a.props.todayButton,weekLabel:a.props.weekLabel,outsideClickIgnoreClass:aa,fixedHeight:a.props.fixedHeight,monthsShown:a.props.monthsShown,monthSelectedIn:a.state.monthSelectedIn,onDropdownFocus:a.handleDropdownFocus,onMonthChange:a.props.onMonthChange,onYearChange:a.props.onYearChange,dayClassName:a.props.dayClassName,weekDayClassName:a.props.weekDayClassName,monthClassName:a.props.monthClassName,timeClassName:a.props.timeClassName,showDateSelect:a.props.showDateSelect,showTimeSelect:a.props.showTimeSelect,showTimeSelectOnly:a.props.showTimeSelectOnly,onTimeChange:a.handleTimeChange,timeFormat:a.props.timeFormat,timeIntervals:a.props.timeIntervals,minTime:a.props.minTime,maxTime:a.props.maxTime,excludeTimes:a.props.excludeTimes,filterTime:a.props.filterTime,timeCaption:a.props.timeCaption,className:a.props.calendarClassName,container:a.props.calendarContainer,yearItemNumber:a.props.yearItemNumber,yearDropdownItemNumber:a.props.yearDropdownItemNumber,previousMonthAriaLabel:a.props.previousMonthAriaLabel,previousMonthButtonLabel:a.props.previousMonthButtonLabel,nextMonthAriaLabel:a.props.nextMonthAriaLabel,nextMonthButtonLabel:a.props.nextMonthButtonLabel,previousYearAriaLabel:a.props.previousYearAriaLabel,previousYearButtonLabel:a.props.previousYearButtonLabel,nextYearAriaLabel:a.props.nextYearAriaLabel,nextYearButtonLabel:a.props.nextYearButtonLabel,timeInputLabel:a.props.timeInputLabel,disabledKeyboardNavigation:a.props.disabledKeyboardNavigation,renderCustomHeader:a.props.renderCustomHeader,popperProps:a.props.popperProps,renderDayContents:a.props.renderDayContents,renderMonthContent:a.props.renderMonthContent,renderQuarterContent:a.props.renderQuarterContent,renderYearContent:a.props.renderYearContent,onDayMouseEnter:a.props.onDayMouseEnter,onMonthMouseLeave:a.props.onMonthMouseLeave,onYearMouseEnter:a.props.onYearMouseEnter,onYearMouseLeave:a.props.onYearMouseLeave,selectsDisabledDaysInRange:a.props.selectsDisabledDaysInRange,showTimeInput:a.props.showTimeInput,showMonthYearPicker:a.props.showMonthYearPicker,showFullMonthYearPicker:a.props.showFullMonthYearPicker,showTwoColumnMonthYearPicker:a.props.showTwoColumnMonthYearPicker,showFourColumnMonthYearPicker:a.props.showFourColumnMonthYearPicker,showYearPicker:a.props.showYearPicker,showQuarterYearPicker:a.props.showQuarterYearPicker,showPopperArrow:a.props.showPopperArrow,excludeScrollbar:a.props.excludeScrollbar,handleOnKeyDown:a.props.onKeyDown,handleOnDayKeyDown:a.onDayKeyDown,isInputFocused:a.state.focused,customTimeInput:a.props.customTimeInput,setPreSelection:a.setPreSelection},a.props.children):null})),St(Pt(a),\"renderAriaLiveRegion\",(function(){var e,t=a.props,r=t.dateFormat,n=t.locale,o=a.props.showTimeInput||a.props.showTimeSelect?\"PPPPp\":\"PPPP\";return e=a.props.selectsRange?\"Selected start date: \".concat(Kt(a.props.startDate,{dateFormat:o,locale:n}),\". \").concat(a.props.endDate?\"End date: \"+Kt(a.props.endDate,{dateFormat:o,locale:n}):\"\"):a.props.showTimeSelectOnly?\"Selected time: \".concat(Kt(a.props.selected,{dateFormat:r,locale:n})):a.props.showYearPicker?\"Selected year: \".concat(Kt(a.props.selected,{dateFormat:\"yyyy\",locale:n})):a.props.showMonthYearPicker?\"Selected month: \".concat(Kt(a.props.selected,{dateFormat:\"MMMM yyyy\",locale:n})):a.props.showQuarterYearPicker?\"Selected quarter: \".concat(Kt(a.props.selected,{dateFormat:\"yyyy, QQQ\",locale:n})):\"Selected date: \".concat(Kt(a.props.selected,{dateFormat:o,locale:n})),de.default.createElement(\"span\",{role:\"alert\",\"aria-live\":\"polite\",className:\"react-datepicker__aria-live\"},e)})),St(Pt(a),\"renderDateInput\",(function(){var e,t=ue.default(a.props.className,St({},aa,a.state.open)),r=a.props.customInput||de.default.createElement(\"input\",{type:\"text\"}),n=a.props.customInputRef||\"ref\",o=\"string\"==typeof a.props.value?a.props.value:\"string\"==typeof a.state.inputValue?a.state.inputValue:a.props.selectsRange?function(e,t,r){if(!e)return\"\";var a=Kt(e,r),n=t?Kt(t,r):\"\";return\"\".concat(a,\" - \").concat(n)}(a.props.startDate,a.props.endDate,a.props):Kt(a.props.selected,a.props);return de.default.cloneElement(r,(St(e={},n,(function(e){a.input=e})),St(e,\"value\",o),St(e,\"onBlur\",a.handleBlur),St(e,\"onChange\",a.handleChange),St(e,\"onClick\",a.onInputClick),St(e,\"onFocus\",a.handleFocus),St(e,\"onKeyDown\",a.onInputKeyDown),St(e,\"id\",a.props.id),St(e,\"name\",a.props.name),St(e,\"form\",a.props.form),St(e,\"autoFocus\",a.props.autoFocus),St(e,\"placeholder\",a.props.placeholderText),St(e,\"disabled\",a.props.disabled),St(e,\"autoComplete\",a.props.autoComplete),St(e,\"className\",ue.default(r.props.className,t)),St(e,\"title\",a.props.title),St(e,\"readOnly\",a.props.readOnly),St(e,\"required\",a.props.required),St(e,\"tabIndex\",a.props.tabIndex),St(e,\"aria-describedby\",a.props.ariaDescribedBy),St(e,\"aria-invalid\",a.props.ariaInvalid),St(e,\"aria-labelledby\",a.props.ariaLabelledBy),St(e,\"aria-required\",a.props.ariaRequired),e))})),St(Pt(a),\"renderClearButton\",(function(){var e=a.props,t=e.isClearable,r=e.selected,n=e.startDate,o=e.endDate,s=e.clearButtonTitle,i=e.clearButtonClassName,p=void 0===i?\"\":i,l=e.ariaLabelClose,c=void 0===l?\"Close\":l;return!t||null==r&&null==n&&null==o?null:de.default.createElement(\"button\",{type:\"button\",className:\"react-datepicker__close-icon \".concat(p).trim(),\"aria-label\":c,onClick:a.onClearClick,title:s,tabIndex:-1})})),a.state=a.calcInitialState(),a}return bt(r,[{key:\"componentDidMount\",value:function(){window.addEventListener(\"scroll\",this.onScroll,!0)}},{key:\"componentDidUpdate\",value:function(e,t){var r,a;e.inline&&(r=e.selected,a=this.props.selected,r&&a?Te.default(r)!==Te.default(a)||Le.default(r)!==Le.default(a):r!==a)&&this.setPreSelection(this.props.selected),void 0!==this.state.monthSelectedIn&&e.monthsShown!==this.props.monthsShown&&this.setState({monthSelectedIn:0}),e.highlightDates!==this.props.highlightDates&&this.setState({highlightDates:br(this.props.highlightDates)}),t.focused||Xt(e.selected,this.props.selected)||this.setState({inputValue:null}),t.open!==this.state.open&&(!1===t.open&&!0===this.state.open&&this.props.onCalendarOpen(),!0===t.open&&!1===this.state.open&&this.props.onCalendarClose())}},{key:\"componentWillUnmount\",value:function(){this.clearPreventFocusTimeout(),window.removeEventListener(\"scroll\",this.onScroll,!0)}},{key:\"renderInputContainer\",value:function(){var e=this.props.showIcon;return de.default.createElement(\"div\",{className:\"react-datepicker__input-container\".concat(e?\" react-datepicker__view-calendar-icon\":\"\")},e&&de.default.createElement(\"svg\",{className:\"react-datepicker__calendar-icon\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 448 512\"},de.default.createElement(\"path\",{d:\"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z\"})),this.state.isRenderAriaLiveMessage&&this.renderAriaLiveRegion(),this.renderDateInput(),this.renderClearButton())}},{key:\"render\",value:function(){var e=this.renderCalendar();if(this.props.inline)return e;if(this.props.withPortal){var t=this.state.open?de.default.createElement(ta,{enableTabLoop:this.props.enableTabLoop},de.default.createElement(\"div\",{className:\"react-datepicker__portal\",tabIndex:-1,onKeyDown:this.onPortalKeyDown},e)):null;return this.state.open&&this.props.portalId&&(t=de.default.createElement(Zr,{portalId:this.props.portalId,portalHost:this.props.portalHost},t)),de.default.createElement(\"div\",null,this.renderInputContainer(),t)}return de.default.createElement(ra,{className:this.props.popperClassName,wrapperClassName:this.props.wrapperClassName,hidePopper:!this.isCalendarOpen(),portalId:this.props.portalId,portalHost:this.props.portalHost,popperModifiers:this.props.popperModifiers,targetComponent:this.renderInputContainer(),popperContainer:this.props.popperContainer,popperComponent:e,popperPlacement:this.props.popperPlacement,popperProps:this.props.popperProps,popperOnKeyDown:this.onPopperKeyDown,enableTabLoop:this.props.enableTabLoop})}}],[{key:\"defaultProps\",get:function(){return{allowSameDay:!1,dateFormat:\"MM/dd/yyyy\",dateFormatCalendar:\"LLLL yyyy\",onChange:function(){},disabled:!1,disabledKeyboardNavigation:!1,dropdownMode:\"scroll\",onFocus:function(){},onBlur:function(){},onKeyDown:function(){},onInputClick:function(){},onSelect:function(){},onClickOutside:function(){},onMonthChange:function(){},onCalendarOpen:function(){},onCalendarClose:function(){},preventOpenOnFocus:!1,onYearChange:function(){},onInputError:function(){},monthsShown:1,readOnly:!1,withPortal:!1,selectsDisabledDaysInRange:!1,shouldCloseOnSelect:!0,showTimeSelect:!1,showTimeInput:!1,showPreviousMonths:!1,showMonthYearPicker:!1,showFullMonthYearPicker:!1,showTwoColumnMonthYearPicker:!1,showFourColumnMonthYearPicker:!1,showYearPicker:!1,showQuarterYearPicker:!1,strictParsing:!1,timeIntervals:30,timeCaption:\"Time\",previousMonthAriaLabel:\"Previous Month\",previousMonthButtonLabel:\"Previous Month\",nextMonthAriaLabel:\"Next Month\",nextMonthButtonLabel:\"Next Month\",previousYearAriaLabel:\"Previous Year\",previousYearButtonLabel:\"Previous Year\",nextYearAriaLabel:\"Next Year\",nextYearButtonLabel:\"Next Year\",timeInputLabel:\"Time\",enableTabLoop:!0,yearItemNumber:Lt,focusSelectedMonth:!1,showPopperArrow:!0,excludeScrollbar:!0,customTimeInput:null,calendarStartDay:void 0}}}]),r}(de.default.Component),ia=\"input\",pa=\"navigate\";e.CalendarContainer=Gr,e.default=sa,e.getDefaultLocale=er,e.registerLocale=function(e,t){var r=\"undefined\"!=typeof window?window:globalThis;r.__localeData__||(r.__localeData__={}),r.__localeData__[e]=t},e.setDefaultLocale=function(e){(\"undefined\"!=typeof window?window:globalThis).__localeId__=e},Object.defineProperty(e,\"__esModule\",{value:!0})}));\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_HOUR = 3600000;\n\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\nexport default function addHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\nexport default function addMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n var dayOfMonth = date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addQuarters\n * @category Quarter Helpers\n * @summary Add the specified number of year quarters to the given date.\n *\n * @description\n * Add the specified number of year quarters to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 1 quarter to 1 September 2014:\n * const result = addQuarters(new Date(2014, 8, 1), 1)\n * //=> Mon Dec 01 2014 00:00:00\n */\nexport default function addQuarters(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var months = amount * 3;\n return addMonths(dirtyDate, months);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarYears\n * @category Year Helpers\n * @summary Get the number of calendar years between the given dates.\n *\n * @description\n * Get the number of calendar years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInCalendarYears(\n * new Date(2015, 1, 11),\n * new Date(2013, 11, 31)\n * )\n * //=> 2\n */\nexport default function differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() - dateRight.getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * const result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\nexport default function endOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * const result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\nexport default function getDate(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var dayOfMonth = date.getDate();\n return dayOfMonth;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport default function getDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\nexport default function getHours(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var hours = date.getHours();\n return hours;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport default function getISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\nexport default function getMinutes(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\nexport default function getMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n return month;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getQuarter\n * @category Quarter Helpers\n * @summary Get the year quarter of the given date.\n *\n * @description\n * Get the year quarter of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which quarter is 2 July 2014?\n * const result = getQuarter(new Date(2014, 6, 2))\n * //=> 3\n */\nexport default function getQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var quarter = Math.floor(date.getMonth() / 3) + 1;\n return quarter;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\nexport default function getSeconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getTime\n * @category Timestamp Helpers\n * @summary Get the milliseconds timestamp of the given date.\n *\n * @description\n * Get the milliseconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05.123:\n * const result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 1330515905123\n */\nexport default function getTime(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n return timestamp;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\nexport default function getYear(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport default function isSameMonth(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}","import startOfQuarter from \"../startOfQuarter/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameQuarter\n * @category Quarter Helpers\n * @summary Are the given dates in the same quarter (and year)?\n *\n * @description\n * Are the given dates in the same quarter (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same quarter (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 January 2014 and 8 March 2014 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8))\n * //=> true\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport default function isSameQuarter(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfQuarter = startOfQuarter(dirtyDateLeft);\n var dateRightStartOfQuarter = startOfQuarter(dirtyDateRight);\n return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport default function isSameYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param {Date|Number} date - the date to check\n * @param {Interval} interval - the interval to check\n * @returns {Boolean} the date is within the interval\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> false\n *\n * @example\n * // For date equal to interval start:\n * isWithinInterval(date, { start, end: date }) // => true\n *\n * @example\n * // For date equal to interval end:\n * isWithinInterval(date, { start: date, end }) // => true\n */\nexport default function isWithinInterval(dirtyDate, interval) {\n requiredArgs(2, arguments);\n var time = toDate(dirtyDate).getTime();\n var startTime = toDate(interval.start).getTime();\n var endTime = toDate(interval.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startTime <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n return time >= startTime && time <= endTime;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the latest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport default function max(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result < currentDate || isNaN(Number(currentDate))) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} - the earliest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport default function min(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result > currentDate || isNaN(currentDate.getDate())) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function assign(target, object) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\n }\n return target;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", 0);\n }\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n var _super = _createSuper(ValueSetter);\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n _classCallCheck(this, ValueSetter);\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n return _this;\n }\n _createClass(ValueSetter, [{\n key: \"validate\",\n value: function validate(utcDate, options) {\n return this.validateValue(utcDate, this.value, options);\n }\n }, {\n key: \"set\",\n value: function set(utcDate, flags, options) {\n return this.setValue(utcDate, flags, this.value, options);\n }\n }]);\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n function DateToSystemTimezoneSetter() {\n var _this2;\n _classCallCheck(this, DateToSystemTimezoneSetter);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n return _this2;\n }\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n }\n }]);\n return DateToSystemTimezoneSetter;\n}(Setter);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n _defineProperty(this, \"incompatibleTokens\", void 0);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", void 0);\n }\n _createClass(Parser, [{\n key: \"run\",\n value: function run(dateString, token, match, options) {\n var result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n return {\n setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n rest: result.rest\n };\n }\n }, {\n key: \"validate\",\n value: function validate(_utcDate, _value, _options) {\n return true;\n }\n }]);\n return Parser;\n}();","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n var _super = _createSuper(EraParser);\n function EraParser() {\n var _this;\n _classCallCheck(this, EraParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n return _this;\n }\n _createClass(EraParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n // A, B\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(dateString, {\n width: 'wide'\n }) || match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return EraParser;\n}(Parser);","export var numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nexport var timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};","import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest\n };\n}\nexport function parseNumericPattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\n }\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case 'morning':\n return 4;\n case 'evening':\n return 17;\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n _inherits(YearParser, _Parser);\n var _super = _createSuper(YearParser);\n function YearParser() {\n var _this;\n _classCallCheck(this, YearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(YearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n var currentYear = date.getUTCFullYear();\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return YearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekYearParser, _Parser);\n var _super = _createSuper(LocalWeekYearParser);\n function LocalWeekYearParser() {\n var _this;\n _classCallCheck(this, LocalWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n }]);\n return LocalWeekYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n var _super = _createSuper(ISOWeekYearParser);\n function ISOWeekYearParser() {\n var _this;\n _classCallCheck(this, ISOWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n }\n }]);\n return ISOWeekYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n var _super = _createSuper(ExtendedYearParser);\n function ExtendedYearParser() {\n var _this;\n _classCallCheck(this, ExtendedYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ExtendedYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n var _super = _createSuper(QuarterParser);\n function QuarterParser() {\n var _this;\n _classCallCheck(this, QuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(QuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return QuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n var _super = _createSuper(StandAloneQuarterParser);\n function StandAloneQuarterParser() {\n var _this;\n _classCallCheck(this, StandAloneQuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneQuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneQuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(MonthParser, _Parser);\n var _super = _createSuper(MonthParser);\n function MonthParser() {\n var _this;\n _classCallCheck(this, MonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n return _this;\n }\n _createClass(MonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return MonthParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneMonthParser, _Parser);\n var _super = _createSuper(StandAloneMonthParser);\n function StandAloneMonthParser() {\n var _this;\n _classCallCheck(this, StandAloneMonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneMonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneMonthParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n var _super = _createSuper(LocalWeekParser);\n function LocalWeekParser() {\n var _this;\n _classCallCheck(this, LocalWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n }\n }]);\n return LocalWeekParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n var _super = _createSuper(ISOWeekParser);\n function ISOWeekParser() {\n var _this;\n _classCallCheck(this, ISOWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value));\n }\n }]);\n return ISOWeekParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// Day of the month\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n var _super = _createSuper(DateParser);\n function DateParser() {\n var _this;\n _classCallCheck(this, DateParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DateParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, dateString);\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DateParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayOfYearParser, _Parser);\n var _super = _createSuper(DayOfYearParser);\n function DayOfYearParser() {\n var _this;\n _classCallCheck(this, DayOfYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayOfYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayOfYearParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n var _super = _createSuper(DayParser);\n function DayParser() {\n var _this;\n _classCallCheck(this, DayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n var _super = _createSuper(LocalDayParser);\n function LocalDayParser() {\n var _this;\n _classCallCheck(this, LocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n return _this;\n }\n _createClass(LocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'eee':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return LocalDayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n var _super = _createSuper(StandAloneLocalDayParser);\n function StandAloneLocalDayParser() {\n var _this;\n _classCallCheck(this, StandAloneLocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneLocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'ccc':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneLocalDayParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n if (day % 7 === 0) {\n day = day - 7;\n }\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n var _super = _createSuper(ISODayParser);\n function ISODayParser() {\n var _this;\n _classCallCheck(this, ISODayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISODayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return mapValue(match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // T\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n case 'iiiiii':\n return mapValue(match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tuesday\n case 'iiii':\n default:\n return mapValue(match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date = setUTCISODay(date, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ISODayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n var _super = _createSuper(AMPMParser);\n function AMPMParser() {\n var _this;\n _classCallCheck(this, AMPMParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n var _super = _createSuper(AMPMMidnightParser);\n function AMPMMidnightParser() {\n var _this;\n _classCallCheck(this, AMPMMidnightParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMMidnightParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMMidnightParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n var _super = _createSuper(DayPeriodParser);\n function DayPeriodParser() {\n var _this;\n _classCallCheck(this, DayPeriodParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n return _this;\n }\n _createClass(DayPeriodParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return DayPeriodParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1to12Parser, _Parser);\n var _super = _createSuper(Hour1to12Parser);\n function Hour1to12Parser() {\n var _this;\n _classCallCheck(this, Hour1to12Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour1to12Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour1to12Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0to23Parser, _Parser);\n var _super = _createSuper(Hour0to23Parser);\n function Hour0to23Parser() {\n var _this;\n _classCallCheck(this, Hour0to23Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0to23Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n }\n }]);\n return Hour0to23Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0To11Parser, _Parser);\n var _super = _createSuper(Hour0To11Parser);\n function Hour0To11Parser() {\n var _this;\n _classCallCheck(this, Hour0To11Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0To11Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour0To11Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1To24Parser, _Parser);\n var _super = _createSuper(Hour1To24Parser);\n function Hour1To24Parser() {\n var _this;\n _classCallCheck(this, Hour1To24Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n return _this;\n }\n _createClass(Hour1To24Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n }\n }]);\n return Hour1To24Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n _inherits(MinuteParser, _Parser);\n var _super = _createSuper(MinuteParser);\n function MinuteParser() {\n var _this;\n _classCallCheck(this, MinuteParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(MinuteParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, dateString);\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n }\n }]);\n return MinuteParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(SecondParser, _Parser);\n var _super = _createSuper(SecondParser);\n function SecondParser() {\n var _this;\n _classCallCheck(this, SecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(SecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, dateString);\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCSeconds(value, 0);\n return date;\n }\n }]);\n return SecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n var _super = _createSuper(FractionOfSecondParser);\n function FractionOfSecondParser() {\n var _this;\n _classCallCheck(this, FractionOfSecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(FractionOfSecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n var valueCallback = function valueCallback(value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMilliseconds(value);\n return date;\n }\n }]);\n return FractionOfSecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n var _super = _createSuper(ISOTimezoneWithZParser);\n function ISOTimezoneWithZParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneWithZParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n return _this;\n }\n _createClass(ISOTimezoneWithZParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneWithZParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n var _super = _createSuper(ISOTimezoneParser);\n function ISOTimezoneParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n return _this;\n }\n _createClass(ISOTimezoneParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n var _super = _createSuper(TimestampSecondsParser);\n function TimestampSecondsParser() {\n var _this;\n _classCallCheck(this, TimestampSecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampSecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampSecondsParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n var _super = _createSuper(TimestampMillisecondsParser);\n function TimestampMillisecondsParser() {\n var _this;\n _classCallCheck(this, TimestampMillisecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampMillisecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampMillisecondsParser;\n}(Parser);","import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport var parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser()\n};","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/esm/createForOfIteratorHelper\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n try {\n var _loop = function _loop() {\n var token = _step.value;\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\n }\n setters.push(parseResult.setter);\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return {\n v: new Date(NaN)\n };\n }\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n // Check if the remaining input contains something other than whitespace\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n var result = setter.set(utcDate, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]);\n // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return utcDate;\n}\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name set\n * @category Common Helpers\n * @summary Set date values to a given date.\n *\n * @description\n * Set date values to a given date.\n *\n * Sets time values to date from object `values`.\n * A value is not set if it is undefined or null or doesn't exist in `values`.\n *\n * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts\n * to use native `Date#setX` methods. If you use this function, you may not want to include the\n * other `setX` functions that date-fns provides if you are concerned about the bundle size.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Object} values - an object with options\n * @param {Number} [values.year] - the number of years to be set\n * @param {Number} [values.month] - the number of months to be set\n * @param {Number} [values.date] - the number of days to be set\n * @param {Number} [values.hours] - the number of hours to be set\n * @param {Number} [values.minutes] - the number of minutes to be set\n * @param {Number} [values.seconds] - the number of seconds to be set\n * @param {Number} [values.milliseconds] - the number of milliseconds to be set\n * @returns {Date} the new date with options set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `values` must be an object\n *\n * @example\n * // Transform 1 September 2014 into 20 October 2015 in a single line:\n * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 })\n * //=> Tue Oct 20 2015 00:00:00\n *\n * @example\n * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00:\n * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 })\n * //=> Mon Sep 01 2014 12:23:45\n */\nexport default function set(dirtyDate, values) {\n requiredArgs(2, arguments);\n if (_typeof(values) !== 'object' || values === null) {\n throw new RangeError('values parameter must be an object');\n }\n var date = toDate(dirtyDate);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n if (values.year != null) {\n date.setFullYear(values.year);\n }\n if (values.month != null) {\n date = setMonth(date, values.month);\n }\n if (values.date != null) {\n date.setDate(toInteger(values.date));\n }\n if (values.hours != null) {\n date.setHours(toInteger(values.hours));\n }\n if (values.minutes != null) {\n date.setMinutes(toInteger(values.minutes));\n }\n if (values.seconds != null) {\n date.setSeconds(toInteger(values.seconds));\n }\n if (values.milliseconds != null) {\n date.setMilliseconds(toInteger(values.milliseconds));\n }\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport default function getDaysInMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\nexport default function setMonth(dirtyDate, dirtyMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var month = toInteger(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = getDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setQuarter\n * @category Quarter Helpers\n * @summary Set the year quarter to the given date.\n *\n * @description\n * Set the year quarter to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} quarter - the quarter of the new date\n * @returns {Date} the new date with the quarter set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd quarter to 2 July 2014:\n * const result = setQuarter(new Date(2014, 6, 2), 2)\n * //=> Wed Apr 02 2014 00:00:00\n */\nexport default function setQuarter(dirtyDate, dirtyQuarter) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var quarter = toInteger(dirtyQuarter);\n var oldQuarter = Math.floor(date.getMonth() / 3) + 1;\n var diff = quarter - oldQuarter;\n return setMonth(date, date.getMonth() + diff * 3);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\nexport default function setYear(dirtyDate, dirtyYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var year = toInteger(dirtyYear);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n date.setFullYear(year);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\nexport default function startOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3;\n date.setMonth(month, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport default function startOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var cleanDate = toDate(dirtyDate);\n var date = new Date(0);\n date.setFullYear(cleanDate.getFullYear(), 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addQuarters from \"../addQuarters/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subQuarters\n * @category Quarter Helpers\n * @summary Subtract the specified number of year quarters from the given date.\n *\n * @description\n * Subtract the specified number of year quarters from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of quarters to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the quarters subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 3 quarters from 1 September 2014:\n * const result = subQuarters(new Date(2014, 8, 1), 3)\n * //=> Sun Dec 01 2013 00:00:00\n */\nexport default function subQuarters(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addQuarters(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport default function subWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addWeeks(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","'use strict';\n\nvar _warn = require('./utils/warn');\n\nvar _warn2 = _interopRequireDefault(_warn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://developers.google.com/tag-manager/quickstart\n\nvar Snippets = {\n tags: function tags(_ref) {\n var id = _ref.id,\n events = _ref.events,\n dataLayer = _ref.dataLayer,\n dataLayerName = _ref.dataLayerName,\n preview = _ref.preview,\n auth = _ref.auth;\n\n var gtm_auth = '>m_auth=' + auth;\n var gtm_preview = '>m_preview=' + preview;\n\n if (!id) (0, _warn2.default)('GTM Id is required');\n\n var iframe = '\\n ';\n\n var script = '\\n (function(w,d,s,l,i){w[l]=w[l]||[];\\n w[l].push({\\'gtm.start\\': new Date().getTime(),event:\\'gtm.js\\', ' + JSON.stringify(events).slice(1, -1) + '});\\n var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';\\n j.async=true;j.src=\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl+\\'' + gtm_auth + gtm_preview + '>m_cookies_win=x\\';\\n f.parentNode.insertBefore(j,f);\\n })(window,document,\\'script\\',\\'' + dataLayerName + '\\',\\'' + id + '\\');';\n\n var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);\n\n return {\n iframe: iframe,\n script: script,\n dataLayerVar: dataLayerVar\n };\n },\n dataLayer: function dataLayer(_dataLayer, dataLayerName) {\n return '\\n window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\\n window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';\n }\n};\n\nmodule.exports = Snippets;","'use strict';\n\nvar _Snippets = require('./Snippets');\n\nvar _Snippets2 = _interopRequireDefault(_Snippets);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TagManager = {\n dataScript: function dataScript(dataLayer) {\n var script = document.createElement('script');\n script.innerHTML = dataLayer;\n return script;\n },\n gtm: function gtm(args) {\n var snippets = _Snippets2.default.tags(args);\n\n var noScript = function noScript() {\n var noscript = document.createElement('noscript');\n noscript.innerHTML = snippets.iframe;\n return noscript;\n };\n\n var script = function script() {\n var script = document.createElement('script');\n script.innerHTML = snippets.script;\n return script;\n };\n\n var dataScript = this.dataScript(snippets.dataLayerVar);\n\n return {\n noScript: noScript,\n script: script,\n dataScript: dataScript\n };\n },\n initialize: function initialize(_ref) {\n var gtmId = _ref.gtmId,\n _ref$events = _ref.events,\n events = _ref$events === undefined ? {} : _ref$events,\n dataLayer = _ref.dataLayer,\n _ref$dataLayerName = _ref.dataLayerName,\n dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,\n _ref$auth = _ref.auth,\n auth = _ref$auth === undefined ? '' : _ref$auth,\n _ref$preview = _ref.preview,\n preview = _ref$preview === undefined ? '' : _ref$preview;\n\n var gtm = this.gtm({\n id: gtmId,\n events: events,\n dataLayer: dataLayer || undefined,\n dataLayerName: dataLayerName,\n auth: auth,\n preview: preview\n });\n if (dataLayer) document.head.appendChild(gtm.dataScript);\n document.head.insertBefore(gtm.script(), document.head.childNodes[0]);\n document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);\n },\n dataLayer: function dataLayer(_ref2) {\n var _dataLayer = _ref2.dataLayer,\n _ref2$dataLayerName = _ref2.dataLayerName,\n dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;\n\n if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);\n var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);\n var dataScript = this.dataScript(snippets);\n document.head.insertBefore(dataScript, document.head.childNodes[0]);\n }\n};\n\nmodule.exports = TagManager;","'use strict';\n\nvar _TagManager = require('./TagManager');\n\nvar _TagManager2 = _interopRequireDefault(_TagManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = _TagManager2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar warn = function warn(s) {\n console.warn('[react-gtm]', s);\n};\n\nexports.default = warn;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import {createElement,Component}from'react';import {findDOMNode}from'react-dom';function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n // Also cover shadowRoot node by checking current.host\n\n\n while (current.parentNode || current.host) {\n // Only check normal node without shadowRoot\n if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode || current.host;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};function autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();var passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = {};\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions.passive = !instance.props.preventDefault;\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n }\n /**\n * Remove all document's event listeners for this component\n */\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n }\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n ;\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props;\n _this$props.excludeScrollbar;\n var props = _objectWithoutPropertiesLoose(_this$props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}export default onClickOutsideHOC;export{IGNORE_CLASS_NAME};","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\nexport function Reference(_ref) {\n var children = _ref.children,\n innerRef = _ref.innerRef;\n var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);\n var refHandler = React.useCallback(function (node) {\n setRef(innerRef, node);\n safeInvoke(setReferenceNode, node);\n }, [innerRef, setReferenceNode]); // ran on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n React.useEffect(function () {\n return function () {\n return setRef(innerRef, null);\n };\n }, []);\n React.useEffect(function () {\n warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n }, [setReferenceNode]);\n return unwrapArray(children)({\n ref: refHandler\n });\n}","// Public components\nimport { Popper } from './Popper';\nimport { Manager } from './Manager';\nimport { Reference } from './Reference';\nimport { usePopper } from './usePopper';\nexport { Popper, Manager, Reference, usePopper }; // Public types","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn ","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n if(dynamicMatch && !forceStatic){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","function shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport { shallowEqualArrays, shallowEqualObjects };\n","import useMediaQuery from './useMediaQuery';\nimport { ReactNode, FC, CSSProperties } from 'react';\nimport { MediaQueryAllQueryable, MediaQueryMatchers } from './types';\n\ninterface MediaQueryProps extends MediaQueryAllQueryable {\n component?: ReactNode\n // eslint-disable-next-line @typescript-eslint/ban-types\n children?: ReactNode | Function;\n query?: string;\n style?: CSSProperties;\n className?: string;\n device?: MediaQueryMatchers;\n values?: Partial;\n onBeforeChange?: (_matches: boolean) => void;\n onChange?: (_matches: boolean) => void;\n}\n\nconst MediaQuery: FC = ({\n children,\n device,\n onChange,\n ...settings\n}) => {\n const matches = useMediaQuery(settings, device, onChange);\n\n if (typeof children === 'function') {\n return children(matches);\n }\n return matches ? children : null;\n};\n\nexport default MediaQuery;\n","import { createContext } from 'react'\nimport { MediaQueryAllQueryable } from './types'\n\nconst Context = createContext | undefined>(undefined)\n\nexport default Context\n","import useMediaQuery from './useMediaQuery'\nimport MediaQuery from './Component'\nimport toQuery from './toQuery'\nimport Context from './Context'\n\nexport {\n MediaQuery as default,\n useMediaQuery,\n toQuery,\n Context\n}\n\nexport type {\n MediaQueryTypes,\n MediaQueryType,\n MediaQueryFeatures,\n MediaQueryAllQueryable\n} from './types'\n","import PropTypes from 'prop-types'\n\nconst stringOrNumber = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n])\n\n// media types\nconst types = {\n all: PropTypes.bool,\n grid: PropTypes.bool,\n aural: PropTypes.bool,\n braille: PropTypes.bool,\n handheld: PropTypes.bool,\n print: PropTypes.bool,\n projection: PropTypes.bool,\n screen: PropTypes.bool,\n tty: PropTypes.bool,\n tv: PropTypes.bool,\n embossed: PropTypes.bool\n}\n\n// properties that match media queries\nconst matchers = {\n orientation: PropTypes.oneOf([\n 'portrait',\n 'landscape'\n ]),\n\n scan: PropTypes.oneOf([\n 'progressive',\n 'interlace'\n ]),\n\n aspectRatio: PropTypes.string,\n deviceAspectRatio: PropTypes.string,\n\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n\n color: PropTypes.bool,\n\n colorIndex: PropTypes.bool,\n\n monochrome: PropTypes.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst { type, ...featureMatchers } = matchers\n\n// media features\nconst features = {\n minAspectRatio: PropTypes.string,\n maxAspectRatio: PropTypes.string,\n minDeviceAspectRatio: PropTypes.string,\n maxDeviceAspectRatio: PropTypes.string,\n\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n\n minColor: PropTypes.number,\n maxColor: PropTypes.number,\n\n minColorIndex: PropTypes.number,\n maxColorIndex: PropTypes.number,\n\n minMonochrome: PropTypes.number,\n maxMonochrome: PropTypes.number,\n\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber,\n\n ...featureMatchers\n}\n\nconst all = { ...types, ...features }\n\nexport default {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n}\n","import hyphenate from 'hyphenate-style-name'\nimport mq from './mediaQuery'\nimport { MediaQueryAllQueryable } from './types'\n\nconst negate = (cond: string) => `not ${cond}`\n\nconst keyVal = (k: string, v: unknown): string => {\n const realKey = hyphenate(k)\n\n // px shorthand\n if (typeof v === 'number') {\n v = `${v}px`\n }\n if (v === true) {\n return realKey\n }\n if (v === false) {\n return negate(realKey)\n }\n return `(${realKey}: ${v})`\n}\n\nconst join = (conds: string[]): string => conds.join(' and ')\n\nconst toQuery = (obj: Partial): string => {\n const rules: string[] = []\n Object.keys(mq.all).forEach((k) => {\n const v = obj[k as keyof MediaQueryAllQueryable]\n if (v != null) {\n rules.push(keyVal(k, v))\n }\n })\n return join(rules)\n}\n\nexport default toQuery\n","import { useRef, useEffect, useContext, useState } from 'react'\nimport matchMedia from 'matchmediaquery'\nimport hyphenate from 'hyphenate-style-name'\nimport { shallowEqualObjects } from 'shallow-equal'\nimport toQuery from './toQuery'\nimport Context from './Context'\nimport { MediaQueryAllQueryable, MediaQueryMatchers } from './types'\n\ntype MediaQuerySettings = Partial\ntype HyphenateKeyTypes = MediaQueryMatchers | MediaQueryAllQueryable;\n\nconst makeQuery = (settings: MediaQuerySettings) => settings.query || toQuery(settings)\n\nconst hyphenateKeys = (obj?: HyphenateKeyTypes) => {\n type K = keyof HyphenateKeyTypes;\n\n if (!obj) return undefined\n const keys = Object.keys(obj) as K[]\n\n return keys.reduce((result, key) => {\n result[hyphenate(key)] = obj[key]\n return result\n }, {} as Record)\n}\n\nconst useIsUpdate = () => {\n const ref = useRef(false)\n\n useEffect(() => {\n ref.current = true\n }, [])\n\n return ref.current\n}\n\nconst useDevice = (deviceFromProps?: MediaQueryMatchers): Partial | undefined => {\n const deviceFromContext = useContext(Context)\n const getDevice = () =>\n hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext)\n const [ device, setDevice ] = useState(getDevice)\n\n useEffect(() => {\n const newDevice = getDevice()\n if (!shallowEqualObjects(device, newDevice)) {\n setDevice(newDevice)\n }\n }, [ deviceFromProps, deviceFromContext ])\n\n return device\n}\n\nconst useQuery = (settings: MediaQuerySettings) => {\n const getQuery = () => makeQuery(settings)\n const [ query, setQuery ] = useState(getQuery)\n\n useEffect(() => {\n const newQuery = getQuery()\n if (query !== newQuery) {\n setQuery(newQuery)\n }\n }, [ settings ])\n\n return query\n}\n\nconst useMatchMedia = (query: string, device?: MediaQueryMatchers) => {\n const getMatchMedia = () => matchMedia(query, device || {}, !!device)\n const [ mq, setMq ] = useState(getMatchMedia)\n const isUpdate = useIsUpdate()\n\n useEffect(() => {\n if (isUpdate) {\n // skip on mounting, it has already been set\n const newMq = getMatchMedia()\n setMq(newMq)\n\n return () => {\n if (newMq) {\n newMq.dispose()\n }\n }\n }\n }, [ query, device ])\n\n return mq\n}\n\nconst useMatches = (mediaQuery: MediaQueryList): boolean => {\n const [ matches, setMatches ] = useState(mediaQuery.matches)\n\n useEffect(() => {\n const updateMatches = (ev: MediaQueryListEvent) => {\n setMatches(ev.matches)\n }\n mediaQuery.addListener(updateMatches)\n setMatches(mediaQuery.matches)\n\n return () => {\n mediaQuery.removeListener(updateMatches)\n }\n }, [ mediaQuery ])\n\n return matches\n}\n\nconst useMediaQuery = (settings: MediaQuerySettings, device?: MediaQueryMatchers, onChange?: (_: boolean) => void) => {\n const deviceSettings = useDevice(device)\n const query = useQuery(settings)\n if (!query) throw new Error('Invalid or missing MediaQuery!')\n const mq = useMatchMedia(query, deviceSettings)\n const matches = useMatches(mq as unknown as MediaQueryList)\n const isUpdate = useIsUpdate()\n\n useEffect(() => {\n if (isUpdate && onChange) {\n onChange(matches)\n }\n }, [ matches ])\n\n useEffect(() => () => {\n if (mq) {\n mq.dispose()\n }\n }, [])\n\n return matches\n}\n\nexport default useMediaQuery\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 0){\n var fileTypeFound = false;\n for(var index in o.fileType){\n var extension = '.' + o.fileType[index];\n\t\t\tif(fileName.toLowerCase().indexOf(extension.toLowerCase(), fileName.length - extension.length) !== -1){\n fileTypeFound = true;\n break;\n }\n }\n if (!fileTypeFound) {\n o.fileTypeErrorCallback(file, errorCount++);\n return false;\n }\n }\n\n if (typeof(o.minFileSize)!=='undefined' && file.sizeo.maxFileSize) {\n o.maxFileSizeErrorCallback(file, errorCount++);\n return false;\n }\n\n function addFile(uniqueIdentifier){\n if (!$.getFromUniqueIdentifier(uniqueIdentifier)) {(function(){\n file.uniqueIdentifier = uniqueIdentifier;\n var f = new ResumableFile($, file, uniqueIdentifier);\n $.files.push(f);\n files.push(f);\n f.container = (typeof event != 'undefined' ? event.srcElement : null);\n window.setTimeout(function(){\n $.fire('fileAdded', f, event)\n },0);\n })()} else {\n filesSkipped.push(file);\n };\n decreaseReamining();\n }\n // directories have size == 0\n var uniqueIdentifier = $h.generateUniqueIdentifier(file, event);\n if(uniqueIdentifier && typeof uniqueIdentifier.then === 'function'){\n // Promise or Promise-like object provided as unique identifier\n uniqueIdentifier\n .then(\n function(uniqueIdentifier){\n // unique identifier generation succeeded\n addFile(uniqueIdentifier);\n },\n function(){\n // unique identifier generation failed\n // skip further processing, only decrease file count\n decreaseReamining();\n }\n );\n }else{\n // non-Promise provided as unique identifier, process synchronously\n addFile(uniqueIdentifier);\n }\n });\n };\n\n // INTERNAL OBJECT TYPES\n function ResumableFile(resumableObj, file, uniqueIdentifier){\n var $ = this;\n $.opts = {};\n $.getOpt = resumableObj.getOpt;\n $._prevProgress = 0;\n $.resumableObj = resumableObj;\n $.file = file;\n $.fileName = file.fileName||file.name; // Some confusion in different versions of Firefox\n $.size = file.size;\n $.relativePath = file.relativePath || file.webkitRelativePath || $.fileName;\n $.uniqueIdentifier = uniqueIdentifier;\n $._pause = false;\n $.container = '';\n var _error = uniqueIdentifier !== undefined;\n\n // Callback when something happens within the chunk\n var chunkEvent = function(event, message){\n // event can be 'progress', 'success', 'error' or 'retry'\n switch(event){\n case 'progress':\n $.resumableObj.fire('fileProgress', $, message);\n break;\n case 'error':\n $.abort();\n _error = true;\n $.chunks = [];\n $.resumableObj.fire('fileError', $, message);\n break;\n case 'success':\n if(_error) return;\n $.resumableObj.fire('fileProgress', $); // it's at least progress\n if($.isComplete()) {\n $.resumableObj.fire('fileSuccess', $, message);\n }\n break;\n case 'retry':\n $.resumableObj.fire('fileRetry', $);\n break;\n }\n };\n\n // Main code to set up a file object with chunks,\n // packaged to be able to handle retries if needed.\n $.chunks = [];\n $.abort = function(){\n // Stop current uploads\n var abortCount = 0;\n $h.each($.chunks, function(c){\n if(c.status()=='uploading') {\n c.abort();\n abortCount++;\n }\n });\n if(abortCount>0) $.resumableObj.fire('fileProgress', $);\n };\n $.cancel = function(){\n // Reset this file to be void\n var _chunks = $.chunks;\n $.chunks = [];\n // Stop current uploads\n $h.each(_chunks, function(c){\n if(c.status()=='uploading') {\n c.abort();\n $.resumableObj.uploadNextChunk();\n }\n });\n $.resumableObj.removeFile($);\n $.resumableObj.fire('fileProgress', $);\n };\n $.retry = function(){\n $.bootstrap();\n var firedRetry = false;\n $.resumableObj.on('chunkingComplete', function(){\n if(!firedRetry) $.resumableObj.upload();\n firedRetry = true;\n });\n };\n $.bootstrap = function(){\n $.abort();\n _error = false;\n // Rebuild stack of chunks from file\n $.chunks = [];\n $._prevProgress = 0;\n var round = $.getOpt('forceChunkSize') ? Math.ceil : Math.floor;\n var maxOffset = Math.max(round($.file.size/$.getOpt('chunkSize')),1);\n for (var offset=0; offset0.99999 ? 1 : ret));\n ret = Math.max($._prevProgress, ret); // We don't want to lose percentages when an upload is paused\n $._prevProgress = ret;\n return(ret);\n };\n $.isUploading = function(){\n var uploading = false;\n $h.each($.chunks, function(chunk){\n if(chunk.status()=='uploading') {\n uploading = true;\n return(false);\n }\n });\n return(uploading);\n };\n $.isComplete = function(){\n var outstanding = false;\n $h.each($.chunks, function(chunk){\n var status = chunk.status();\n if(status=='pending' || status=='uploading' || chunk.preprocessState === 1) {\n outstanding = true;\n return(false);\n }\n });\n return(!outstanding);\n };\n $.pause = function(pause){\n if(typeof(pause)==='undefined'){\n $._pause = ($._pause ? false : true);\n }else{\n $._pause = pause;\n }\n };\n $.isPaused = function() {\n return $._pause;\n };\n\n\n // Bootstrap and return\n $.resumableObj.fire('chunkingStart', $);\n $.bootstrap();\n return(this);\n }\n\n\n function ResumableChunk(resumableObj, fileObj, offset, callback){\n var $ = this;\n $.opts = {};\n $.getOpt = resumableObj.getOpt;\n $.resumableObj = resumableObj;\n $.fileObj = fileObj;\n $.fileObjSize = fileObj.size;\n $.fileObjType = fileObj.file.type;\n $.offset = offset;\n $.callback = callback;\n $.lastProgressCallback = (new Date);\n $.tested = false;\n $.retries = 0;\n $.pendingRetry = false;\n $.preprocessState = 0; // 0 = unprocessed, 1 = processing, 2 = finished\n\n // Computed properties\n var chunkSize = $.getOpt('chunkSize');\n $.loaded = 0;\n $.startByte = $.offset*chunkSize;\n $.endByte = Math.min($.fileObjSize, ($.offset+1)*chunkSize);\n if ($.fileObjSize-$.endByte < chunkSize && !$.getOpt('forceChunkSize')) {\n // The last chunk will be bigger than the chunk size, but less than 2*chunkSize\n $.endByte = $.fileObjSize;\n }\n $.xhr = null;\n\n // test() makes a GET request without any data to see if the chunk has already been uploaded in a previous session\n $.test = function(){\n // Set up request and listen for event\n $.xhr = new XMLHttpRequest();\n\n var testHandler = function(e){\n $.tested = true;\n var status = $.status();\n if(status=='success') {\n $.callback(status, $.message());\n $.resumableObj.uploadNextChunk();\n } else {\n $.send();\n }\n };\n $.xhr.addEventListener('load', testHandler, false);\n $.xhr.addEventListener('error', testHandler, false);\n $.xhr.addEventListener('timeout', testHandler, false);\n\n // Add data from the query options\n var params = [];\n var parameterNamespace = $.getOpt('parameterNamespace');\n var customQuery = $.getOpt('query');\n if(typeof customQuery == 'function') customQuery = customQuery($.fileObj, $);\n $h.each(customQuery, function(k,v){\n params.push([encodeURIComponent(parameterNamespace+k), encodeURIComponent(v)].join('='));\n });\n // Add extra data to identify chunk\n params = params.concat(\n [\n // define key/value pairs for additional parameters\n ['chunkNumberParameterName', $.offset + 1],\n ['chunkSizeParameterName', $.getOpt('chunkSize')],\n ['currentChunkSizeParameterName', $.endByte - $.startByte],\n ['totalSizeParameterName', $.fileObjSize],\n ['typeParameterName', $.fileObjType],\n ['identifierParameterName', $.fileObj.uniqueIdentifier],\n ['fileNameParameterName', $.fileObj.fileName],\n ['relativePathParameterName', $.fileObj.relativePath],\n ['totalChunksParameterName', $.fileObj.chunks.length]\n ].filter(function(pair){\n // include items that resolve to truthy values\n // i.e. exclude false, null, undefined and empty strings\n return $.getOpt(pair[0]);\n })\n .map(function(pair){\n // map each key/value pair to its final form\n return [\n parameterNamespace + $.getOpt(pair[0]),\n encodeURIComponent(pair[1])\n ].join('=');\n })\n );\n // Append the relevant chunk and send it\n $.xhr.open($.getOpt('testMethod'), $h.getTarget('test', params));\n $.xhr.timeout = $.getOpt('xhrTimeout');\n $.xhr.withCredentials = $.getOpt('withCredentials');\n // Add data from header options\n var customHeaders = $.getOpt('headers');\n if(typeof customHeaders === 'function') {\n customHeaders = customHeaders($.fileObj, $);\n }\n $h.each(customHeaders, function(k,v) {\n $.xhr.setRequestHeader(k, v);\n });\n $.xhr.send(null);\n };\n\n $.preprocessFinished = function(){\n $.preprocessState = 2;\n $.send();\n };\n\n // send() uploads the actual data in a POST call\n $.send = function(){\n var preprocess = $.getOpt('preprocess');\n if(typeof preprocess === 'function') {\n switch($.preprocessState) {\n case 0: $.preprocessState = 1; preprocess($); return;\n case 1: return;\n case 2: break;\n }\n }\n if($.getOpt('testChunks') && !$.tested) {\n $.test();\n return;\n }\n\n // Set up request and listen for event\n $.xhr = new XMLHttpRequest();\n\n // Progress\n $.xhr.upload.addEventListener('progress', function(e){\n if( (new Date) - $.lastProgressCallback > $.getOpt('throttleProgressCallbacks') * 1000 ) {\n $.callback('progress');\n $.lastProgressCallback = (new Date);\n }\n $.loaded=e.loaded||0;\n }, false);\n $.loaded = 0;\n $.pendingRetry = false;\n $.callback('progress');\n\n // Done (either done, failed or retry)\n var doneHandler = function(e){\n var status = $.status();\n if(status=='success'||status=='error') {\n $.callback(status, $.message());\n $.resumableObj.uploadNextChunk();\n } else {\n $.callback('retry', $.message());\n $.abort();\n $.retries++;\n var retryInterval = $.getOpt('chunkRetryInterval');\n if(retryInterval !== undefined) {\n $.pendingRetry = true;\n setTimeout($.send, retryInterval);\n } else {\n $.send();\n }\n }\n };\n $.xhr.addEventListener('load', doneHandler, false);\n $.xhr.addEventListener('error', doneHandler, false);\n $.xhr.addEventListener('timeout', doneHandler, false);\n\n // Set up the basic query data from Resumable\n var query = [\n ['chunkNumberParameterName', $.offset + 1],\n ['chunkSizeParameterName', $.getOpt('chunkSize')],\n ['currentChunkSizeParameterName', $.endByte - $.startByte],\n ['totalSizeParameterName', $.fileObjSize],\n ['typeParameterName', $.fileObjType],\n ['identifierParameterName', $.fileObj.uniqueIdentifier],\n ['fileNameParameterName', $.fileObj.fileName],\n ['relativePathParameterName', $.fileObj.relativePath],\n ['totalChunksParameterName', $.fileObj.chunks.length],\n ].filter(function(pair){\n // include items that resolve to truthy values\n // i.e. exclude false, null, undefined and empty strings\n return $.getOpt(pair[0]);\n })\n .reduce(function(query, pair){\n // assign query key/value\n query[$.getOpt(pair[0])] = pair[1];\n return query;\n }, {});\n // Mix in custom data\n var customQuery = $.getOpt('query');\n if(typeof customQuery == 'function') customQuery = customQuery($.fileObj, $);\n $h.each(customQuery, function(k,v){\n query[k] = v;\n });\n\n var func = ($.fileObj.file.slice ? 'slice' : ($.fileObj.file.mozSlice ? 'mozSlice' : ($.fileObj.file.webkitSlice ? 'webkitSlice' : 'slice')));\n var bytes = $.fileObj.file[func]($.startByte, $.endByte, $.getOpt('setChunkTypeFromFile') ? $.fileObj.file.type : \"\");\n var data = null;\n var params = [];\n\n var parameterNamespace = $.getOpt('parameterNamespace');\n if ($.getOpt('method') === 'octet') {\n // Add data from the query options\n data = bytes;\n $h.each(query, function (k, v) {\n params.push([encodeURIComponent(parameterNamespace + k), encodeURIComponent(v)].join('='));\n });\n } else {\n // Add data from the query options\n data = new FormData();\n $h.each(query, function (k, v) {\n data.append(parameterNamespace + k, v);\n params.push([encodeURIComponent(parameterNamespace + k), encodeURIComponent(v)].join('='));\n });\n if ($.getOpt('chunkFormat') == 'blob') {\n data.append(parameterNamespace + $.getOpt('fileParameterName'), bytes, $.fileObj.fileName);\n }\n else if ($.getOpt('chunkFormat') == 'base64') {\n var fr = new FileReader();\n fr.onload = function (e) {\n data.append(parameterNamespace + $.getOpt('fileParameterName'), fr.result);\n $.xhr.send(data);\n }\n fr.readAsDataURL(bytes);\n }\n }\n\n var target = $h.getTarget('upload', params);\n var method = $.getOpt('uploadMethod');\n\n $.xhr.open(method, target);\n if ($.getOpt('method') === 'octet') {\n $.xhr.setRequestHeader('Content-Type', 'application/octet-stream');\n }\n $.xhr.timeout = $.getOpt('xhrTimeout');\n $.xhr.withCredentials = $.getOpt('withCredentials');\n // Add data from header options\n var customHeaders = $.getOpt('headers');\n if(typeof customHeaders === 'function') {\n customHeaders = customHeaders($.fileObj, $);\n }\n\n $h.each(customHeaders, function(k,v) {\n $.xhr.setRequestHeader(k, v);\n });\n\n if ($.getOpt('chunkFormat') == 'blob') {\n $.xhr.send(data);\n }\n };\n $.abort = function(){\n // Abort and reset\n if($.xhr) $.xhr.abort();\n $.xhr = null;\n };\n $.status = function(){\n // Returns: 'pending', 'uploading', 'success', 'error'\n if($.pendingRetry) {\n // if pending retry then that's effectively the same as actively uploading,\n // there might just be a slight delay before the retry starts\n return('uploading');\n } else if(!$.xhr) {\n return('pending');\n } else if($.xhr.readyState<4) {\n // Status is really 'OPENED', 'HEADERS_RECEIVED' or 'LOADING' - meaning that stuff is happening\n return('uploading');\n } else {\n if($.xhr.status == 200 || $.xhr.status == 201) {\n // HTTP 200, 201 (created)\n return('success');\n } else if($h.contains($.getOpt('permanentErrors'), $.xhr.status) || $.retries >= $.getOpt('maxChunkRetries')) {\n // HTTP 415/500/501, permanent error\n return('error');\n } else {\n // this should never happen, but we'll reset and queue a retry\n // a likely case for this would be 503 service unavailable\n $.abort();\n return('pending');\n }\n }\n };\n $.message = function(){\n return($.xhr ? $.xhr.responseText : '');\n };\n $.progress = function(relative){\n if(typeof(relative)==='undefined') relative = false;\n var factor = (relative ? ($.endByte-$.startByte)/$.fileObjSize : 1);\n if($.pendingRetry) return(0);\n if(!$.xhr || !$.xhr.status) factor*=.95;\n var s = $.status();\n switch(s){\n case 'success':\n case 'error':\n return(1*factor);\n case 'pending':\n return(0*factor);\n default:\n return($.loaded/($.endByte-$.startByte)*factor);\n }\n };\n return(this);\n }\n\n // QUEUE\n $.uploadNextChunk = function(){\n var found = false;\n\n // In some cases (such as videos) it's really handy to upload the first\n // and last chunk of a file quickly; this let's the server check the file's\n // metadata and determine if there's even a point in continuing.\n if ($.getOpt('prioritizeFirstAndLastChunk')) {\n $h.each($.files, function(file){\n if(file.chunks.length && file.chunks[0].status()=='pending' && file.chunks[0].preprocessState === 0) {\n file.chunks[0].send();\n found = true;\n return(false);\n }\n if(file.chunks.length>1 && file.chunks[file.chunks.length-1].status()=='pending' && file.chunks[file.chunks.length-1].preprocessState === 0) {\n file.chunks[file.chunks.length-1].send();\n found = true;\n return(false);\n }\n });\n if(found) return(true);\n }\n\n // Now, simply look for the next, best thing to upload\n $h.each($.files, function(file){\n if(file.isPaused()===false){\n $h.each(file.chunks, function(chunk){\n if(chunk.status()=='pending' && chunk.preprocessState === 0) {\n chunk.send();\n found = true;\n return(false);\n }\n });\n }\n if(found) return(false);\n });\n if(found) return(true);\n\n // The are no more outstanding chunks to upload, check is everything is done\n var outstanding = false;\n $h.each($.files, function(file){\n if(!file.isComplete()) {\n outstanding = true;\n return(false);\n }\n });\n if(!outstanding) {\n // All chunks have been uploaded, complete\n $.fire('complete');\n }\n return(false);\n };\n\n\n // PUBLIC METHODS FOR RESUMABLE.JS\n $.assignBrowse = function(domNodes, isDirectory){\n if(typeof(domNodes.length)=='undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n var input;\n if(domNode.tagName==='INPUT' && domNode.type==='file'){\n input = domNode;\n } else {\n input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.style.display = 'none';\n domNode.addEventListener('click', function(){\n input.style.opacity = 0;\n input.style.display='block';\n input.focus();\n input.click();\n input.style.display='none';\n }, false);\n domNode.appendChild(input);\n }\n var maxFiles = $.getOpt('maxFiles');\n if (typeof(maxFiles)==='undefined'||maxFiles!=1){\n input.setAttribute('multiple', 'multiple');\n } else {\n input.removeAttribute('multiple');\n }\n if(isDirectory){\n input.setAttribute('webkitdirectory', 'webkitdirectory');\n } else {\n input.removeAttribute('webkitdirectory');\n }\n var fileTypes = $.getOpt('fileType');\n if (typeof (fileTypes) !== 'undefined' && fileTypes.length >= 1) {\n input.setAttribute('accept', fileTypes.map(function (e) { return '.' + e }).join(','));\n }\n else {\n input.removeAttribute('accept');\n }\n // When new files are added, simply append them to the overall list\n input.addEventListener('change', function(e){\n appendFilesFromFileList(e.target.files,e);\n var clearInput = $.getOpt('clearInput');\n if (clearInput) {\n e.target.value = '';\n }\n }, false);\n });\n };\n $.assignDrop = function(domNodes){\n if(typeof(domNodes.length)=='undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n domNode.addEventListener('dragover', preventDefault, false);\n domNode.addEventListener('dragenter', preventDefault, false);\n domNode.addEventListener('drop', onDrop, false);\n });\n };\n $.unAssignDrop = function(domNodes) {\n if (typeof(domNodes.length) == 'undefined') domNodes = [domNodes];\n\n $h.each(domNodes, function(domNode) {\n domNode.removeEventListener('dragover', preventDefault);\n domNode.removeEventListener('dragenter', preventDefault);\n domNode.removeEventListener('drop', onDrop);\n });\n };\n $.isUploading = function(){\n var uploading = false;\n $h.each($.files, function(file){\n if (file.isUploading()) {\n uploading = true;\n return(false);\n }\n });\n return(uploading);\n };\n $.upload = function(){\n // Make sure we don't start too many uploads at once\n if($.isUploading()) return;\n // Kick off the queue\n $.fire('uploadStart');\n for (var num=1; num<=$.getOpt('simultaneousUploads'); num++) {\n $.uploadNextChunk();\n }\n };\n $.pause = function(){\n // Resume all chunks currently being uploaded\n $h.each($.files, function(file){\n file.abort();\n });\n $.fire('pause');\n };\n $.cancel = function(){\n $.fire('beforeCancel');\n for(var i = $.files.length - 1; i >= 0; i--) {\n $.files[i].cancel();\n }\n $.fire('cancel');\n };\n $.progress = function(){\n var totalDone = 0;\n var totalSize = 0;\n // Resume all chunks currently being uploaded\n $h.each($.files, function(file){\n totalDone += file.progress()*file.size;\n totalSize += file.size;\n });\n return(totalSize>0 ? totalDone/totalSize : 0);\n };\n $.addFile = function(file, event){\n appendFilesFromFileList([file], event);\n };\n $.addFiles = function(files, event){\n appendFilesFromFileList(files, event);\n };\n $.removeFile = function(file){\n for(var i = $.files.length - 1; i >= 0; i--) {\n if($.files[i] === file) {\n $.files.splice(i, 1);\n }\n }\n };\n $.getFromUniqueIdentifier = function(uniqueIdentifier){\n var ret = false;\n $h.each($.files, function(f){\n if(f.uniqueIdentifier==uniqueIdentifier) ret = f;\n });\n return(ret);\n };\n $.getSize = function(){\n var totalSize = 0;\n $h.each($.files, function(file){\n totalSize += file.size;\n });\n return(totalSize);\n };\n $.handleDropEvent = function (e) {\n onDrop(e);\n };\n $.handleChangeEvent = function (e) {\n appendFilesFromFileList(e.target.files, e);\n e.target.value = '';\n };\n $.updateQuery = function(query){\n $.opts.query = query;\n };\n\n return(this);\n };\n\n\n // Node.js-style export for Node and Component\n if (typeof module != 'undefined') {\n module.exports = Resumable;\n } else if (typeof define === \"function\" && define.amd) {\n // AMD/requirejs: Define the module\n define(function(){\n return Resumable;\n });\n } else {\n // Browser: Expose to window\n window.Resumable = Resumable;\n }\n\n})();\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n var cursor = nodes.length\n , sorted = new Array(cursor)\n , visited = {}\n , i = cursor\n // Better data structures make algorithm much faster.\n , outgoingEdges = makeOutgoingEdges(edges)\n , nodesHash = makeNodesHash(nodes)\n\n // check for unknown nodes\n edges.forEach(function(edge) {\n if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n }\n })\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, new Set())\n }\n\n return sorted\n\n function visit(node, i, predecessors) {\n if(predecessors.has(node)) {\n var nodeRep\n try {\n nodeRep = \", node was:\" + JSON.stringify(node)\n } catch(e) {\n nodeRep = \"\"\n }\n throw new Error('Cyclic dependency' + nodeRep)\n }\n\n if (!nodesHash.has(node)) {\n throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n }\n\n if (visited[i]) return;\n visited[i] = true\n\n var outgoing = outgoingEdges.get(node) || new Set()\n outgoing = Array.from(outgoing)\n\n if (i = outgoing.length) {\n predecessors.add(node)\n do {\n var child = outgoing[--i]\n visit(child, nodesHash.get(child), predecessors)\n } while (i)\n predecessors.delete(node)\n }\n\n sorted[--cursor] = node\n }\n}\n\nfunction uniqueNodes(arr){\n var res = new Set()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n res.add(edge[0])\n res.add(edge[1])\n }\n return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n var edges = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n edges.get(edge[0]).add(edge[1])\n }\n return edges\n}\n\nfunction makeNodesHash(arr){\n var res = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n res.set(arr[i], i)\n }\n return res\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","export default function(url, options) {\n\toptions = options || {};\n\treturn new Promise( (resolve, reject) => {\n\t\tconst request = new XMLHttpRequest();\n\t\tconst keys = [];\n\t\tconst all = [];\n\t\tconst headers = {};\n\n\t\tconst response = () => ({\n\t\t\tok: (request.status/100|0) == 2,\t\t// 200-299\n\t\t\tstatusText: request.statusText,\n\t\t\tstatus: request.status,\n\t\t\turl: request.responseURL,\n\t\t\ttext: () => Promise.resolve(request.responseText),\n\t\t\tjson: () => Promise.resolve(request.responseText).then(JSON.parse),\n\t\t\tblob: () => Promise.resolve(new Blob([request.response])),\n\t\t\tclone: response,\n\t\t\theaders: {\n\t\t\t\tkeys: () => keys,\n\t\t\t\tentries: () => all,\n\t\t\t\tget: n => headers[n.toLowerCase()],\n\t\t\t\thas: n => n.toLowerCase() in headers\n\t\t\t}\n\t\t});\n\n\t\trequest.open(options.method || 'get', url, true);\n\n\t\trequest.onload = () => {\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (m, key, value) => {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theaders[key] = headers[key] ? `${headers[key]},${value}` : value;\n\t\t\t});\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\tfor (const i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.send(options.body || null);\n\t});\n}\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/* (ignored) */","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type { History, Location } from \"history\";\nimport { Action as NavigationType } from \"history\";\n\nimport type { RouteMatch } from \"./router\";\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n","import type { Location, Path, To } from \"history\";\nimport { parsePath } from \"history\";\n\nexport function invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nexport function warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n","import * as React from \"react\";\nimport type { Location, Path, To } from \"history\";\nimport { Action as NavigationType, parsePath } from \"history\";\n\nimport { LocationContext, NavigationContext, RouteContext } from \"./context\";\nimport type {\n ParamParseKey,\n Params,\n PathMatch,\n PathPattern,\n RouteMatch,\n RouteObject,\n} from \"./router\";\nimport {\n getToPathname,\n invariant,\n joinPaths,\n matchPath,\n matchRoutes,\n resolveTo,\n warning,\n warningOnce,\n} from \"./router\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n","import * as React from \"react\";\nimport type { InitialEntry, Location, MemoryHistory, To } from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n} from \"history\";\n\nimport { LocationContext, NavigationContext, Navigator } from \"./context\";\nimport {\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\nimport type { RouteMatch, RouteObject } from \"./router\";\nimport { invariant, normalizePathname, stripBasename, warning } from \"./router\";\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","export { unstable_batchedUpdates } from 'react-dom';","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import React from 'react';\nexport const ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\nexport function useReduxContext() {\n const contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import { useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : () => useContext(context);\n return function useSelector(selector, equalityFn = refEquality) {\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState\n } = useReduxContext();\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, selector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = useRef();\n const lastWrapperProps = useRef(wrapperProps);\n const childPropsFromStoreUpdate = useRef();\n const renderIsScheduled = useRef(false);\n const isProcessingDispatch = useRef(false);\n const isMounted = useRef(false);\n const latestSubscriptionCallbackError = useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import React, { useMemo } from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState\n}) {\n const contextValue = useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined\n };\n }, [store, serverState]);\n const previousState = useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : () => useContext(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","import Provider from './components/Provider';\nimport connect from './components/connect';\nimport { ReactReduxContext } from './components/Context';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport shallowEqual from './utils/shallowEqual';\nexport * from './types';\nexport { Provider, ReactReduxContext, connect, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import * as cookie from 'cookie';\nexport function hasDocumentCookie() {\n // Can we get/set cookies on document.cookie?\n return typeof document === 'object' && typeof document.cookie === 'string';\n}\nexport function cleanCookies() {\n document.cookie.split(';').forEach(function (c) {\n document.cookie = c\n .replace(/^ +/, '')\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n });\n}\nexport function parseCookies(cookies) {\n if (typeof cookies === 'string') {\n return cookie.parse(cookies);\n }\n else if (typeof cookies === 'object' && cookies !== null) {\n return cookies;\n }\n else {\n return {};\n }\n}\nexport function readCookie(value, options = {}) {\n const cleanValue = cleanupCookieValue(value);\n if (!options.doNotParse) {\n try {\n return JSON.parse(cleanValue);\n }\n catch (e) {\n // At least we tried\n }\n }\n // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n return value;\n}\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n return value;\n}\n","import * as cookie from 'cookie';\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\nexport default class Cookies {\n constructor(cookies, defaultSetOptions = {}) {\n this.changeListeners = [];\n this.HAS_DOCUMENT_COOKIE = false;\n this.update = () => {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n const previousCookies = this.cookies;\n this.cookies = cookie.parse(document.cookie);\n this._checkChanges(previousCookies);\n };\n const domCookies = typeof document === 'undefined' ? '' : document.cookie;\n this.cookies = parseCookies(cookies || domCookies);\n this.defaultSetOptions = defaultSetOptions;\n this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n }\n _emitChange(params) {\n for (let i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n }\n _checkChanges(newCookies) {\n const names = new Set(Object.keys(newCookies).concat(Object.keys(this.cookies)));\n names.forEach((name) => {\n if (newCookies[name] !== this.cookies[name]) {\n this._emitChange({\n name,\n value: readCookie(newCookies[name]),\n });\n }\n });\n }\n _startPolling() {\n this.pollingInterval = setInterval(this.update, 300);\n }\n _stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n }\n }\n get(name, options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n return readCookie(this.cookies[name], options);\n }\n getAll(options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n const result = {};\n for (let name in this.cookies) {\n result[name] = readCookie(this.cookies[name], options);\n }\n return result;\n }\n set(name, value, options) {\n if (options) {\n options = Object.assign(Object.assign({}, this.defaultSetOptions), options);\n }\n else {\n options = this.defaultSetOptions;\n }\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value);\n this.cookies = Object.assign(Object.assign({}, this.cookies), { [name]: stringValue });\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, stringValue, options);\n }\n this._emitChange({ name, value, options });\n }\n remove(name, options) {\n const finalOptions = (options = Object.assign(Object.assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\n this.cookies = Object.assign({}, this.cookies);\n delete this.cookies[name];\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = cookie.serialize(name, '', finalOptions);\n }\n this._emitChange({ name, value: undefined, options });\n }\n addChangeListener(callback) {\n this.changeListeners.push(callback);\n if (this.changeListeners.length === 1) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.addEventListener('change', this.update);\n }\n else {\n this._startPolling();\n }\n }\n }\n removeChangeListener(callback) {\n const idx = this.changeListeners.indexOf(callback);\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n if (this.changeListeners.length === 0) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.removeEventListener('change', this.update);\n }\n else {\n this._stopPolling();\n }\n }\n }\n}\n","import Cookies from './Cookies';\nexport default Cookies;\nexport * from './types';\n","import Cookies from 'universal-cookie';\nexport default Cookies;\n","import * as React from 'react';\nimport Cookies from './Cookies';\nconst CookiesContext = React.createContext(new Cookies());\nexport const { Provider, Consumer } = CookiesContext;\nexport default CookiesContext;\n","import * as React from 'react';\nimport Cookies from 'universal-cookie';\nimport { Provider } from './CookiesContext';\nexport default class CookiesProvider extends React.Component {\n constructor(props) {\n super(props);\n if (props.cookies) {\n this.cookies = props.cookies;\n }\n else {\n this.cookies = new Cookies(undefined, props.defaultSetOptions);\n }\n }\n render() {\n return React.createElement(Provider, { value: this.cookies }, this.props.children);\n }\n}\n","/* eslint-disable local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\n\nexport const ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n} as const\n\nexport type ConsoleApiName = (typeof ConsoleApiName)[keyof typeof ConsoleApiName]\n\ninterface Display {\n debug: typeof console.debug\n log: typeof console.log\n info: typeof console.info\n warn: typeof console.warn\n error: typeof console.error\n}\n\n/**\n * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove\n * \"console.*\" references. This causes some issue as we expect `console.*` to be defined.\n * As a workaround, let's use a variable alias, so those expressions won't be taken into account by\n * simple static analysis.\n *\n * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/\n * [2]: https://github.com/terser/terser#compress-options (look for drop_console)\n */\nexport const globalConsole = console\n\nexport const originalConsoleMethods = {} as Display\nObject.keys(ConsoleApiName).forEach((name) => {\n originalConsoleMethods[name as ConsoleApiName] = globalConsole[name as ConsoleApiName]\n})\n\nconst PREFIX = 'Datadog Browser SDK:'\n\nexport const display: Display = {\n debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),\n log: originalConsoleMethods.log.bind(globalConsole, PREFIX),\n info: originalConsoleMethods.info.bind(globalConsole, PREFIX),\n warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),\n error: originalConsoleMethods.error.bind(globalConsole, PREFIX),\n}\n","import { display } from './display'\n\nexport function catchUserErrors(fn: (...args: Args) => R, errorMsg: string) {\n return (...args: Args) => {\n try {\n return fn(...args)\n } catch (err) {\n display.error(errorMsg, err)\n }\n }\n}\n","import { display } from './display'\n\nlet onMonitorErrorCollected: undefined | ((error: unknown) => void)\nlet debugMode = false\n\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected: (error: unknown) => void) {\n onMonitorErrorCollected = newOnMonitorErrorCollected\n}\n\nexport function setDebugMode(newDebugMode: boolean) {\n debugMode = newDebugMode\n}\n\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined\n debugMode = false\n}\n\nexport function monitored unknown>(\n _: any,\n __: string,\n descriptor: TypedPropertyDescriptor\n) {\n const originalMethod = descriptor.value!\n descriptor.value = function (this: any, ...args: Parameters) {\n const decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod\n return decorated.apply(this, args) as ReturnType\n } as T\n}\n\nexport function monitor any>(fn: T): T {\n return function (this: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments as unknown as Parameters)\n } as unknown as T // consider output type has input type\n}\n\nexport function callMonitored any>(\n fn: T,\n context: ThisParameterType,\n args: Parameters\n): ReturnType | undefined\nexport function callMonitored any>(fn: T): ReturnType | undefined\nexport function callMonitored any>(\n fn: T,\n context?: any,\n args?: any\n): ReturnType | undefined {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args)\n } catch (e) {\n displayIfDebugEnabled(e)\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e)\n } catch (e) {\n displayIfDebugEnabled(e)\n }\n }\n }\n}\n\nexport function displayIfDebugEnabled(...args: any[]) {\n if (debugMode) {\n display.error('[MONITOR]', ...args)\n }\n}\n","export function includes(candidate: string, search: string): boolean\nexport function includes(candidate: T[], search: T): boolean\nexport function includes(candidate: string | unknown[], search: any) {\n return candidate.indexOf(search) !== -1\n}\n\nexport function arrayFrom(arrayLike: ArrayLike | Set): T[] {\n if (Array.from) {\n return Array.from(arrayLike)\n }\n\n const array = []\n\n if (arrayLike instanceof Set) {\n arrayLike.forEach((item) => array.push(item))\n } else {\n for (let i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i])\n }\n }\n\n return array\n}\n\nexport function find(\n array: ArrayLike,\n predicate: (item: T, index: number) => item is S\n): S | undefined\nexport function find(array: ArrayLike, predicate: (item: T, index: number) => boolean): T | undefined\nexport function find(array: ArrayLike, predicate: (item: unknown, index: number) => boolean): unknown {\n for (let i = 0; i < array.length; i += 1) {\n const item = array[i]\n if (predicate(item, i)) {\n return item\n }\n }\n return undefined\n}\n\nexport function findLast(\n array: T[],\n predicate: (item: T, index: number, array: T[]) => item is S\n): S | undefined {\n for (let i = array.length - 1; i >= 0; i -= 1) {\n const item = array[i]\n if (predicate(item, i, array)) {\n return item\n }\n }\n return undefined\n}\n\nexport function forEach(\n list: List,\n callback: (value: List[number], index: number, parent: List) => void\n) {\n Array.prototype.forEach.call(list, callback as any)\n}\n\nexport function objectValues(object: { [key: string]: T }) {\n return Object.keys(object).map((key) => object[key])\n}\n\nexport function objectEntries(object: { [key: string]: T }): Array<[string, T]> {\n return Object.keys(object).map((key) => [key, object[key]])\n}\n\nexport function startsWith(candidate: string, search: string) {\n return candidate.slice(0, search.length) === search\n}\n\nexport function endsWith(candidate: string, search: string) {\n return candidate.slice(-search.length) === search\n}\n\nexport function elementMatches(element: Element & { msMatchesSelector?(selector: string): boolean }, selector: string) {\n if (element.matches) {\n return element.matches(selector)\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector)\n }\n return false\n}\n\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str: string) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str)\n }\n\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD'\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return `${ch.slice(0, -1)}\\\\${ch.charCodeAt(ch.length - 1).toString(16)} `\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return `\\\\${ch}`\n })\n}\n\ninterface Assignable {\n [key: string]: any\n}\n\nexport function assign(target: T, source: U): T & U\nexport function assign(target: T, source1: U, source2: V): T & U & V\nexport function assign(target: T, source1: U, source2: V, source3: W): T & U & V & W\nexport function assign(target: Assignable, ...toAssign: Assignable[]) {\n toAssign.forEach((source: Assignable) => {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n })\n return target\n}\n","import { catchUserErrors } from '../tools/catchUserErrors'\nimport { setDebugMode } from '../tools/monitor'\nimport { assign } from '../tools/utils/polyfills'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nexport function makePublicApi(stub: T): T & { onReady(callback: () => void): void; version: string } {\n const publicApi = assign(\n {\n version: __BUILD_ENV__SDK_VERSION__,\n\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady(callback: () => void) {\n callback()\n },\n },\n stub\n )\n\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get() {\n return setDebugMode\n },\n enumerable: false,\n })\n\n return publicApi\n}\n\nexport function defineGlobal(global: Global, name: Name, api: Global[Name]) {\n const existingGlobalVariable = global[name] as { q?: Array<() => void> } | undefined\n global[name] = api\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach((fn) => catchUserErrors(fn, 'onReady callback threw an error:')())\n }\n}\n","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\n\nexport function getGlobalObject(): T {\n if (typeof globalThis === 'object') {\n return globalThis as unknown as T\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get() {\n return this as object\n },\n configurable: true,\n })\n // @ts-ignore _dd_temp is defined using defineProperty\n let globalObject: unknown = _dd_temp_\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self\n } else if (typeof window === 'object') {\n globalObject = window\n } else {\n globalObject = {}\n }\n }\n return globalObject as T\n}\n","export const ONE_KIBI_BYTE = 1024\nexport const ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE\n\n// eslint-disable-next-line no-control-regex\nconst HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/\n\nexport function computeBytesCount(candidate: string): number {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length\n }\n\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length\n }\n\n return new Blob([candidate]).size\n}\n\nexport function concatBuffers(buffers: Uint8Array[]) {\n const length = buffers.reduce((total, buffer) => total + buffer.length, 0)\n const result = new Uint8Array(length)\n let offset = 0\n for (const buffer of buffers) {\n result.set(buffer, offset)\n offset += buffer.length\n }\n return result\n}\n","import { getGlobalObject } from './getGlobalObject'\n\nexport interface BrowserWindowWithZoneJs extends Window {\n Zone?: {\n // All Zone.js versions expose the __symbol__ method, but we observed that some website have a\n // 'Zone' global variable unrelated to Zone.js, so let's consider this method optional\n // nonetheless.\n __symbol__?: (name: string) => string\n }\n}\n\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(\n target: Target,\n name: Name\n): Target[Name] {\n const browserWindow = getGlobalObject()\n let original: Target[Name] | undefined\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = (target as any)[browserWindow.Zone.__symbol__(name)]\n }\n if (!original) {\n original = target[name]\n }\n return original\n}\n","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue'\nimport { monitor } from './monitor'\nimport { getGlobalObject } from './getGlobalObject'\n\nexport type TimeoutId = ReturnType\n\nexport function setTimeout(callback: () => void, delay?: number): TimeoutId {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay)\n}\n\nexport function clearTimeout(timeoutId: TimeoutId | undefined) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId)\n}\n\nexport function setInterval(callback: () => void, delay?: number): TimeoutId {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay)\n}\n\nexport function clearInterval(timeoutId: TimeoutId | undefined) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId)\n}\n","import type { TimeoutId } from '../timer'\nimport { setTimeout, clearTimeout } from '../timer'\n\n// use lodash API\nexport function throttle void>(\n fn: T,\n wait: number,\n options?: { leading?: boolean; trailing?: boolean }\n) {\n const needLeadingExecution = options && options.leading !== undefined ? options.leading : true\n const needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true\n let inWaitPeriod = false\n let pendingExecutionWithParameters: Parameters | undefined\n let pendingTimeoutId: TimeoutId\n\n return {\n throttled: (...parameters: Parameters) => {\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters\n return\n }\n if (needLeadingExecution) {\n fn(...parameters)\n } else {\n pendingExecutionWithParameters = parameters\n }\n inWaitPeriod = true\n pendingTimeoutId = setTimeout(() => {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn(...pendingExecutionWithParameters)\n }\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n }, wait)\n },\n cancel: () => {\n clearTimeout(pendingTimeoutId)\n inWaitPeriod = false\n pendingExecutionWithParameters = undefined\n },\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() {}\n\nexport type ListenerHandler = () => void\n","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value: unknown) {\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return typeof value\n}\n","import { getType } from './utils/typeUtils'\n\ntype Merged =\n // case 1 - source is undefined - return destination\n TSource extends undefined\n ? TDestination\n : // case 2 - destination is undefined - return source\n TDestination extends undefined\n ? TSource\n : // case 3 - source is an array - see if it merges or overwrites\n TSource extends any[]\n ? TDestination extends any[]\n ? TDestination & TSource\n : TSource\n : // case 4 - source is an object - see if it merges or overwrites\n TSource extends object\n ? TDestination extends object\n ? TDestination extends any[]\n ? TSource\n : TDestination & TSource\n : TSource\n : // case 5 - cannot merge - return source\n TSource\n\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(\n destination: D,\n source: S,\n circularReferenceChecker = createCircularReferenceChecker()\n): Merged {\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination as Merged\n }\n\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source as Merged\n } else if (source instanceof Date) {\n return new Date(source.getTime()) as unknown as Merged\n } else if (source instanceof RegExp) {\n const flags =\n source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('')\n return new RegExp(source.source, flags) as unknown as Merged\n }\n\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined as unknown as Merged\n } else if (Array.isArray(source)) {\n const merged: any[] = Array.isArray(destination) ? destination : []\n for (let i = 0; i < source.length; ++i) {\n merged[i] = mergeInto(merged[i], source[i], circularReferenceChecker)\n }\n return merged as unknown as Merged\n }\n\n const merged = getType(destination) === 'object' ? (destination as Record) : {}\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker)\n }\n }\n return merged as unknown as Merged\n}\n\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value: T): T {\n return mergeInto(undefined, value) as T\n}\n\ntype Combined = A extends null ? B : B extends null ? A : Merged\n\n/*\n * Performs a deep merge of objects and arrays.\n * - Arguments won't be mutated\n * - Object and arrays in the output value are de-referenced (\"deep cloned\")\n * - Arrays values are merged index by index\n * - Objects are merged by keys\n * - Values get replaced, unless undefined\n */\nexport function combine(a: A, b: B): Combined\nexport function combine(a: A, b: B, c: C): Combined, C>\nexport function combine(a: A, b: B, c: C, d: D): Combined, C>, D>\nexport function combine(\n a: A,\n b: B,\n c: C,\n d: D,\n e: E\n): Combined, C>, D>, E>\nexport function combine(\n a: A,\n b: B,\n c: C,\n d: D,\n e: E,\n f: F\n): Combined, C>, D>, E>, F>\nexport function combine(\n a: A,\n b: B,\n c: C,\n d: D,\n e: E,\n f: F,\n g: G\n): Combined, C>, D>, E>, F>, G>\nexport function combine(\n a: A,\n b: B,\n c: C,\n d: D,\n e: E,\n f: F,\n g: G,\n h: H\n): Combined, C>, D>, E>, F>, G>, H>\nexport function combine(...sources: any[]): unknown {\n let destination: any\n\n for (const source of sources) {\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue\n }\n\n destination = mergeInto(destination, source)\n }\n\n return destination as unknown\n}\n\ninterface CircularReferenceChecker {\n hasAlreadyBeenSeen(value: any): boolean\n}\n\nfunction createCircularReferenceChecker(): CircularReferenceChecker {\n if (typeof WeakSet !== 'undefined') {\n const set: WeakSet = new WeakSet()\n return {\n hasAlreadyBeenSeen(value) {\n const has = set.has(value)\n if (!has) {\n set.add(value)\n }\n return has\n },\n }\n }\n const array: any[] = []\n return {\n hasAlreadyBeenSeen(value) {\n const has = array.indexOf(value) >= 0\n if (!has) {\n array.push(value)\n }\n return has\n },\n }\n}\n","import { noop } from '../utils/functionUtils'\n\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(\n value: unknown,\n replacer?: Array,\n space?: string | number\n): string | undefined {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value)\n }\n\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype)\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype)\n const restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value))\n const restoreValueToJson = detachToJsonMethod(value)\n\n try {\n return JSON.stringify(value, replacer, space)\n } catch {\n return ''\n } finally {\n restoreObjectPrototypeToJson()\n restoreArrayPrototypeToJson()\n restoreValuePrototypeToJson()\n restoreValueToJson()\n }\n}\n\nexport interface ObjectWithToJsonMethod {\n toJSON?: () => unknown\n}\n\nexport function detachToJsonMethod(value: object) {\n const object = value as ObjectWithToJsonMethod\n const objectToJson = object.toJSON\n if (objectToJson) {\n delete object.toJSON\n return () => {\n object.toJSON = objectToJson\n }\n }\n return noop\n}\n","import { display } from '../display'\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils'\nimport type { Context, ContextArray, ContextValue } from './context'\nimport type { ObjectWithToJsonMethod } from './jsonStringify'\nimport { detachToJsonMethod } from './jsonStringify'\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype PrimitivesAndFunctions = string | number | boolean | undefined | null | symbol | bigint | Function\ntype ExtendedContextValue = PrimitivesAndFunctions | object | ExtendedContext | ExtendedContextArray\ntype ExtendedContext = { [key: string]: ExtendedContextValue }\ntype ExtendedContextArray = ExtendedContextValue[]\n\ntype ContainerElementToProcess = {\n source: ExtendedContextArray | ExtendedContext\n target: ContextArray | Context\n path: string\n}\n\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nconst SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE\n\n// Symbol for the root element of the JSONPath used for visited objects\nconst JSON_PATH_ROOT_ELEMENT = '$'\n\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nconst KEY_DECORATION_LENGTH = 3\n\n/**\n * Ensures user-provided data is 'safe' for the SDK\n * - Deep clones data\n * - Removes cyclic references\n * - Transforms unserializable types to a string representation\n *\n * LIMITATIONS:\n * - Size is in characters, not byte count (may differ according to character encoding)\n * - Size does not take into account indentation that can be applied to JSON.stringify\n * - Non-numerical properties of Arrays are ignored. Same behavior as JSON.stringify\n *\n * @param source User-provided data meant to be serialized using JSON.stringify\n * @param maxCharacterCount Maximum number of characters allowed in serialized form\n */\nexport function sanitize(source: string, maxCharacterCount?: number): string | undefined\nexport function sanitize(source: Context, maxCharacterCount?: number): Context\nexport function sanitize(source: unknown, maxCharacterCount?: number): ContextValue\nexport function sanitize(source: unknown, maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT) {\n // Unbind any toJSON function we may have on [] or {} prototypes\n const restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype)\n const restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype)\n\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n const containerQueue: ContainerElementToProcess[] = []\n const visitedObjectsWithPath = new WeakMap()\n const sanitizedData = sanitizeProcessor(\n source as ExtendedContextValue,\n JSON_PATH_ROOT_ELEMENT,\n undefined,\n containerQueue,\n visitedObjectsWithPath\n )\n let accumulatedCharacterCount = JSON.stringify(sanitizedData)?.length || 0\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source)\n return undefined\n }\n\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n const containerToProcess = containerQueue.shift()!\n let separatorLength = 0 // 0 for the first element, 1 for subsequent elements\n\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (let key = 0; key < containerToProcess.source.length; key++) {\n const targetData = sanitizeProcessor(\n containerToProcess.source[key],\n containerToProcess.path,\n key,\n containerQueue,\n visitedObjectsWithPath\n )\n\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length\n } else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4\n }\n accumulatedCharacterCount += separatorLength\n separatorLength = 1\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source)\n break\n }\n ;(containerToProcess.target as ContextArray)[key] = targetData\n }\n } else {\n for (const key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n const targetData = sanitizeProcessor(\n containerToProcess.source[key],\n containerToProcess.path,\n key,\n containerQueue,\n visitedObjectsWithPath\n )\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH\n separatorLength = 1\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source)\n break\n }\n ;(containerToProcess.target as Context)[key] = targetData\n }\n }\n }\n }\n\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson()\n restoreArrayPrototypeToJson()\n\n return sanitizedData\n}\n\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(\n source: ExtendedContextValue,\n parentPath: string,\n key: string | number | undefined,\n queue: ContainerElementToProcess[],\n visitedObjectsWithPath: WeakMap\n) {\n // Start by handling toJSON, as we want to sanitize its output\n const sourceToSanitize = tryToApplyToJSON(source)\n\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize)\n }\n\n const sanitizedSource = sanitizeObjects(sourceToSanitize)\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource\n }\n\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n const sourceAsObject = source as object\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return `[Reference seen at ${visitedObjectsWithPath.get(sourceAsObject)!}]`\n }\n\n // Add processed source to queue\n const currentPath = key !== undefined ? `${parentPath}.${key}` : parentPath\n const target = Array.isArray(sourceToSanitize) ? ([] as ContextArray) : ({} as Context)\n visitedObjectsWithPath.set(sourceAsObject, currentPath)\n queue.push({ source: sourceToSanitize as ExtendedContext | ExtendedContextArray, target, path: currentPath })\n\n return target\n}\n\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value: PrimitivesAndFunctions) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return `[BigInt] ${value.toString()}`\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return `[Function] ${value.name || 'unknown'}`\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n // symbol.description is part of ES2019+\n type symbolWithDescription = symbol & { description: string }\n return `[Symbol] ${(value as symbolWithDescription).description || value.toString()}`\n }\n\n return value\n}\n\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n * - IE11 does not return a distinct type for objects such as Map, WeakMap, ... These objects will pass through and their\n * properties enumerated if any.\n *\n */\nfunction sanitizeObjects(value: object) {\n try {\n // Handle events - Keep a simple implementation to avoid breaking changes\n if (value instanceof Event) {\n return {\n isTrusted: value.isTrusted,\n }\n }\n\n // Handle all remaining object types in a generic way\n const result = Object.prototype.toString.call(value)\n const match = result.match(/\\[object (.*)\\]/)\n if (match && match[1]) {\n return `[${match[1]}]`\n }\n } catch {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]'\n}\n\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value: ExtendedContextValue) {\n const object = value as ObjectWithToJsonMethod\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON() as ExtendedContextValue\n } catch {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n\n return value\n}\n\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount: number, changeType: 'discarded' | 'truncated', source: unknown) {\n display.warn(\n `The data provided has been ${changeType} as it is over the limit of ${maxCharacterCount} characters:`,\n source\n )\n}\n","export interface Subscription {\n unsubscribe: () => void\n}\n\nexport class Observable {\n private observers: Array<(data: T) => void> = []\n private onLastUnsubscribe?: () => void\n\n constructor(private onFirstSubscribe?: () => (() => void) | void) {}\n\n subscribe(f: (data: T) => void): Subscription {\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined\n }\n this.observers.push(f)\n return {\n unsubscribe: () => {\n this.observers = this.observers.filter((other) => f !== other)\n if (!this.observers.length && this.onLastUnsubscribe) {\n this.onLastUnsubscribe()\n }\n },\n }\n }\n\n notify(data: T) {\n this.observers.forEach((observer) => observer(data))\n }\n}\n\nexport function mergeObservables(...observables: Array>) {\n const globalObservable = new Observable(() => {\n const subscriptions: Subscription[] = observables.map((observable) =>\n observable.subscribe((data) => globalObservable.notify(data))\n )\n return () => subscriptions.forEach((subscription) => subscription.unsubscribe())\n })\n\n return globalObservable\n}\n","import { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils'\nimport { display } from '../../tools/display'\nimport { CustomerDataType } from './contextConstants'\n\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport const CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE\n\nconst CustomerDataLabel = {\n [CustomerDataType.FeatureFlag]: 'feature flag evaluation',\n [CustomerDataType.User]: 'user',\n [CustomerDataType.GlobalContext]: 'global context',\n [CustomerDataType.LoggerContext]: 'logger context',\n}\nexport function warnIfCustomerDataLimitReached(bytesCount: number, customerDataType: CustomerDataType): boolean {\n if (bytesCount > CUSTOMER_DATA_BYTES_LIMIT) {\n display.warn(\n `The ${CustomerDataLabel[customerDataType]} data exceeds the recommended ${\n CUSTOMER_DATA_BYTES_LIMIT / ONE_KIBI_BYTE\n }KiB threshold. More details: https://docs.datadoghq.com/real_user_monitoring/browser/troubleshooting/#customer-data-exceeds-the-recommended-3kib-warning`\n )\n return true\n }\n return false\n}\n","import { computeBytesCount } from '../../tools/utils/byteUtils'\nimport { throttle } from '../../tools/utils/functionUtils'\nimport { deepClone } from '../../tools/mergeInto'\nimport { getType } from '../../tools/utils/typeUtils'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport { sanitize } from '../../tools/serialisation/sanitize'\nimport type { Context } from '../../tools/serialisation/context'\nimport { Observable } from '../../tools/observable'\nimport { warnIfCustomerDataLimitReached } from './heavyCustomerDataWarning'\nimport type { CustomerDataType } from './contextConstants'\n\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport type ContextManager = ReturnType\n\nexport function createContextManager(customerDataType: CustomerDataType, computeBytesCountImpl = computeBytesCount) {\n let context: Context = {}\n let bytesCountCache: number\n let alreadyWarned = false\n const changeObservable = new Observable()\n\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n const { throttled: computeBytesCountThrottled } = throttle((context: Context) => {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context)!)\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(bytesCountCache, customerDataType)\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY)\n\n const contextManager = {\n getBytesCount: () => bytesCountCache,\n\n getContext: () => deepClone(context),\n\n setContext: (newContext: Context) => {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext)\n computeBytesCountThrottled(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: (key: string, property: any) => {\n context[key] = sanitize(property)\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n removeContextProperty: (key: string) => {\n delete context[key]\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n clearContext: () => {\n context = {}\n bytesCountCache = 0\n changeObservable.notify()\n },\n\n changeObservable,\n }\n return contextManager\n}\n","const BUFFER_LIMIT = 500\n\nexport class BoundedBuffer {\n private buffer: Array<() => void> = []\n\n add(callback: () => void) {\n const length = this.buffer.push(callback)\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1)\n }\n }\n\n drain() {\n this.buffer.forEach((callback) => callback())\n this.buffer.length = 0\n }\n}\n","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold: number): boolean {\n return threshold !== 0 && Math.random() * 100 <= threshold\n}\n\nexport function round(num: number, decimals: 0 | 1 | 2 | 3 | 4) {\n return +num.toFixed(decimals)\n}\n\nexport function isPercentage(value: unknown) {\n return isNumber(value) && value >= 0 && value <= 100\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number'\n}\n","import { isNumber, round } from './numberUtils'\n\nexport const ONE_SECOND = 1000\nexport const ONE_MINUTE = 60 * ONE_SECOND\nexport const ONE_HOUR = 60 * ONE_MINUTE\nexport const ONE_DAY = 24 * ONE_HOUR\nexport const ONE_YEAR = 365 * ONE_DAY\n\nexport type Duration = number & { d: 'Duration in ms' }\nexport type ServerDuration = number & { s: 'Duration in ns' }\nexport type TimeStamp = number & { t: 'Epoch time' }\nexport type RelativeTime = number & { r: 'Time relative to navigation start' } & { d: 'Duration in ms' }\nexport type ClocksState = { relative: RelativeTime; timeStamp: TimeStamp }\n\nexport function relativeToClocks(relative: RelativeTime) {\n return { relative, timeStamp: getCorrectedTimeStamp(relative) }\n}\n\nfunction getCorrectedTimeStamp(relativeTime: RelativeTime) {\n const correctedOrigin = (dateNow() - performance.now()) as TimeStamp\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime)) as TimeStamp\n }\n return getTimeStamp(relativeTime)\n}\n\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now() as Duration))\n}\n\nexport function toServerDuration(duration: Duration): ServerDuration\nexport function toServerDuration(duration: Duration | undefined): ServerDuration | undefined\nexport function toServerDuration(duration: Duration | undefined) {\n if (!isNumber(duration)) {\n return duration\n }\n return round(duration * 1e6, 0) as ServerDuration\n}\n\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime()\n}\n\nexport function timeStampNow() {\n return dateNow() as TimeStamp\n}\n\nexport function relativeNow() {\n return performance.now() as RelativeTime\n}\n\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() }\n}\n\nexport function clocksOrigin() {\n return { relative: 0 as RelativeTime, timeStamp: getNavigationStart() }\n}\n\nexport function elapsed(start: TimeStamp, end: TimeStamp): Duration\nexport function elapsed(start: RelativeTime, end: RelativeTime): Duration\nexport function elapsed(start: number, end: number) {\n return (end - start) as Duration\n}\n\nexport function addDuration(a: TimeStamp, b: Duration): TimeStamp\nexport function addDuration(a: RelativeTime, b: Duration): RelativeTime\nexport function addDuration(a: Duration, b: Duration): Duration\nexport function addDuration(a: number, b: number) {\n return a + b\n}\n\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nexport function getRelativeTime(timestamp: TimeStamp) {\n return (timestamp - getNavigationStart()) as RelativeTime\n}\n\nexport function getTimeStamp(relativeTime: RelativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime)) as TimeStamp\n}\n\nexport function looksLikeRelativeTime(time: RelativeTime | TimeStamp): time is RelativeTime {\n return time < ONE_YEAR\n}\n\n/**\n * Navigation start slightly change on some rare cases\n */\nlet navigationStart: TimeStamp | undefined\n\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart as TimeStamp\n }\n return navigationStart\n}\n\nexport function resetNavigationStart() {\n navigationStart = undefined\n}\n","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder?: string): string {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID)\n}\n\nconst COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g\n\nexport function findCommaSeparatedValue(rawString: string, name: string): string | undefined {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n if (match[1] === name) {\n return match[2]\n }\n } else {\n break\n }\n }\n}\n\nexport function findCommaSeparatedValues(rawString: string): Map {\n const result = new Map()\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const match = COMMA_SEPARATED_KEY_VALUE.exec(rawString)\n if (match) {\n result.set(match[1], match[2])\n } else {\n break\n }\n }\n return result\n}\n\nexport function safeTruncate(candidate: string, length: number, suffix = '') {\n const lastChar = candidate.charCodeAt(length - 1)\n const isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff\n const correctedLength = isLastCharSurrogatePair ? length + 1 : length\n\n if (candidate.length <= correctedLength) {\n return candidate\n }\n\n return `${candidate.slice(0, correctedLength)}${suffix}`\n}\n","import { display } from '../tools/display'\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils'\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils'\n\nexport interface CookieOptions {\n secure?: boolean\n crossSite?: boolean\n domain?: string\n}\n\nexport function setCookie(name: string, value: string, expireDelay: number, options?: CookieOptions) {\n const date = new Date()\n date.setTime(date.getTime() + expireDelay)\n const expires = `expires=${date.toUTCString()}`\n const sameSite = options && options.crossSite ? 'none' : 'strict'\n const domain = options && options.domain ? `;domain=${options.domain}` : ''\n const secure = options && options.secure ? ';secure' : ''\n document.cookie = `${name}=${value};${expires};path=/;samesite=${sameSite}${domain}${secure}`\n}\n\nexport function getCookie(name: string) {\n return findCommaSeparatedValue(document.cookie, name)\n}\n\nlet initCookieParsed: Map | undefined\n\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name: string) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie)\n }\n return initCookieParsed.get(name)\n}\n\nexport function resetInitCookies() {\n initCookieParsed = undefined\n}\n\nexport function deleteCookie(name: string, options?: CookieOptions) {\n setCookie(name, '', 0, options)\n}\n\nexport function areCookiesAuthorized(options: CookieOptions): boolean {\n if (document.cookie === undefined || document.cookie === null) {\n return false\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_cookie_test_${generateUUID()}`\n const testCookieValue = 'test'\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options)\n const isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue\n deleteCookie(testCookieName, options)\n return isCookieCorrectlySet\n } catch (error) {\n display.error(error)\n return false\n }\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nlet getCurrentSiteCache: string | undefined\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `dd_site_test_${generateUUID()}`\n const testCookieValue = 'test'\n\n const domainLevels = window.location.hostname.split('.')\n let candidateDomain = domainLevels.pop()!\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = `${domainLevels.pop()!}.${candidateDomain}`\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain })\n }\n deleteCookie(testCookieName, { domain: candidateDomain })\n getCurrentSiteCache = candidateDomain\n }\n return getCurrentSiteCache\n}\n","import { getInitCookie } from '../../browser/cookie'\n\nexport const SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id'\nexport const SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id'\nexport const SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum'\n\nexport interface BrowserWindow extends Window {\n _DATADOG_SYNTHETICS_PUBLIC_ID?: unknown\n _DATADOG_SYNTHETICS_RESULT_ID?: unknown\n _DATADOG_SYNTHETICS_INJECTS_RUM?: unknown\n}\n\nexport function willSyntheticsInjectRum(): boolean {\n return Boolean(\n (window as BrowserWindow)._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME)\n )\n}\n\nexport function getSyntheticsTestId(): string | undefined {\n const value = (window as BrowserWindow)._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n\nexport function getSyntheticsResultId(): string | undefined {\n const value =\n (window as BrowserWindow)._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n","import { endsWith } from '../tools/utils/polyfills'\nimport { getGlobalObject } from '../tools/getGlobalObject'\n\nexport interface BrowserWindowWithEventBridge extends Window {\n DatadogEventBridge?: DatadogEventBridge\n}\n\nexport interface DatadogEventBridge {\n getAllowedWebViewHosts(): string\n send(msg: string): void\n}\n\nexport function getEventBridge() {\n const eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n getAllowedWebViewHosts() {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts()) as string[]\n },\n send(eventType: T, event: E) {\n eventBridgeGlobal.send(JSON.stringify({ eventType, event }))\n },\n }\n}\n\nexport function canUseEventBridge(currentHost = getGlobalObject().location?.hostname): boolean {\n const bridge = getEventBridge()\n return (\n !!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some((allowedHost) => currentHost === allowedHost || endsWith(currentHost, `.${allowedHost}`))\n )\n}\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge\n}\n","import { monitor } from '../tools/monitor'\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue'\nimport type { Configuration } from '../domain/configuration'\nimport type { VisualViewport, VisualViewportEventMap } from './types'\n\nexport type TrustableEvent = E & { __ddIsTrusted?: boolean }\n\n// We want to use a real enum (i.e. not a const enum) here, to be able to iterate over it to automatically add _ddIsTrusted in e2e tests\n// eslint-disable-next-line no-restricted-syntax\nexport enum DOM_EVENT {\n BEFORE_UNLOAD = 'beforeunload',\n CLICK = 'click',\n DBL_CLICK = 'dblclick',\n KEY_DOWN = 'keydown',\n LOAD = 'load',\n POP_STATE = 'popstate',\n SCROLL = 'scroll',\n TOUCH_START = 'touchstart',\n TOUCH_END = 'touchend',\n TOUCH_MOVE = 'touchmove',\n VISIBILITY_CHANGE = 'visibilitychange',\n PAGE_SHOW = 'pageshow',\n FREEZE = 'freeze',\n RESUME = 'resume',\n DOM_CONTENT_LOADED = 'DOMContentLoaded',\n POINTER_DOWN = 'pointerdown',\n POINTER_UP = 'pointerup',\n POINTER_CANCEL = 'pointercancel',\n HASH_CHANGE = 'hashchange',\n PAGE_HIDE = 'pagehide',\n MOUSE_DOWN = 'mousedown',\n MOUSE_UP = 'mouseup',\n MOUSE_MOVE = 'mousemove',\n FOCUS = 'focus',\n BLUR = 'blur',\n CONTEXT_MENU = 'contextmenu',\n RESIZE = 'resize',\n CHANGE = 'change',\n INPUT = 'input',\n PLAY = 'play',\n PAUSE = 'pause',\n SECURITY_POLICY_VIOLATION = 'securitypolicyviolation',\n SELECTION_CHANGE = 'selectionchange',\n STORAGE = 'storage',\n}\n\ninterface AddEventListenerOptions {\n once?: boolean\n capture?: boolean\n passive?: boolean\n}\n\ntype EventMapFor = T extends Window\n ? WindowEventMap & {\n // TS 4.9.5 does not support `freeze` and `resume` events yet\n freeze: Event\n resume: Event\n // TS 4.9.5 does not define `visibilitychange` on Window (only Document)\n visibilitychange: Event\n }\n : T extends Document\n ? DocumentEventMap\n : T extends HTMLElement\n ? HTMLElementEventMap\n : T extends VisualViewport\n ? VisualViewportEventMap\n : T extends ShadowRoot\n ? // ShadowRootEventMap is not yet defined in our supported TS version. Instead, use\n // GlobalEventHandlersEventMap which is more than enough as we only need to listen for events bubbling\n // through the ShadowRoot like \"change\" or \"input\"\n GlobalEventHandlersEventMap\n : T extends XMLHttpRequest\n ? XMLHttpRequestEventMap\n : T extends Performance\n ? PerformanceEventMap\n : T extends Worker\n ? WorkerEventMap\n : Record\n\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener & string>(\n configuration: Configuration,\n eventTarget: Target,\n eventName: EventName,\n listener: (event: EventMapFor[EventName] & { type: EventName }) => void,\n options?: AddEventListenerOptions\n) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options)\n}\n\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners & string>(\n configuration: Configuration,\n eventTarget: Target,\n eventNames: EventName[],\n listener: (event: EventMapFor[EventName] & { type: EventName }) => void,\n { once, capture, passive }: AddEventListenerOptions = {}\n) {\n const listenerWithMonitor = monitor((event: TrustableEvent) => {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return\n }\n if (once) {\n stop()\n }\n listener(event as unknown as EventMapFor[EventName] & { type: EventName })\n })\n\n const options = passive ? { capture, passive } : capture\n\n const add = getZoneJsOriginalValue(eventTarget, 'addEventListener')\n eventNames.forEach((eventName) => add.call(eventTarget, eventName, listenerWithMonitor, options))\n\n function stop() {\n const remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener')\n eventNames.forEach((eventName) => remove.call(eventTarget, eventName, listenerWithMonitor, options))\n }\n\n return {\n stop,\n }\n}\n","import { computeBytesCount } from '../../tools/utils/byteUtils'\nimport { addEventListener, DOM_EVENT } from '../../browser/addEventListener'\nimport type { Context } from '../../tools/serialisation/context'\nimport type { Configuration } from '../configuration'\nimport type { ContextManager } from './contextManager'\nimport { createContextManager } from './contextManager'\nimport type { CustomerDataType } from './contextConstants'\n\nconst CONTEXT_STORE_KEY_PREFIX = '_dd_c'\n\nconst storageListeners: Array<{ stop: () => void }> = []\n\nexport function createStoredContextManager(\n configuration: Configuration,\n productKey: string,\n customerDataType: CustomerDataType,\n computeBytesCountImpl = computeBytesCount\n): ContextManager {\n const storageKey = buildStorageKey(productKey, customerDataType)\n const contextManager = createContextManager(customerDataType, computeBytesCountImpl)\n\n synchronizeWithStorage()\n storageListeners.push(\n addEventListener(configuration, window, DOM_EVENT.STORAGE, ({ key }) => {\n if (storageKey === key) {\n synchronizeWithStorage()\n }\n })\n )\n contextManager.changeObservable.subscribe(dumpToStorage)\n\n return contextManager\n\n function synchronizeWithStorage() {\n const rawContext = localStorage.getItem(storageKey)\n const context = rawContext !== null ? (JSON.parse(rawContext) as Context) : {}\n contextManager.setContext(context)\n }\n\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()))\n }\n}\n\nexport function buildStorageKey(productKey: string, customerDataType: CustomerDataType) {\n return `${CONTEXT_STORE_KEY_PREFIX}_${productKey}_${customerDataType}`\n}\n\nexport function removeStorageListeners() {\n storageListeners.map((listener) => listener.stop())\n}\n","import { computeBytesCount } from './utils/byteUtils'\n\nexport interface Encoder {\n /**\n * Whether this encoder might call the provided callbacks asynchronously\n */\n isAsync: boolean\n\n /**\n * Whether some data has been written since the last finish() or finishSync() call\n */\n isEmpty: boolean\n\n /**\n * Write a string to be encoded.\n *\n * This operation can be synchronous or asynchronous depending on the encoder implementation.\n *\n * If specified, the callback will be invoked when the operation finishes, unless the operation is\n * asynchronous and finish() or finishSync() is called in the meantime.\n */\n write(data: string, callback?: (additionalEncodedBytesCount: number) => void): void\n\n /**\n * Waits for pending data to be encoded and resets the encoder state.\n *\n * This operation can be synchronous or asynchronous depending on the encoder implementation.\n *\n * The callback will be invoked when the operation finishes, unless the operation is asynchronous\n * and another call to finish() or finishSync() occurs in the meantime.\n */\n finish(callback: (result: EncoderResult) => void): void\n\n /**\n * Resets the encoder state then returns the encoded data and any potential pending data directly,\n * discarding all pending write operations and finish() callbacks.\n */\n finishSync(): EncoderResult & { pendingData: string }\n\n /**\n * Returns a rough estimation of the bytes count if the data was encoded.\n */\n estimateEncodedBytesCount(data: string): number\n}\n\nexport interface EncoderResult {\n output: Output\n outputBytesCount: number\n\n /**\n * An encoding type supported by HTTP Content-Encoding, if applicable.\n * See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding#directives\n */\n encoding?: 'deflate'\n\n /**\n * Total bytes count of the input strings encoded to UTF-8.\n */\n rawBytesCount: number\n}\n\nexport function createIdentityEncoder(): Encoder {\n let output = ''\n let outputBytesCount = 0\n\n return {\n isAsync: false,\n\n get isEmpty() {\n return !output\n },\n\n write(data, callback) {\n const additionalEncodedBytesCount = computeBytesCount(data)\n outputBytesCount += additionalEncodedBytesCount\n output += data\n if (callback) {\n callback(additionalEncodedBytesCount)\n }\n },\n\n finish(callback) {\n callback(this.finishSync())\n },\n\n finishSync() {\n const result = {\n output,\n outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n }\n output = ''\n outputBytesCount = 0\n return result\n },\n\n estimateEncodedBytesCount(data) {\n return data.length\n },\n }\n}\n","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\n\nimport { startsWith } from '../../tools/utils/polyfills'\n\nexport interface StackFrame {\n url?: string\n func?: string\n /** The arguments passed to the function, if known. */\n args?: string[]\n line?: number\n column?: number\n /** An array of source code lines; the middle element corresponds to the correct line. */\n context?: string[]\n}\n\nexport interface StackTrace {\n name?: string\n message?: string\n url?: string\n stack: StackFrame[]\n incomplete?: boolean\n partial?: boolean\n}\n\nconst UNKNOWN_FUNCTION = '?'\n\nexport function computeStackTrace(ex: unknown): StackTrace {\n const stack: StackFrame[] = []\n\n let stackProperty = tryToGetString(ex, 'stack')\n const exString = String(ex)\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length)\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach((line) => {\n const stackFrame =\n parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line)\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION\n }\n\n stack.push(stackFrame)\n }\n })\n }\n\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack,\n }\n}\nconst fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)'\nconst filePosition = '(?::(\\\\d+))'\nconst CHROME_LINE_RE = new RegExp(`^\\\\s*at (.*?) ?\\\\(${fileUrl}${filePosition}?${filePosition}?\\\\)?\\\\s*$`, 'i')\n\nconst CHROME_EVAL_RE = new RegExp(`\\\\((\\\\S*)${filePosition}${filePosition}\\\\)`)\n\nfunction parseChromeLine(line: string): StackFrame | undefined {\n const parts = CHROME_LINE_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n const isNative = parts[2] && parts[2].indexOf('native') === 0 // start of line\n const isEval = parts[2] && parts[2].indexOf('eval') === 0 // start of line\n const submatch = CHROME_EVAL_RE.exec(parts[2])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1] // url\n parts[3] = submatch[2] // line\n parts[4] = submatch[3] // column\n }\n\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n }\n}\n\nconst CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(`^\\\\s*at ?${fileUrl}${filePosition}?${filePosition}??\\\\s*$`, 'i')\n\nfunction parseChromeAnonymousLine(line: string): StackFrame | undefined {\n const parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n }\n}\n\nconst WINJS_LINE_RE =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i\n\nfunction parseWinLine(line: string): StackFrame | undefined {\n const parts = WINJS_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n }\n}\n\nconst GECKO_LINE_RE =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i\nconst GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i\n\nfunction parseGeckoLine(line: string): StackFrame | undefined {\n const parts = GECKO_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1\n const submatch = GECKO_EVAL_RE.exec(parts[3])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1]\n parts[4] = submatch[2]\n parts[5] = undefined! // no column when eval\n }\n\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n }\n}\n\nfunction tryToGetString(candidate: unknown, property: string) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined\n }\n const value = (candidate as { [k: string]: unknown })[property]\n return typeof value === 'string' ? value : undefined\n}\n\nexport function computeStackTraceFromOnErrorMessage(messageObj: unknown, url?: string, line?: number, column?: number) {\n const stack = [{ url, column, line }]\n const { name, message } = tryToParseMessage(messageObj)\n return {\n name,\n message,\n stack,\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nconst ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/\n\nfunction tryToParseMessage(messageObj: unknown) {\n let name\n let message\n if ({}.toString.call(messageObj) === '[object String]') {\n ;[, name, message] = ERROR_TYPES_RE.exec(messageObj as string)!\n }\n return { name, message }\n}\n","import { callMonitored } from '../../tools/monitor'\nimport { sanitize } from '../../tools/serialisation/sanitize'\nimport type { ClocksState } from '../../tools/utils/timeUtils'\nimport { noop } from '../../tools/utils/functionUtils'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport type { ErrorSource, ErrorHandling, RawError, RawErrorCause, ErrorWithCause, NonErrorPrefix } from './error.types'\nimport type { StackTrace } from './computeStackTrace'\nimport { computeStackTrace } from './computeStackTrace'\n\nexport const NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error'\n\ntype RawErrorParams = {\n stackTrace?: StackTrace\n originalError: unknown\n\n handlingStack?: string\n startClocks: ClocksState\n nonErrorPrefix: NonErrorPrefix\n source: ErrorSource\n handling: ErrorHandling\n}\n\nexport function computeRawError({\n stackTrace,\n originalError,\n handlingStack,\n startClocks,\n nonErrorPrefix,\n source,\n handling,\n}: RawErrorParams): RawError {\n const isErrorInstance = originalError instanceof Error\n\n const message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError)\n const stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE\n const causes = isErrorInstance ? flattenErrorCauses(originalError as ErrorWithCause, source) : undefined\n const type = stackTrace?.name\n const fingerprint = tryToGetFingerprint(originalError)\n\n return {\n startClocks,\n source,\n handling,\n handlingStack,\n originalError,\n type,\n message,\n stack,\n causes,\n fingerprint,\n }\n}\n\nfunction computeMessage(\n stackTrace: StackTrace | undefined,\n isErrorInstance: boolean,\n nonErrorPrefix: NonErrorPrefix,\n originalError: unknown\n) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return stackTrace?.message && stackTrace?.name\n ? stackTrace.message\n : !isErrorInstance\n ? `${nonErrorPrefix} ${jsonStringify(sanitize(originalError))!}`\n : 'Empty message'\n}\n\nfunction hasUsableStack(isErrorInstance: boolean, stackTrace?: StackTrace): stackTrace is StackTrace {\n if (stackTrace === undefined) {\n return false\n }\n if (isErrorInstance) {\n return true\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined)\n}\n\nexport function tryToGetFingerprint(originalError: unknown) {\n return originalError instanceof Error && 'dd_fingerprint' in originalError\n ? String(originalError.dd_fingerprint)\n : undefined\n}\n\nexport function toStackTraceString(stack: StackTrace) {\n let result = formatErrorMessage(stack)\n stack.stack.forEach((frame) => {\n const func = frame.func === '?' ? '' : frame.func\n const args = frame.args && frame.args.length > 0 ? `(${frame.args.join(', ')})` : ''\n const line = frame.line ? `:${frame.line}` : ''\n const column = frame.line && frame.column ? `:${frame.column}` : ''\n result += `\\n at ${func!}${args} @ ${frame.url!}${line}${column}`\n })\n return result\n}\n\nexport function getFileFromStackTraceString(stack: string) {\n return /@ (.+)/.exec(stack)?.[1]\n}\n\nexport function formatErrorMessage(stack: StackTrace) {\n return `${stack.name || 'Error'}: ${stack.message!}`\n}\n\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack(): string {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n const internalFramesToSkip = 2\n const error = new Error()\n let formattedStack: string\n\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error\n } catch (e) {\n noop()\n }\n }\n\n callMonitored(() => {\n const stackTrace = computeStackTrace(error)\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip)\n formattedStack = toStackTraceString(stackTrace)\n })\n\n return formattedStack!\n}\n\nexport function flattenErrorCauses(error: ErrorWithCause, parentSource: ErrorSource): RawErrorCause[] | undefined {\n let currentError = error\n const causes: RawErrorCause[] = []\n while (currentError?.cause instanceof Error && causes.length < 10) {\n const stackTrace = computeStackTrace(currentError.cause)\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace?.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n })\n currentError = currentError.cause\n }\n return causes.length ? causes : undefined\n}\n","import type { Context } from '../../tools/serialisation/context'\nimport { display } from '../../tools/display'\nimport { getType } from '../../tools/utils/typeUtils'\nimport { assign } from '../../tools/utils/polyfills'\nimport type { User } from './user.types'\n\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser: Context): Context {\n // We shallow clone only to prevent mutation of user data.\n const user = assign({}, newUser)\n const keys = ['id', 'name', 'email']\n keys.forEach((key) => {\n if (key in user) {\n user[key] = String(user[key])\n }\n })\n return user\n}\n\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser: User): boolean {\n const isValid = getType(newUser) === 'object'\n if (!isValid) {\n display.error('Unsupported user:', newUser)\n }\n return isValid\n}\n","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\n// eslint-disable-next-line no-restricted-syntax\nexport enum ExperimentalFeature {\n PAGEHIDE = 'pagehide',\n FEATURE_FLAGS = 'feature_flags',\n RESOURCE_PAGE_STATES = 'resource_page_states',\n COLLECT_FLUSH_REASON = 'collect_flush_reason',\n SCROLLMAP = 'scrollmap',\n DISABLE_REPLAY_INLINE_CSS = 'disable_replay_inline_css',\n}\n\nconst enabledExperimentalFeatures: Set = new Set()\n\nexport function addExperimentalFeatures(enabledFeatures: ExperimentalFeature[]): void {\n enabledFeatures.forEach((flag) => {\n enabledExperimentalFeatures.add(flag)\n })\n}\n\nexport function isExperimentalFeatureEnabled(featureName: ExperimentalFeature): boolean {\n return enabledExperimentalFeatures.has(featureName)\n}\n\nexport function resetExperimentalFeatures(): void {\n enabledExperimentalFeatures.clear()\n}\n\nexport function getExperimentalFeatures(): Set {\n return enabledExperimentalFeatures\n}\n","import { assign } from './polyfills'\n\nexport function shallowClone(object: T): T & Record {\n return assign({}, object)\n}\n\nexport function objectHasValue(object: T, value: unknown): value is T[keyof T] {\n return Object.keys(object).some((key) => object[key] === value)\n}\n\nexport function isEmptyObject(object: object) {\n return Object.keys(object).length === 0\n}\n\nexport function mapValues(object: { [key: string]: A }, fn: (arg: A) => B) {\n const newObject: { [key: string]: B } = {}\n for (const key of Object.keys(object)) {\n newObject[key] = fn(object[key])\n }\n return newObject\n}\n","import { ONE_HOUR, ONE_MINUTE } from '../../tools/utils/timeUtils'\n\nexport const SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport const SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\n","// Exported only for tests\nexport const enum Browser {\n IE,\n CHROMIUM,\n SAFARI,\n OTHER,\n}\n\nexport function isIE() {\n return detectBrowserCached() === Browser.IE\n}\n\nexport function isChromium() {\n return detectBrowserCached() === Browser.CHROMIUM\n}\n\nexport function isSafari() {\n return detectBrowserCached() === Browser.SAFARI\n}\n\nlet browserCache: Browser | undefined\nfunction detectBrowserCached() {\n return browserCache ?? (browserCache = detectBrowser())\n}\n\n// Exported only for tests\nexport function detectBrowser(browserWindow: Window = window) {\n const userAgent = browserWindow.navigator.userAgent\n if ((browserWindow as any).chrome || /HeadlessChrome/.test(userAgent)) {\n return Browser.CHROMIUM\n }\n\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n browserWindow.navigator.vendor?.indexOf('Apple') === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))\n ) {\n return Browser.SAFARI\n }\n\n if ((browserWindow.document as any).documentMode) {\n return Browser.IE\n }\n\n return Browser.OTHER\n}\n","import type { CookieOptions } from '../../../browser/cookie'\nimport type { SessionState } from '../sessionState'\n\nexport const SESSION_STORE_KEY = '_dd_s'\n\nexport type SessionStoreStrategyType = { type: 'Cookie'; cookieOptions: CookieOptions } | { type: 'LocalStorage' }\n\nexport interface SessionStoreStrategy {\n isLockEnabled: boolean\n persistSession: (session: SessionState) => void\n retrieveSession: () => SessionState\n clearSession: () => void\n}\n","import { isEmptyObject } from '../../tools/utils/objectUtils'\nimport { objectEntries } from '../../tools/utils/polyfills'\nimport { dateNow } from '../../tools/utils/timeUtils'\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants'\n\nconst SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/\nconst SESSION_ENTRY_SEPARATOR = '&'\n\nexport interface SessionState {\n id?: string\n created?: string\n expire?: string\n lock?: string\n\n [key: string]: string | undefined\n}\n\nexport function isSessionInExpiredState(session: SessionState) {\n return isEmptyObject(session)\n}\n\nexport function expandSessionState(session: SessionState) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY)\n}\n\nexport function toSessionString(session: SessionState) {\n return objectEntries(session)\n .map(([key, value]) => `${key}=${value as string}`)\n .join(SESSION_ENTRY_SEPARATOR)\n}\n\nexport function toSessionState(sessionString: string | undefined | null) {\n const session: SessionState = {}\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach((entry) => {\n const matches = SESSION_ENTRY_REGEXP.exec(entry)\n if (matches !== null) {\n const [, key, value] = matches\n session[key] = value\n }\n })\n }\n return session\n}\n\nfunction isValidSessionString(sessionString: string | undefined | null): sessionString is string {\n return (\n !!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString))\n )\n}\n","import { getInitCookie } from '../../browser/cookie'\nimport type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy'\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy'\nimport type { SessionState } from './sessionState'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\n\nexport const OLD_SESSION_COOKIE_NAME = '_dd'\nexport const OLD_RUM_COOKIE_NAME = '_dd_r'\nexport const OLD_LOGS_COOKIE_NAME = '_dd_l'\n\n// duplicate values to avoid dependency issues\nexport const RUM_SESSION_KEY = 'rum'\nexport const LOGS_SESSION_KEY = 'logs'\n\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy: SessionStoreStrategy) {\n const sessionString = getInitCookie(SESSION_STORE_KEY)\n if (!sessionString) {\n const oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME)\n const oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME)\n const oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME)\n const session: SessionState = {}\n\n if (oldSessionId) {\n session.id = oldSessionId\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType\n }\n\n if (!isSessionInExpiredState(session)) {\n expandSessionState(session)\n cookieStoreStrategy.persistSession(session)\n }\n }\n}\n","import { isChromium } from '../../../tools/utils/browserDetection'\nimport type { CookieOptions } from '../../../browser/cookie'\nimport { getCurrentSite, areCookiesAuthorized, deleteCookie, getCookie, setCookie } from '../../../browser/cookie'\nimport type { InitConfiguration } from '../../configuration'\nimport { tryOldCookiesMigration } from '../oldCookiesMigration'\nimport { SESSION_EXPIRATION_DELAY } from '../sessionConstants'\nimport type { SessionState } from '../sessionState'\nimport { toSessionString, toSessionState } from '../sessionState'\nimport type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy'\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy'\n\nexport function selectCookieStrategy(initConfiguration: InitConfiguration): SessionStoreStrategyType | undefined {\n const cookieOptions = buildCookieOptions(initConfiguration)\n return areCookiesAuthorized(cookieOptions) ? { type: 'Cookie', cookieOptions } : undefined\n}\n\nexport function initCookieStrategy(cookieOptions: CookieOptions): SessionStoreStrategy {\n const cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n clearSession: deleteSessionCookie(cookieOptions),\n }\n\n tryOldCookiesMigration(cookieStore)\n\n return cookieStore\n}\n\nfunction persistSessionCookie(options: CookieOptions) {\n return (session: SessionState) => {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options)\n }\n}\n\nfunction retrieveSessionCookie(): SessionState {\n const sessionString = getCookie(SESSION_STORE_KEY)\n return toSessionState(sessionString)\n}\n\nfunction deleteSessionCookie(options: CookieOptions) {\n return () => {\n deleteCookie(SESSION_STORE_KEY, options)\n }\n}\n\nexport function buildCookieOptions(initConfiguration: InitConfiguration) {\n const cookieOptions: CookieOptions = {}\n\n cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n","import { generateUUID } from '../../../tools/utils/stringUtils'\nimport type { SessionState } from '../sessionState'\nimport { toSessionString, toSessionState } from '../sessionState'\nimport type { SessionStoreStrategy, SessionStoreStrategyType } from './sessionStoreStrategy'\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy'\n\nconst LOCAL_STORAGE_TEST_KEY = '_dd_test_'\n\nexport function selectLocalStorageStrategy(): SessionStoreStrategyType | undefined {\n try {\n const id = generateUUID()\n const testKey = `${LOCAL_STORAGE_TEST_KEY}${id}`\n localStorage.setItem(testKey, id)\n const retrievedId = localStorage.getItem(testKey)\n localStorage.removeItem(testKey)\n return id === retrievedId ? { type: 'LocalStorage' } : undefined\n } catch (e) {\n return undefined\n }\n}\n\nexport function initLocalStorageStrategy(): SessionStoreStrategy {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n clearSession: clearSessionFromLocalStorage,\n }\n}\n\nfunction persistInLocalStorage(sessionState: SessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState))\n}\n\nfunction retrieveSessionFromLocalStorage(): SessionState {\n const sessionString = localStorage.getItem(SESSION_STORE_KEY)\n return toSessionState(sessionString)\n}\n\nfunction clearSessionFromLocalStorage() {\n localStorage.removeItem(SESSION_STORE_KEY)\n}\n","import { setTimeout } from '../../tools/timer'\nimport { generateUUID } from '../../tools/utils/stringUtils'\nimport type { SessionStoreStrategy } from './storeStrategies/sessionStoreStrategy'\nimport type { SessionState } from './sessionState'\nimport { expandSessionState, isSessionInExpiredState } from './sessionState'\n\ntype Operations = {\n process: (sessionState: SessionState) => SessionState | undefined\n after?: (sessionState: SessionState) => void\n}\n\nexport const LOCK_RETRY_DELAY = 10\nexport const LOCK_MAX_TRIES = 100\nconst bufferedOperations: Operations[] = []\nlet ongoingOperations: Operations | undefined\n\nexport function processSessionStoreOperations(\n operations: Operations,\n sessionStoreStrategy: SessionStoreStrategy,\n numberOfRetries = 0\n) {\n const { isLockEnabled, retrieveSession, persistSession, clearSession } = sessionStoreStrategy\n\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy)\n return\n }\n let currentLock: string\n let currentSession = retrieveSession()\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = generateUUID()\n currentSession.lock = currentLock\n persistSession(currentSession)\n // if lock is not acquired, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n let processedSession = operations.process(currentSession)\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock!) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n clearSession()\n } else {\n expandSessionState(processedSession)\n persistSession(processedSession)\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock!) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries)\n return\n }\n delete currentSession.lock\n persistSession(currentSession)\n processedSession = currentSession\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n operations.after?.(processedSession || currentSession)\n next(sessionStoreStrategy)\n}\n\nfunction retryLater(operations: Operations, sessionStore: SessionStoreStrategy, currentNumberOfRetries: number) {\n setTimeout(() => {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1)\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next(sessionStore: SessionStoreStrategy) {\n ongoingOperations = undefined\n const nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore)\n }\n}\n","import { clearInterval, setInterval } from '../../tools/timer'\nimport { Observable } from '../../tools/observable'\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils'\nimport { throttle } from '../../tools/utils/functionUtils'\nimport { generateUUID } from '../../tools/utils/stringUtils'\nimport type { InitConfiguration } from '../configuration'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie'\nimport type { SessionStoreStrategyType } from './storeStrategies/sessionStoreStrategy'\nimport type { SessionState } from './sessionState'\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage'\nimport { processSessionStoreOperations } from './sessionStoreOperations'\n\nexport interface SessionStore {\n expandOrRenewSession: () => void\n expandSession: () => void\n getSession: () => SessionState\n renewObservable: Observable\n expireObservable: Observable\n expire: () => void\n stop: () => void\n}\n\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport const STORAGE_POLL_DELAY = ONE_SECOND\n\n/**\n * Checks if cookies are available as the preferred storage\n * Else, checks if LocalStorage is allowed and available\n */\nexport function selectSessionStoreStrategyType(\n initConfiguration: InitConfiguration\n): SessionStoreStrategyType | undefined {\n let sessionStoreStrategyType = selectCookieStrategy(initConfiguration)\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy()\n }\n return sessionStoreStrategyType\n}\n\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(\n sessionStoreStrategyType: SessionStoreStrategyType,\n productKey: string,\n computeSessionState: (rawTrackingType?: string) => { trackingType: TrackingType; isTracked: boolean }\n): SessionStore {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n\n const sessionStoreStrategy =\n sessionStoreStrategyType.type === 'Cookie'\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy()\n const { clearSession, retrieveSession } = sessionStoreStrategy\n\n const watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY)\n let sessionCache: SessionState = retrieveActiveSession()\n\n function expandOrRenewSession() {\n let isTracked: boolean\n processSessionStoreOperations(\n {\n process: (sessionState) => {\n const synchronizedSession = synchronizeSession(sessionState)\n isTracked = expandOrRenewSessionState(synchronizedSession)\n return synchronizedSession\n },\n after: (sessionState) => {\n if (isTracked && !hasSessionInCache()) {\n renewSessionInCache(sessionState)\n }\n sessionCache = sessionState\n },\n },\n sessionStoreStrategy\n )\n }\n\n function expandSession() {\n processSessionStoreOperations(\n {\n process: (sessionState) => (hasSessionInCache() ? synchronizeSession(sessionState) : undefined),\n },\n sessionStoreStrategy\n )\n }\n\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations(\n {\n process: (sessionState) => (!isActiveSession(sessionState) ? {} : undefined),\n after: synchronizeSession,\n },\n sessionStoreStrategy\n )\n }\n\n function synchronizeSession(sessionState: SessionState) {\n if (!isActiveSession(sessionState)) {\n sessionState = {}\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache()\n } else {\n sessionCache = sessionState\n }\n }\n return sessionState\n }\n\n function expandOrRenewSessionState(sessionState: SessionState) {\n const { trackingType, isTracked } = computeSessionState(sessionState[productKey])\n sessionState[productKey] = trackingType\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID()\n sessionState.created = String(dateNow())\n }\n return isTracked\n }\n\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined\n }\n\n function isSessionInCacheOutdated(sessionState: SessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey]\n }\n\n function expireSessionInCache() {\n sessionCache = {}\n expireObservable.notify()\n }\n\n function renewSessionInCache(sessionState: SessionState) {\n sessionCache = sessionState\n renewObservable.notify()\n }\n\n function retrieveActiveSession(): SessionState {\n const session = retrieveSession()\n if (isActiveSession(session)) {\n return session\n }\n return {}\n }\n\n function isActiveSession(sessionState: SessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return (\n (sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire))\n )\n }\n\n return {\n expandOrRenewSession: throttle(expandOrRenewSession, STORAGE_POLL_DELAY).throttled,\n expandSession,\n getSession: () => sessionCache,\n renewObservable,\n expireObservable,\n expire: () => {\n clearSession()\n synchronizeSession({})\n },\n stop: () => {\n clearInterval(watchSessionTimeoutId)\n },\n }\n}\n","import { jsonStringify } from '../serialisation/jsonStringify'\n\nexport function normalizeUrl(url: string) {\n return buildUrl(url, getLocationOrigin()).href\n}\n\nexport function isValidUrl(url: string) {\n try {\n return !!buildUrl(url)\n } catch {\n return false\n }\n}\n\nexport function getOrigin(url: string) {\n return getLinkElementOrigin(buildUrl(url))\n}\n\nexport function getPathName(url: string) {\n const pathname = buildUrl(url).pathname\n return pathname[0] === '/' ? pathname : `/${pathname}`\n}\n\nexport function getSearch(url: string) {\n return buildUrl(url).search\n}\n\nexport function getHash(url: string) {\n return buildUrl(url).hash\n}\n\nexport function buildUrl(url: string, base?: string) {\n const supportedURL = getSupportedUrl()\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url)\n } catch (error) {\n throw new Error(`Failed to construct URL: ${String(error)} ${jsonStringify({ url, base })!}`)\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(`Invalid URL: '${url}'`)\n }\n let doc = document\n const anchorElement = doc.createElement('a')\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('')\n const baseElement = doc.createElement('base')\n baseElement.href = base\n doc.head.appendChild(baseElement)\n doc.body.appendChild(anchorElement)\n }\n anchorElement.href = url\n return anchorElement\n}\n\nconst originalURL = URL\nlet isURLSupported: boolean | undefined\nfunction getSupportedUrl(): typeof URL | undefined {\n if (isURLSupported === undefined) {\n try {\n const url = new originalURL('http://test/path')\n isURLSupported = url.href === 'http://test/path'\n } catch {\n isURLSupported = false\n }\n }\n return isURLSupported ? originalURL : undefined\n}\n\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location)\n}\n\n/**\n * Fallback\n * On IE HTMLAnchorElement origin is not supported: https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n * On Firefox window.location.origin is \"null\" for file: URIs: https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n */\nexport function getLinkElementOrigin(element: Location | HTMLAnchorElement | URL) {\n if (element.origin && element.origin !== 'null') {\n return element.origin\n }\n const sanitizedHost = element.host.replace(/(:80|:443)$/, '')\n return `${element.protocol}//${sanitizedHost}`\n}\n","export const INTAKE_SITE_STAGING = 'datad0g.com'\nexport const INTAKE_SITE_US1 = 'datadoghq.com'\nexport const INTAKE_SITE_EU1 = 'datadoghq.eu'\nexport const INTAKE_SITE_US1_FED = 'ddog-gov.com'\n","import type { Payload } from '../../transport'\nimport { timeStampNow } from '../../tools/utils/timeUtils'\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill'\nimport { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../tools/experimentalFeatures'\nimport { generateUUID } from '../../tools/utils/stringUtils'\nimport type { InitConfiguration } from './configuration'\nimport { INTAKE_SITE_US1 } from './intakeSites'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nexport type TrackType = 'logs' | 'rum' | 'replay'\n\nexport type EndpointBuilder = ReturnType\n\nexport function createEndpointBuilder(\n initConfiguration: InitConfiguration,\n trackType: TrackType,\n configurationTags: string[]\n) {\n const buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType)\n\n return {\n build(api: 'xhr' | 'fetch' | 'beacon', payload: Payload) {\n const parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload)\n return buildUrlWithParameters(parameters)\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType,\n }\n}\n\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(\n initConfiguration: InitConfiguration,\n trackType: TrackType\n): (parameters: string) => string {\n const path = `/api/v2/${trackType}`\n const proxy = initConfiguration.proxy\n if (typeof proxy === 'string') {\n const normalizedProxyUrl = normalizeUrl(proxy)\n return (parameters) => `${normalizedProxyUrl}?ddforward=${encodeURIComponent(`${path}?${parameters}`)}`\n }\n if (typeof proxy === 'function') {\n return (parameters) => proxy({ path, parameters })\n }\n const host = buildEndpointHost(initConfiguration)\n return (parameters) => `https://${host}${path}?${parameters}`\n}\n\nfunction buildEndpointHost(initConfiguration: InitConfiguration) {\n const { site = INTAKE_SITE_US1, internalAnalyticsSubdomain } = initConfiguration\n\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return `${internalAnalyticsSubdomain}.${INTAKE_SITE_US1}`\n }\n\n const domainParts = site.split('.')\n const extension = domainParts.pop()\n return `browser-intake-${domainParts.join('-')}.${extension!}`\n}\n\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters(\n { clientToken, internalAnalyticsSubdomain }: InitConfiguration,\n trackType: TrackType,\n configurationTags: string[],\n api: 'xhr' | 'fetch' | 'beacon',\n { retry, flushReason, encoding }: Payload\n) {\n const tags = [`sdk_version:${__BUILD_ENV__SDK_VERSION__}`, `api:${api}`].concat(configurationTags)\n if (flushReason && isExperimentalFeatureEnabled(ExperimentalFeature.COLLECT_FLUSH_REASON)) {\n tags.push(`flush_reason:${flushReason}`)\n }\n if (retry) {\n tags.push(`retry_count:${retry.count}`, `retry_after:${retry.lastFailureStatus}`)\n }\n\n const parameters = [\n 'ddsource=browser',\n `ddtags=${encodeURIComponent(tags.join(','))}`,\n `dd-api-key=${clientToken}`,\n `dd-evp-origin-version=${encodeURIComponent(__BUILD_ENV__SDK_VERSION__)}`,\n 'dd-evp-origin=browser',\n `dd-request-id=${generateUUID()}`,\n ]\n\n if (encoding) {\n parameters.push(`dd-evp-encoding=${encoding}`)\n }\n\n if (trackType === 'rum') {\n parameters.push(`batch_time=${timeStampNow()}`)\n }\n\n if (internalAnalyticsSubdomain) {\n parameters.reverse()\n }\n\n return parameters.join('&')\n}\n","import { display } from '../../tools/display'\nimport type { InitConfiguration } from './configuration'\n\nexport const TAG_SIZE_LIMIT = 200\n\nexport function buildTags(configuration: InitConfiguration): string[] {\n const { env, service, version, datacenter } = configuration\n const tags = []\n\n if (env) {\n tags.push(buildTag('env', env))\n }\n if (service) {\n tags.push(buildTag('service', service))\n }\n if (version) {\n tags.push(buildTag('version', version))\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter))\n }\n\n return tags\n}\n\nconst FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/\n\nexport function buildTag(key: string, rawValue: string) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n const valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1\n\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display.warn(`${key} value doesn't meet tag requirements and will be sanitized`)\n }\n\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n const sanitizedValue = rawValue.replace(/,/g, '_')\n\n return `${key}:${sanitizedValue}`\n}\n","import { objectValues, assign } from '../../tools/utils/polyfills'\nimport type { InitConfiguration } from './configuration'\nimport type { EndpointBuilder } from './endpointBuilder'\nimport { createEndpointBuilder } from './endpointBuilder'\nimport { buildTags } from './tags'\nimport { INTAKE_SITE_US1 } from './intakeSites'\n\nexport interface TransportConfiguration {\n logsEndpointBuilder: EndpointBuilder\n rumEndpointBuilder: EndpointBuilder\n sessionReplayEndpointBuilder: EndpointBuilder\n isIntakeUrl: (url: string) => boolean\n replica?: ReplicaConfiguration\n site: string\n}\n\nexport interface ReplicaConfiguration {\n applicationId?: string\n logsEndpointBuilder: EndpointBuilder\n rumEndpointBuilder: EndpointBuilder\n}\n\nexport function computeTransportConfiguration(initConfiguration: InitConfiguration): TransportConfiguration {\n const tags = buildTags(initConfiguration)\n\n const endpointBuilders = computeEndpointBuilders(initConfiguration, tags)\n const intakeUrlPrefixes = objectValues(endpointBuilders).map((builder) => builder.urlPrefix)\n\n const replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags)\n\n return assign(\n {\n isIntakeUrl: (url: string) => intakeUrlPrefixes.some((intakeEndpoint) => url.indexOf(intakeEndpoint) === 0),\n replica: replicaConfiguration,\n site: initConfiguration.site || INTAKE_SITE_US1,\n },\n endpointBuilders\n )\n}\n\nfunction computeEndpointBuilders(initConfiguration: InitConfiguration, tags: string[]) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n }\n}\n\nfunction computeReplicaConfiguration(\n initConfiguration: InitConfiguration,\n intakeUrlPrefixes: string[],\n tags: string[]\n): ReplicaConfiguration | undefined {\n if (!initConfiguration.replica) {\n return\n }\n\n const replicaConfiguration: InitConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n })\n\n const replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n }\n\n intakeUrlPrefixes.push(...objectValues(replicaEndpointBuilders).map((builder) => builder.urlPrefix))\n\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders)\n}\n","import { catchUserErrors } from '../../tools/catchUserErrors'\nimport { display } from '../../tools/display'\nimport type { RawTelemetryConfiguration } from '../telemetry'\nimport { ExperimentalFeature, addExperimentalFeatures } from '../../tools/experimentalFeatures'\nimport type { Duration } from '../../tools/utils/timeUtils'\nimport { ONE_SECOND } from '../../tools/utils/timeUtils'\nimport { isPercentage } from '../../tools/utils/numberUtils'\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils'\nimport { objectHasValue } from '../../tools/utils/objectUtils'\nimport { assign } from '../../tools/utils/polyfills'\nimport { selectSessionStoreStrategyType } from '../session/sessionStore'\nimport type { SessionStoreStrategyType } from '../session/storeStrategies/sessionStoreStrategy'\nimport type { TransportConfiguration } from './transportConfiguration'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport const DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n} as const\nexport type DefaultPrivacyLevel = (typeof DefaultPrivacyLevel)[keyof typeof DefaultPrivacyLevel]\n\nexport interface InitConfiguration {\n // global options\n clientToken: string\n beforeSend?: GenericBeforeSendCallback | undefined\n sessionSampleRate?: number | undefined\n telemetrySampleRate?: number | undefined\n silentMultipleInit?: boolean | undefined\n allowFallbackToLocalStorage?: boolean | undefined\n allowUntrustedEvents?: boolean | undefined\n storeContextsAcrossPages?: boolean | undefined\n\n // transport options\n proxy?: string | ProxyFn | undefined\n site?: string | undefined\n\n // tag and context options\n service?: string | undefined\n env?: string | undefined\n version?: string | undefined\n\n // cookie options\n useCrossSiteSessionCookie?: boolean | undefined\n useSecureSessionCookie?: boolean | undefined\n trackSessionAcrossSubdomains?: boolean | undefined\n\n // internal options\n enableExperimentalFeatures?: string[] | undefined\n replica?: ReplicaUserConfiguration | undefined\n datacenter?: string\n // TODO next major: remove this option and replace usages by proxyFn\n internalAnalyticsSubdomain?: string\n\n telemetryConfigurationSampleRate?: number\n}\n\n// This type is only used to build the core configuration. Logs and RUM SDKs are using a proper type\n// for this option.\ntype GenericBeforeSendCallback = (event: any, context?: any) => unknown\n\n/**\n * path: /api/vX/product\n * parameters: xxx=yyy&zzz=aaa\n */\ntype ProxyFn = (options: { path: string; parameters: string }) => string\n\ninterface ReplicaUserConfiguration {\n applicationId?: string\n clientToken: string\n}\n\nexport interface Configuration extends TransportConfiguration {\n // Built from init configuration\n beforeSend: GenericBeforeSendCallback | undefined\n sessionStoreStrategyType: SessionStoreStrategyType | undefined\n sessionSampleRate: number\n telemetrySampleRate: number\n telemetryConfigurationSampleRate: number\n service: string | undefined\n silentMultipleInit: boolean\n allowUntrustedEvents: boolean\n\n // Event limits\n eventRateLimiterThreshold: number // Limit the maximum number of actions, errors and logs per minutes\n maxTelemetryEventsPerPage: number\n\n // Batch configuration\n batchBytesLimit: number\n flushTimeout: Duration\n batchMessagesLimit: number\n messageBytesLimit: number\n}\n\nexport function validateAndBuildConfiguration(initConfiguration: InitConfiguration): Configuration | undefined {\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.')\n return\n }\n\n if (initConfiguration.sessionSampleRate !== undefined && !isPercentage(initConfiguration.sessionSampleRate)) {\n display.error('Session Sample Rate should be a number between 0 and 100')\n return\n }\n\n if (initConfiguration.telemetrySampleRate !== undefined && !isPercentage(initConfiguration.telemetrySampleRate)) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n\n if (\n initConfiguration.telemetryConfigurationSampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetryConfigurationSampleRate)\n ) {\n display.error('Telemetry Configuration Sample Rate should be a number between 0 and 100')\n return\n }\n\n // Set the experimental feature flags as early as possible, so we can use them in most places\n if (Array.isArray(initConfiguration.enableExperimentalFeatures)) {\n addExperimentalFeatures(\n initConfiguration.enableExperimentalFeatures.filter((flag): flag is ExperimentalFeature =>\n objectHasValue(ExperimentalFeature, flag)\n )\n )\n }\n\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: initConfiguration.sessionSampleRate ?? 100,\n telemetrySampleRate: initConfiguration.telemetrySampleRate ?? 20,\n telemetryConfigurationSampleRate: initConfiguration.telemetryConfigurationSampleRate ?? 5,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND) as Duration,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\n\nexport function serializeConfiguration(initConfiguration: InitConfiguration): Partial {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n }\n}\n","import { startsWith } from './utils/polyfills'\nimport { display } from './display'\nimport { getType } from './utils/typeUtils'\n\nexport type MatchOption = string | RegExp | ((value: string) => boolean)\n\nexport function isMatchOption(item: unknown): item is MatchOption {\n const itemType = getType(item)\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp\n}\n\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list: MatchOption[], value: string, useStartsWith = false): boolean {\n return list.some((item) => {\n try {\n if (typeof item === 'function') {\n return item(value)\n } else if (item instanceof RegExp) {\n return item.test(value)\n } else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value\n }\n } catch (e) {\n display.error(e)\n }\n return false\n })\n}\n","import {\n objectEntries,\n shallowClone,\n performDraw,\n isNumber,\n assign,\n find,\n getType,\n isMatchOption,\n matchList,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\nimport type {\n RumFetchResolveContext,\n RumFetchStartContext,\n RumXhrCompleteContext,\n RumXhrStartContext,\n} from '../requestCollection'\nimport type { RumSessionManager } from '../rumSessionManager'\nimport type { PropagatorType, TracingOption } from './tracer.types'\n\nexport interface Tracer {\n traceFetch: (context: Partial) => void\n traceXhr: (context: Partial, xhr: XMLHttpRequest) => void\n clearTracingIfNeeded: (context: RumFetchResolveContext | RumXhrCompleteContext) => void\n}\n\ninterface TracingHeaders {\n [key: string]: string\n}\n\nexport function isTracingOption(item: unknown): item is TracingOption {\n const expectedItem = item as TracingOption\n return (\n getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes)\n )\n}\n\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context: RumFetchResolveContext | RumXhrCompleteContext) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined\n context.spanId = undefined\n context.traceSampled = undefined\n }\n}\n\nexport function startTracer(configuration: RumConfiguration, sessionManager: RumSessionManager): Tracer {\n return {\n clearTracingIfNeeded,\n traceFetch: (context) =>\n injectHeadersIfTracingAllowed(configuration, context, sessionManager, (tracingHeaders: TracingHeaders) => {\n if (context.input instanceof Request && !context.init?.headers) {\n context.input = new Request(context.input)\n Object.keys(tracingHeaders).forEach((key) => {\n ;(context.input as Request).headers.append(key, tracingHeaders[key])\n })\n } else {\n context.init = shallowClone(context.init)\n const headers: Array<[string, string]> = []\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach((value, key) => {\n headers.push([key, value])\n })\n } else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach((header) => {\n headers.push(header)\n })\n } else if (context.init.headers) {\n Object.keys(context.init.headers).forEach((key) => {\n headers.push([key, (context.init!.headers as Record)[key]])\n })\n }\n context.init.headers = headers.concat(objectEntries(tracingHeaders))\n }\n }),\n traceXhr: (context, xhr) =>\n injectHeadersIfTracingAllowed(configuration, context, sessionManager, (tracingHeaders: TracingHeaders) => {\n Object.keys(tracingHeaders).forEach((name) => {\n xhr.setRequestHeader(name, tracingHeaders[name])\n })\n }),\n }\n}\n\nfunction injectHeadersIfTracingAllowed(\n configuration: RumConfiguration,\n context: Partial,\n sessionManager: RumSessionManager,\n inject: (tracingHeaders: TracingHeaders) => void\n) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return\n }\n\n const tracingOption = find(configuration.allowedTracingUrls, (tracingOption: TracingOption) =>\n matchList([tracingOption.match], context.url!, true)\n )\n if (!tracingOption) {\n return\n }\n\n context.traceId = new TraceIdentifier()\n context.spanId = new TraceIdentifier()\n context.traceSampled = !isNumber(configuration.traceSampleRate) || performDraw(configuration.traceSampleRate)\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes))\n}\n\nexport function isTracingSupported() {\n return getCrypto() !== undefined\n}\n\nfunction getCrypto() {\n return window.crypto || (window as any).msCrypto\n}\n\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(\n traceId: TraceIdentifier,\n spanId: TraceIdentifier,\n traceSampled: boolean,\n propagatorTypes: PropagatorType[]\n): TracingHeaders {\n const tracingHeaders: TracingHeaders = {}\n\n propagatorTypes.forEach((propagatorType) => {\n switch (propagatorType) {\n case 'datadog': {\n assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toDecimalString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toDecimalString(),\n })\n break\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n assign(tracingHeaders, {\n traceparent: `00-0000000000000000${traceId.toPaddedHexadecimalString()}-${spanId.toPaddedHexadecimalString()}-0${\n traceSampled ? '1' : '0'\n }`,\n })\n break\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n assign(tracingHeaders, {\n b3: `${traceId.toPaddedHexadecimalString()}-${spanId.toPaddedHexadecimalString()}-${\n traceSampled ? '1' : '0'\n }`,\n })\n break\n }\n case 'b3multi': {\n assign(tracingHeaders, {\n 'X-B3-TraceId': traceId.toPaddedHexadecimalString(),\n 'X-B3-SpanId': spanId.toPaddedHexadecimalString(),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n })\n break\n }\n }\n })\n return tracingHeaders\n}\n\n/* eslint-disable no-bitwise */\nexport class TraceIdentifier {\n private buffer: Uint8Array = new Uint8Array(8)\n\n constructor() {\n getCrypto().getRandomValues(this.buffer)\n this.buffer[0] = this.buffer[0] & 0x7f // force 63-bit\n }\n\n toString(radix: number) {\n let high = this.readInt32(0)\n let low = this.readInt32(4)\n let str = ''\n\n do {\n const mod = (high % radix) * 4294967296 + low\n high = Math.floor(high / radix)\n low = Math.floor(mod / radix)\n str = (mod % radix).toString(radix) + str\n } while (high || low)\n\n return str\n }\n\n /**\n * Format used everywhere except the trace intake\n */\n toDecimalString() {\n return this.toString(10)\n }\n\n /**\n * Format used by OTel headers\n */\n toPaddedHexadecimalString() {\n const traceId = this.toString(16)\n return Array(17 - traceId.length).join('0') + traceId\n }\n\n private readInt32(offset: number) {\n return (\n this.buffer[offset] * 16777216 +\n (this.buffer[offset + 1] << 16) +\n (this.buffer[offset + 2] << 8) +\n this.buffer[offset + 3]\n )\n }\n}\n/* eslint-enable no-bitwise */\n","import type { Configuration, InitConfiguration, MatchOption, RawTelemetryConfiguration } from '@datadog/browser-core'\nimport {\n getType,\n arrayFrom,\n isMatchOption,\n serializeConfiguration,\n assign,\n DefaultPrivacyLevel,\n display,\n isPercentage,\n objectHasValue,\n validateAndBuildConfiguration,\n} from '@datadog/browser-core'\nimport type { RumEventDomainContext } from '../domainContext.types'\nimport type { RumEvent } from '../rumEvent.types'\nimport { isTracingOption } from './tracing/tracer'\nimport type { PropagatorType, TracingOption } from './tracing/tracer.types'\n\nexport const DEFAULT_PROPAGATOR_TYPES: PropagatorType[] = ['tracecontext', 'datadog']\n\nexport interface RumInitConfiguration extends InitConfiguration {\n // global options\n applicationId: string\n beforeSend?: ((event: RumEvent, context: RumEventDomainContext) => boolean) | undefined\n excludedActivityUrls?: MatchOption[] | undefined\n workerUrl?: string\n compressIntakeRequests?: boolean | undefined\n\n // tracing options\n allowedTracingUrls?: Array | undefined\n traceSampleRate?: number | undefined\n\n // replay options\n defaultPrivacyLevel?: DefaultPrivacyLevel | undefined\n subdomain?: string\n sessionReplaySampleRate?: number | undefined\n startSessionReplayRecordingManually?: boolean | undefined\n\n // action options\n trackUserInteractions?: boolean | undefined\n actionNameAttribute?: string | undefined\n\n // view options\n trackViewsManually?: boolean | undefined\n\n trackResources?: boolean | undefined\n trackLongTasks?: boolean | undefined\n}\n\nexport type HybridInitConfiguration = Omit\n\nexport interface RumConfiguration extends Configuration {\n // Built from init configuration\n actionNameAttribute: string | undefined\n traceSampleRate: number | undefined\n allowedTracingUrls: TracingOption[]\n excludedActivityUrls: MatchOption[]\n workerUrl: string | undefined\n compressIntakeRequests: boolean\n applicationId: string\n defaultPrivacyLevel: DefaultPrivacyLevel\n sessionReplaySampleRate: number\n startSessionReplayRecordingManually: boolean\n trackUserInteractions: boolean\n trackViewsManually: boolean\n trackResources: boolean\n trackLongTasks: boolean\n version?: string\n subdomain?: string\n customerDataTelemetrySampleRate: number\n}\n\nexport function validateAndBuildRumConfiguration(\n initConfiguration: RumInitConfiguration\n): RumConfiguration | undefined {\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.')\n return\n }\n\n if (\n initConfiguration.sessionReplaySampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionReplaySampleRate)\n ) {\n display.error('Session Replay Sample Rate should be a number between 0 and 100')\n return\n }\n\n if (initConfiguration.traceSampleRate !== undefined && !isPercentage(initConfiguration.traceSampleRate)) {\n display.error('Trace Sample Rate should be a number between 0 and 100')\n return\n }\n\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array')\n return\n }\n\n const allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration)\n if (!allowedTracingUrls) {\n return\n }\n\n const baseConfiguration = validateAndBuildConfiguration(initConfiguration)\n if (!baseConfiguration) {\n return\n }\n\n return assign(\n {\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: initConfiguration.sessionReplaySampleRate ?? 0,\n startSessionReplayRecordingManually: !!initConfiguration.startSessionReplayRecordingManually,\n traceSampleRate: initConfiguration.traceSampleRate,\n allowedTracingUrls,\n excludedActivityUrls: initConfiguration.excludedActivityUrls ?? [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!initConfiguration.trackUserInteractions,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!initConfiguration.trackResources,\n trackLongTasks: !!initConfiguration.trackLongTasks,\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK,\n customerDataTelemetrySampleRate: 1,\n },\n baseConfiguration\n )\n}\n\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration: RumInitConfiguration): TracingOption[] | undefined {\n if (initConfiguration.allowedTracingUrls !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array')\n return\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled')\n return\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n const tracingOptions: TracingOption[] = []\n initConfiguration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n tracingOptions.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES })\n } else if (isTracingOption(option)) {\n tracingOptions.push(option)\n } else {\n display.warn(\n 'Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter',\n option\n )\n }\n })\n\n return tracingOptions\n }\n\n return []\n}\n\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration: RumInitConfiguration): PropagatorType[] {\n const usedTracingPropagators = new Set()\n\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach((option) => {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach((propagatorType) => usedTracingPropagators.add(propagatorType))\n } else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach((propagatorType) => usedTracingPropagators.add(propagatorType))\n }\n })\n }\n\n return arrayFrom(usedTracingPropagators)\n}\n\nexport function serializeRumConfiguration(configuration: RumInitConfiguration): RawTelemetryConfiguration {\n const baseSerializedConfiguration = serializeConfiguration(configuration)\n\n return assign(\n {\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n trace_sample_rate: configuration.traceSampleRate,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_urls:\n Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0,\n selected_tracing_propagators: getSelectedTracingPropagators(configuration),\n default_privacy_level: configuration.defaultPrivacyLevel,\n use_excluded_activity_urls:\n Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n compress_intake_requests: configuration.compressIntakeRequests,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: configuration.trackUserInteractions,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n },\n baseSerializedConfiguration\n )\n}\n","import type { Context, ContextManager, User } from '@datadog/browser-core'\nimport type { RecorderApi } from '../../boot/rumPublicApi'\n\nexport interface CommonContext {\n user: User\n context: Context\n hasReplay: true | undefined\n}\n\nexport function buildCommonContext(\n globalContextManager: ContextManager,\n userContextManager: ContextManager,\n recorderApi: RecorderApi\n): CommonContext {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n }\n}\n","import type {\n Context,\n InitConfiguration,\n TimeStamp,\n RelativeTime,\n User,\n DeflateWorker,\n DeflateEncoderStreamId,\n DeflateEncoder,\n} from '@datadog/browser-core'\nimport {\n noop,\n CustomerDataType,\n willSyntheticsInjectRum,\n assign,\n BoundedBuffer,\n createContextManager,\n deepClone,\n makePublicApi,\n monitor,\n clocksNow,\n timeStampNow,\n display,\n callMonitored,\n createHandlingStack,\n canUseEventBridge,\n checkUser,\n sanitizeUser,\n sanitize,\n createStoredContextManager,\n combine,\n createIdentityEncoder,\n} from '@datadog/browser-core'\nimport type { LifeCycle } from '../domain/lifeCycle'\nimport type { ViewContexts } from '../domain/contexts/viewContexts'\nimport type { RumSessionManager } from '../domain/rumSessionManager'\nimport type { ReplayStats } from '../rawRumEvent.types'\nimport { ActionType } from '../rawRumEvent.types'\nimport type { RumConfiguration, RumInitConfiguration } from '../domain/configuration'\nimport { validateAndBuildRumConfiguration } from '../domain/configuration'\nimport type { ViewOptions } from '../domain/view/trackViews'\nimport { buildCommonContext } from '../domain/contexts/commonContext'\nimport type { startRum } from './startRum'\n\nexport type RumPublicApi = ReturnType\n\nexport type StartRum = typeof startRum\n\ntype StartRumResult = ReturnType\n\nexport interface RecorderApi {\n start: () => void\n stop: () => void\n onRumStart: (\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n viewContexts: ViewContexts,\n deflateWorker: DeflateWorker | undefined\n ) => void\n isRecording: () => boolean\n getReplayStats: (viewId: string) => ReplayStats | undefined\n getSessionReplayLink: (\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n viewContexts: ViewContexts\n ) => string | undefined\n}\ninterface RumPublicApiOptions {\n ignoreInitIfSyntheticsWillInjectRum?: boolean\n startDeflateWorker?: (\n configuration: RumConfiguration,\n source: string,\n onInitializationFailure: () => void\n ) => DeflateWorker | undefined\n createDeflateEncoder?: (\n configuration: RumConfiguration,\n worker: DeflateWorker,\n streamId: DeflateEncoderStreamId\n ) => DeflateEncoder\n}\n\nconst RUM_STORAGE_KEY = 'rum'\n\nexport function makeRumPublicApi(\n startRumImpl: StartRum,\n recorderApi: RecorderApi,\n { ignoreInitIfSyntheticsWillInjectRum = true, startDeflateWorker, createDeflateEncoder }: RumPublicApiOptions = {}\n) {\n let isAlreadyInitialized = false\n\n let globalContextManager = createContextManager(CustomerDataType.GlobalContext)\n let userContextManager = createContextManager(CustomerDataType.User)\n\n let getInternalContextStrategy: StartRumResult['getInternalContext'] = () => undefined\n let getInitConfigurationStrategy = (): InitConfiguration | undefined => undefined\n let stopSessionStrategy: () => void = noop\n let getSessionReplayLinkStrategy: () => string | undefined = () => undefined\n\n let bufferApiCalls = new BoundedBuffer()\n let addTimingStrategy: StartRumResult['addTiming'] = (name, time = timeStampNow()) => {\n bufferApiCalls.add(() => addTimingStrategy(name, time))\n }\n let startViewStrategy: StartRumResult['startView'] = (options, startClocks = clocksNow()) => {\n bufferApiCalls.add(() => startViewStrategy(options, startClocks))\n }\n let addActionStrategy: StartRumResult['addAction'] = (\n action,\n commonContext = buildCommonContext(globalContextManager, userContextManager, recorderApi)\n ) => {\n bufferApiCalls.add(() => addActionStrategy(action, commonContext))\n }\n let addErrorStrategy: StartRumResult['addError'] = (\n providedError,\n commonContext = buildCommonContext(globalContextManager, userContextManager, recorderApi)\n ) => {\n bufferApiCalls.add(() => addErrorStrategy(providedError, commonContext))\n }\n\n let recorderStartStrategy: typeof recorderApi.start = () => {\n bufferApiCalls.add(() => recorderStartStrategy())\n }\n\n let recorderStopStrategy: typeof recorderApi.stop = () => {\n bufferApiCalls.add(() => recorderStopStrategy())\n }\n\n let addFeatureFlagEvaluationStrategy: StartRumResult['addFeatureFlagEvaluation'] = (key: string, value: any) => {\n bufferApiCalls.add(() => addFeatureFlagEvaluationStrategy(key, value))\n }\n\n let deflateWorker: DeflateWorker | undefined\n\n function initRum(initConfiguration: RumInitConfiguration) {\n if (!initConfiguration) {\n display.error('Missing configuration')\n return\n }\n // This function should be available, regardless of initialization success.\n getInitConfigurationStrategy = () => deepClone(initConfiguration)\n\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want to\n // completely discard the customer application RUM instance by ignoring their init() call. But,\n // we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return\n }\n\n const eventBridgeAvailable = canUseEventBridge()\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration)\n }\n\n if (!canInitRum(initConfiguration)) {\n return\n }\n\n const configuration = validateAndBuildRumConfiguration(initConfiguration)\n if (!configuration) {\n return\n }\n\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.')\n return\n }\n\n if (configuration.compressIntakeRequests && !eventBridgeAvailable && startDeflateWorker) {\n deflateWorker = startDeflateWorker(\n configuration,\n 'Datadog RUM',\n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop\n )\n if (!deflateWorker) {\n // `startDeflateWorker` should have logged an error message explaining the issue\n return\n }\n }\n\n if (!configuration.trackViewsManually) {\n doStartRum(initConfiguration, configuration)\n } else {\n // drain beforeInitCalls by buffering them until we start RUM\n // if we get a startView, drain re-buffered calls before continuing to drain beforeInitCalls\n // in order to ensure that calls are processed in order\n const beforeInitCalls = bufferApiCalls\n bufferApiCalls = new BoundedBuffer()\n\n startViewStrategy = (options) => {\n doStartRum(initConfiguration, configuration, options)\n }\n beforeInitCalls.drain()\n }\n\n isAlreadyInitialized = true\n }\n\n function doStartRum(\n initConfiguration: RumInitConfiguration,\n configuration: RumConfiguration,\n initialViewOptions?: ViewOptions\n ) {\n if (initConfiguration.storeContextsAcrossPages) {\n const beforeInitGlobalContext = globalContextManager.getContext()\n globalContextManager = createStoredContextManager(configuration, RUM_STORAGE_KEY, CustomerDataType.GlobalContext)\n globalContextManager.setContext(combine(globalContextManager.getContext(), beforeInitGlobalContext))\n\n const beforeInitUserContext = userContextManager.getContext()\n userContextManager = createStoredContextManager(configuration, RUM_STORAGE_KEY, CustomerDataType.User)\n userContextManager.setContext(combine(userContextManager.getContext(), beforeInitUserContext))\n }\n\n const startRumResults = startRumImpl(\n initConfiguration,\n configuration,\n recorderApi,\n globalContextManager,\n userContextManager,\n initialViewOptions,\n deflateWorker && createDeflateEncoder\n ? (streamId) => createDeflateEncoder(configuration, deflateWorker!, streamId)\n : createIdentityEncoder\n )\n getSessionReplayLinkStrategy = () =>\n recorderApi.getSessionReplayLink(configuration, startRumResults.session, startRumResults.viewContexts)\n recorderStartStrategy = recorderApi.start\n recorderStopStrategy = recorderApi.stop\n ;({\n startView: startViewStrategy,\n addAction: addActionStrategy,\n addError: addErrorStrategy,\n addTiming: addTimingStrategy,\n addFeatureFlagEvaluation: addFeatureFlagEvaluationStrategy,\n getInternalContext: getInternalContextStrategy,\n stopSession: stopSessionStrategy,\n } = startRumResults)\n\n recorderApi.onRumStart(\n startRumResults.lifeCycle,\n configuration,\n startRumResults.session,\n startRumResults.viewContexts,\n deflateWorker\n )\n bufferApiCalls.drain()\n }\n\n const startView: {\n (name?: string): void\n (options: ViewOptions): void\n } = monitor((options?: string | ViewOptions) => {\n const sanitizedOptions = typeof options === 'object' ? options : { name: options }\n startViewStrategy(sanitizedOptions)\n })\n\n const rumPublicApi = makePublicApi({\n init: monitor(initRum),\n\n setGlobalContextProperty: monitor((key, value) => globalContextManager.setContextProperty(key, value)),\n\n removeGlobalContextProperty: monitor((key) => globalContextManager.removeContextProperty(key)),\n\n getGlobalContext: monitor(() => globalContextManager.getContext()),\n\n setGlobalContext: monitor((context) => globalContextManager.setContext(context)),\n\n clearGlobalContext: monitor(() => globalContextManager.clearContext()),\n\n getInternalContext: monitor((startTime?: number) => getInternalContextStrategy(startTime)),\n getInitConfiguration: monitor(() => getInitConfigurationStrategy()),\n\n addAction: monitor((name: string, context?: object) => {\n addActionStrategy({\n name: sanitize(name)!,\n context: sanitize(context) as Context,\n startClocks: clocksNow(),\n type: ActionType.CUSTOM,\n })\n }),\n\n addError: (error: unknown, context?: object) => {\n const handlingStack = createHandlingStack()\n callMonitored(() => {\n addErrorStrategy({\n error, // Do not sanitize error here, it is needed unserialized by computeRawError()\n handlingStack,\n context: sanitize(context) as Context,\n startClocks: clocksNow(),\n })\n })\n },\n\n addTiming: monitor((name: string, time?: number) => {\n addTimingStrategy(sanitize(name)!, time as RelativeTime | TimeStamp | undefined)\n }),\n\n setUser: monitor((newUser: User) => {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser as Context))\n }\n }),\n\n getUser: monitor(() => userContextManager.getContext()),\n\n setUserProperty: monitor((key, property) => {\n const sanitizedProperty = sanitizeUser({ [key]: property })[key]\n userContextManager.setContextProperty(key, sanitizedProperty)\n }),\n\n removeUserProperty: monitor((key) => userContextManager.removeContextProperty(key)),\n\n clearUser: monitor(() => userContextManager.clearContext()),\n\n startView,\n\n stopSession: monitor(() => {\n stopSessionStrategy()\n }),\n\n startSessionReplayRecording: monitor(() => recorderStartStrategy()),\n stopSessionReplayRecording: monitor(() => recorderStopStrategy()),\n\n /**\n * This feature is currently in beta. For more information see the full [feature flag tracking guide](https://docs.datadoghq.com/real_user_monitoring/feature_flag_tracking/).\n */\n addFeatureFlagEvaluation: monitor((key: string, value: any) => {\n addFeatureFlagEvaluationStrategy(sanitize(key)!, sanitize(value))\n }),\n getSessionReplayLink: monitor(() => getSessionReplayLinkStrategy()),\n })\n\n return rumPublicApi\n\n function canInitRum(initConfiguration: RumInitConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n display.error('DD_RUM is already initialized.')\n }\n return false\n }\n return true\n }\n\n function overrideInitConfigurationForBridge(initConfiguration: C): C {\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n })\n }\n}\n","interface BrowserWindow {\n __ddBrowserSdkExtensionCallback?: (message: unknown) => void\n}\n\ntype ExtensionMessageType = 'logs' | 'record' | 'rum' | 'telemetry'\n\nexport function sendToExtension(type: ExtensionMessageType, payload: unknown) {\n const callback = (window as BrowserWindow).__ddBrowserSdkExtensionCallback\n if (callback) {\n callback({ type, payload })\n }\n}\n","import type { TelemetryEvent, TelemetryConfigurationEvent } from './telemetryEvent.types'\n\nexport const TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n} as const\n\nexport const enum StatusType {\n debug = 'debug',\n error = 'error',\n}\n\nexport interface RuntimeEnvInfo {\n is_local_file: boolean\n is_worker: boolean\n}\n\nexport type RawTelemetryEvent = TelemetryEvent['telemetry']\nexport type RawTelemetryConfiguration = TelemetryConfigurationEvent['telemetry']['configuration']\n","import type { Context } from '../../tools/serialisation/context'\nimport { ConsoleApiName } from '../../tools/display'\nimport { toStackTraceString, NO_ERROR_STACK_PRESENT_MESSAGE } from '../error/error'\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures'\nimport type { Configuration } from '../configuration'\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration'\nimport { Observable } from '../../tools/observable'\nimport { timeStampNow } from '../../tools/utils/timeUtils'\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor'\nimport { sendToExtension } from '../../tools/sendToExtension'\nimport { startsWith, arrayFrom, includes, assign } from '../../tools/utils/polyfills'\nimport { performDraw } from '../../tools/utils/numberUtils'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport { combine } from '../../tools/mergeInto'\nimport { NonErrorPrefix } from '../error/error.types'\nimport type { StackTrace } from '../error/computeStackTrace'\nimport { computeStackTrace } from '../error/computeStackTrace'\nimport type { TelemetryEvent } from './telemetryEvent.types'\nimport type { RawTelemetryConfiguration, RawTelemetryEvent, RuntimeEnvInfo } from './rawTelemetryEvent.types'\nimport { StatusType, TelemetryType } from './rawTelemetryEvent.types'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nconst ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n]\n\nexport const enum TelemetryService {\n LOGS = 'browser-logs-sdk',\n RUM = 'browser-rum-sdk',\n}\n\nexport interface Telemetry {\n setContextProvider: (provider: () => Context) => void\n observable: Observable\n enabled: boolean\n}\n\nconst TELEMETRY_EXCLUDED_SITES: string[] = [INTAKE_SITE_US1_FED]\n\nconst telemetryConfiguration: {\n maxEventsPerPage: number\n sentEventCount: number\n telemetryEnabled: boolean\n telemetryConfigurationEnabled: boolean\n} = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false }\n\nlet onRawTelemetryEventCollected: ((event: RawTelemetryEvent) => void) | undefined\n\nexport function startTelemetry(telemetryService: TelemetryService, configuration: Configuration): Telemetry {\n let contextProvider: () => Context\n const observable = new Observable()\n\n telemetryConfiguration.telemetryEnabled =\n !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate)\n telemetryConfiguration.telemetryConfigurationEnabled =\n telemetryConfiguration.telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate)\n\n const runtimeEnvInfo = getRuntimeEnvInfo()\n onRawTelemetryEventCollected = (rawEvent: RawTelemetryEvent) => {\n if (telemetryConfiguration.telemetryEnabled) {\n const event = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo)\n observable.notify(event)\n sendToExtension('telemetry', event)\n }\n }\n startMonitorErrorCollection(addTelemetryError)\n\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0,\n })\n\n function toTelemetryEvent(\n telemetryService: TelemetryService,\n event: RawTelemetryEvent,\n runtimeEnvInfo: RuntimeEnvInfo\n ): TelemetryEvent & Context {\n return combine(\n {\n type: 'telemetry' as const,\n date: timeStampNow(),\n service: telemetryService,\n version: __BUILD_ENV__SDK_VERSION__,\n source: 'browser' as const,\n _dd: {\n format_version: 2 as const,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n }),\n experimental_features: arrayFrom(getExperimentalFeatures()),\n },\n contextProvider !== undefined ? contextProvider() : {}\n ) as TelemetryEvent & Context\n }\n\n return {\n setContextProvider: (provider: () => Context) => {\n contextProvider = provider\n },\n observable,\n enabled: telemetryConfiguration.telemetryEnabled,\n }\n}\nfunction getRuntimeEnvInfo(): RuntimeEnvInfo {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n }\n}\n\nexport function startFakeTelemetry() {\n const events: RawTelemetryEvent[] = []\n assign(telemetryConfiguration, {\n maxEventsPerPage: Infinity,\n sentEventCount: 0,\n })\n\n onRawTelemetryEventCollected = (event: RawTelemetryEvent) => {\n events.push(event)\n }\n\n return events\n}\n\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined\n}\n\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration: Configuration) {\n return configuration.site === INTAKE_SITE_STAGING\n}\n\nexport function addTelemetryDebug(message: string, context?: Context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context)\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n message,\n status: StatusType.debug,\n },\n context\n )\n )\n}\n\nexport function addTelemetryError(e: unknown, context?: Context) {\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n status: StatusType.error,\n },\n formatError(e),\n context\n )\n )\n}\n\nexport function addTelemetryConfiguration(configuration: RawTelemetryConfiguration) {\n if (telemetryConfiguration.telemetryConfigurationEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration,\n })\n }\n}\n\nfunction addTelemetry(event: RawTelemetryEvent) {\n if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {\n telemetryConfiguration.sentEventCount += 1\n onRawTelemetryEventCollected(event)\n }\n}\n\nexport function formatError(e: unknown) {\n if (e instanceof Error) {\n const stackTrace = computeStackTrace(e)\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message!,\n }\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: `${NonErrorPrefix.UNCAUGHT} ${jsonStringify(e)!}`,\n }\n}\n\nexport function scrubCustomerFrames(stackTrace: StackTrace) {\n stackTrace.stack = stackTrace.stack.filter(\n (frame) => !frame.url || ALLOWED_FRAME_URLS.some((allowedFrameUrl) => startsWith(frame.url!, allowedFrameUrl))\n )\n return stackTrace\n}\n","import { isExperimentalFeatureEnabled, ExperimentalFeature } from '../tools/experimentalFeatures'\nimport { Observable } from '../tools/observable'\nimport { objectValues, includes } from '../tools/utils/polyfills'\nimport { noop } from '../tools/utils/functionUtils'\nimport type { Configuration } from '../domain/configuration'\nimport { addEventListeners, addEventListener, DOM_EVENT } from './addEventListener'\n\nexport const PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n} as const\n\nexport type PageExitReason = (typeof PageExitReason)[keyof typeof PageExitReason]\n\nexport interface PageExitEvent {\n reason: PageExitReason\n}\n\nexport function createPageExitObservable(configuration: Configuration): Observable {\n const observable = new Observable(() => {\n const pagehideEnabled = isExperimentalFeatureEnabled(ExperimentalFeature.PAGEHIDE)\n const { stop: stopListeners } = addEventListeners(\n configuration,\n window,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE],\n (event) => {\n if (event.type === DOM_EVENT.PAGE_HIDE && pagehideEnabled) {\n /**\n * Only event that detect page unload events while being compatible with the back/forward cache (bfcache)\n */\n observable.notify({ reason: PageExitReason.PAGEHIDE })\n } else if (event.type === DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n let stopBeforeUnloadListener = noop\n if (!pagehideEnabled) {\n stopBeforeUnloadListener = addEventListener(configuration, window, DOM_EVENT.BEFORE_UNLOAD, () => {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }).stop\n }\n\n return () => {\n stopListeners()\n stopBeforeUnloadListener()\n }\n })\n\n return observable\n}\n\nexport function isPageExitReason(reason: string | undefined): reason is PageExitReason {\n return includes(objectValues(PageExitReason), reason)\n}\n","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core'\n\nexport function createDOMMutationObservable() {\n const MutationObserver = getMutationObserverConstructor()\n\n const observable: Observable = new Observable(() => {\n if (!MutationObserver) {\n return\n }\n const observer = new MutationObserver(monitor(() => observable.notify()))\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n })\n\n return observable\n}\n\ntype MutationObserverConstructor = new (callback: MutationCallback) => MutationObserver\n\nexport interface BrowserWindow extends Window {\n MutationObserver?: MutationObserverConstructor\n Zone?: unknown\n}\n\nexport function getMutationObserverConstructor(): MutationObserverConstructor | undefined {\n let constructor: MutationObserverConstructor | undefined\n const browserWindow: BrowserWindow = window\n\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver')\n\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n\n const patchedInstance = new browserWindow.MutationObserver(noop) as {\n originalInstance?: { constructor: MutationObserverConstructor }\n }\n\n const originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance')\n constructor = originalInstance && originalInstance.constructor\n }\n }\n\n if (!constructor) {\n constructor = browserWindow.MutationObserver\n }\n\n return constructor\n}\n","import type { Configuration } from '../domain/configuration'\nimport { DOM_EVENT, addEventListener } from './addEventListener'\n\nexport function runOnReadyState(\n configuration: Configuration,\n expectedReadyState: 'complete' | 'interactive',\n callback: () => void\n) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback()\n } else {\n const eventName = expectedReadyState === 'complete' ? DOM_EVENT.LOAD : DOM_EVENT.DOM_CONTENT_LOADED\n addEventListener(configuration, window, eventName, callback, { once: true })\n }\n}\n","import type { RelativeTime, ServerDuration } from '@datadog/browser-core'\nimport {\n assign,\n addTelemetryDebug,\n elapsed,\n getPathName,\n includes,\n isValidUrl,\n ResourceType,\n toServerDuration,\n} from '@datadog/browser-core'\n\nimport type { RumPerformanceResourceTiming } from '../../browser/performanceCollection'\n\nimport type { PerformanceResourceDetailsElement } from '../../rawRumEvent.types'\nimport type { RumConfiguration } from '../configuration'\n\nexport interface PerformanceResourceDetails {\n redirect?: PerformanceResourceDetailsElement\n dns?: PerformanceResourceDetailsElement\n connect?: PerformanceResourceDetailsElement\n ssl?: PerformanceResourceDetailsElement\n first_byte: PerformanceResourceDetailsElement\n download: PerformanceResourceDetailsElement\n}\n\nexport const FAKE_INITIAL_DOCUMENT = 'initial_document'\n\nconst RESOURCE_TYPES: Array<[ResourceType, (initiatorType: string, path: string) => boolean]> = [\n [ResourceType.DOCUMENT, (initiatorType: string) => FAKE_INITIAL_DOCUMENT === initiatorType],\n [ResourceType.XHR, (initiatorType: string) => 'xmlhttprequest' === initiatorType],\n [ResourceType.FETCH, (initiatorType: string) => 'fetch' === initiatorType],\n [ResourceType.BEACON, (initiatorType: string) => 'beacon' === initiatorType],\n [ResourceType.CSS, (_: string, path: string) => /\\.css$/i.test(path)],\n [ResourceType.JS, (_: string, path: string) => /\\.js$/i.test(path)],\n [\n ResourceType.IMAGE,\n (initiatorType: string, path: string) =>\n includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null,\n ],\n [ResourceType.FONT, (_: string, path: string) => /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null],\n [\n ResourceType.MEDIA,\n (initiatorType: string, path: string) =>\n includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null,\n ],\n]\n\nexport function computeResourceKind(timing: RumPerformanceResourceTiming) {\n const url = timing.name\n if (!isValidUrl(url)) {\n addTelemetryDebug(`Failed to construct URL for \"${timing.name}\"`)\n return ResourceType.OTHER\n }\n const path = getPathName(url)\n for (const [type, isType] of RESOURCE_TYPES) {\n if (isType(timing.initiatorType, path)) {\n return type\n }\n }\n return ResourceType.OTHER\n}\n\nfunction areInOrder(...numbers: number[]) {\n for (let i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false\n }\n }\n return true\n}\n\nexport function isRequestKind(timing: RumPerformanceResourceTiming) {\n return timing.initiatorType === 'xmlhttprequest' || timing.initiatorType === 'fetch'\n}\n\nexport function computePerformanceResourceDuration(entry: RumPerformanceResourceTiming): ServerDuration {\n const { duration, startTime, responseEnd } = entry\n\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd))\n }\n\n return toServerDuration(duration)\n}\n\nexport function computePerformanceResourceDetails(\n entry: RumPerformanceResourceTiming\n): PerformanceResourceDetails | undefined {\n const validEntry = toValidEntry(entry)\n\n if (!validEntry) {\n return undefined\n }\n const {\n startTime,\n fetchStart,\n redirectStart,\n redirectEnd,\n domainLookupStart,\n domainLookupEnd,\n connectStart,\n secureConnectionStart,\n connectEnd,\n requestStart,\n responseStart,\n responseEnd,\n } = validEntry\n\n const details: PerformanceResourceDetails = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n }\n\n // Make sure a connection occurred\n if (connectEnd !== fetchStart) {\n details.connect = formatTiming(startTime, connectStart, connectEnd)\n\n // Make sure a secure connection occurred\n if (areInOrder(connectStart, secureConnectionStart, connectEnd)) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd)\n }\n }\n\n // Make sure a domain lookup occurred\n if (domainLookupEnd !== fetchStart) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd)\n }\n\n if (hasRedirection(entry)) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd)\n }\n\n return details\n}\n\nexport function toValidEntry(entry: RumPerformanceResourceTiming) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n if (\n !areInOrder(\n entry.startTime,\n entry.fetchStart,\n entry.domainLookupStart,\n entry.domainLookupEnd,\n entry.connectStart,\n entry.connectEnd,\n entry.requestStart,\n entry.responseStart,\n entry.responseEnd\n )\n ) {\n return undefined\n }\n\n if (!hasRedirection(entry)) {\n return entry\n }\n\n let { redirectStart, redirectEnd } = entry\n // Firefox doesn't provide redirect timings on cross origin requests.\n // Provide a default for those.\n if (redirectStart < entry.startTime) {\n redirectStart = entry.startTime\n }\n if (redirectEnd < entry.startTime) {\n redirectEnd = entry.fetchStart\n }\n\n // Make sure redirect timings are in order\n if (!areInOrder(entry.startTime, redirectStart, redirectEnd, entry.fetchStart)) {\n return undefined\n }\n\n return assign({}, entry, {\n redirectEnd,\n redirectStart,\n })\n}\n\nfunction hasRedirection(entry: RumPerformanceResourceTiming) {\n // The only time fetchStart is different than startTime is if a redirection occurred.\n return entry.fetchStart !== entry.startTime\n}\n\nfunction formatTiming(origin: RelativeTime, start: RelativeTime, end: RelativeTime) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n }\n}\n\nexport function computeSize(entry: RumPerformanceResourceTiming) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n return entry.decodedBodySize\n }\n return undefined\n}\n\nexport function isAllowedRequestUrl(configuration: RumConfiguration, url: string) {\n return url && !configuration.isIntakeUrl(url)\n}\n","export function isTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE\n}\n\nexport function isCommentNode(node: Node): node is Comment {\n return node.nodeType === Node.COMMENT_NODE\n}\n\nexport function isElementNode(node: Node): node is Element {\n return node.nodeType === Node.ELEMENT_NODE\n}\n\nexport function isNodeShadowHost(node: Node): node is Element & { shadowRoot: ShadowRoot } {\n return isElementNode(node) && Boolean(node.shadowRoot)\n}\n\nexport function isNodeShadowRoot(node: Node): node is ShadowRoot {\n const shadowRoot = node as ShadowRoot\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host)\n}\n\nexport function hasChildNodes(node: Node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node)\n}\n\nexport function forEachChildNodes(node: Node, callback: (child: Node) => void) {\n node.childNodes.forEach(callback)\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot)\n }\n}\n\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node: Node): Node | null {\n return isNodeShadowRoot(node) ? node.host : node.parentNode\n}\n","import type { TimeStamp } from '@datadog/browser-core'\nimport { dateNow, findCommaSeparatedValue, ONE_MINUTE } from '@datadog/browser-core'\nimport { isCommentNode, isTextNode } from '../../browser/htmlDomUtils'\n\ninterface DocumentTraceData {\n traceId: string\n traceTime: TimeStamp\n}\n\nexport const INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = 2 * ONE_MINUTE\n\nexport function getDocumentTraceId(document: Document): string | undefined {\n const data = getDocumentTraceDataFromMeta(document) || getDocumentTraceDataFromComment(document)\n\n if (!data || data.traceTime <= dateNow() - INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD) {\n return undefined\n }\n\n return data.traceId\n}\n\nexport function getDocumentTraceDataFromMeta(document: Document): DocumentTraceData | undefined {\n const traceIdMeta = document.querySelector('meta[name=dd-trace-id]')\n const traceTimeMeta = document.querySelector('meta[name=dd-trace-time]')\n return createDocumentTraceData(traceIdMeta && traceIdMeta.content, traceTimeMeta && traceTimeMeta.content)\n}\n\nexport function getDocumentTraceDataFromComment(document: Document): DocumentTraceData | undefined {\n const comment = findTraceComment(document)\n if (!comment) {\n return undefined\n }\n return createDocumentTraceData(\n findCommaSeparatedValue(comment, 'trace-id'),\n findCommaSeparatedValue(comment, 'trace-time')\n )\n}\n\nexport function createDocumentTraceData(\n traceId: string | undefined | null,\n rawTraceTime: string | undefined | null\n): DocumentTraceData | undefined {\n const traceTime = rawTraceTime && (Number(rawTraceTime) as TimeStamp)\n if (!traceId || !traceTime) {\n return undefined\n }\n\n return {\n traceId,\n traceTime,\n }\n}\n\nexport function findTraceComment(document: Document): string | undefined {\n // 1. Try to find the comment as a direct child of the document\n // Note: TSLint advises to use a 'for of', but TS doesn't allow to use 'for of' if the iterated\n // value is not an array or string (here, a NodeList).\n for (let i = 0; i < document.childNodes.length; i += 1) {\n const comment = getTraceCommentFromNode(document.childNodes[i])\n if (comment) {\n return comment\n }\n }\n\n // 2. If the comment is placed after the tag, but have some space or new lines before or\n // after, the DOM parser will lift it (and the surrounding text) at the end of the tag.\n // Try to look for the comment at the end of the by by iterating over its child nodes in\n // reverse order, stopping if we come across a non-text node.\n if (document.body) {\n for (let i = document.body.childNodes.length - 1; i >= 0; i -= 1) {\n const node = document.body.childNodes[i]\n const comment = getTraceCommentFromNode(node)\n if (comment) {\n return comment\n }\n if (!isTextNode(node)) {\n break\n }\n }\n }\n}\n\nfunction getTraceCommentFromNode(node: Node | null) {\n if (node && isCommentNode(node)) {\n const match = /^\\s*DATADOG;(.*?)\\s*$/.exec(node.data)\n if (match) {\n return match[1]\n }\n }\n}\n","import type { Duration, RelativeTime, TimeStamp } from '@datadog/browser-core'\nimport {\n dateNow,\n assign,\n addEventListeners,\n DOM_EVENT,\n getRelativeTime,\n isNumber,\n monitor,\n setTimeout,\n relativeNow,\n runOnReadyState,\n addEventListener,\n objectHasValue,\n} from '@datadog/browser-core'\n\nimport type { RumConfiguration } from '../domain/configuration'\nimport type { LifeCycle } from '../domain/lifeCycle'\nimport { LifeCycleEventType } from '../domain/lifeCycle'\nimport { FAKE_INITIAL_DOCUMENT, isAllowedRequestUrl } from '../domain/resource/resourceUtils'\n\nimport { getDocumentTraceId } from '../domain/tracing/getDocumentTraceId'\n\ntype RumPerformanceObserverConstructor = new (callback: PerformanceObserverCallback) => RumPerformanceObserver\n\nexport interface BrowserWindow extends Window {\n PerformanceObserver: RumPerformanceObserverConstructor\n performance: Performance & { interactionCount?: number }\n}\n\nexport interface RumPerformanceObserver extends PerformanceObserver {\n observe(options?: PerformanceObserverInit & { durationThreshold: number }): void\n}\n\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport enum RumPerformanceEntryType {\n EVENT = 'event',\n FIRST_INPUT = 'first-input',\n LARGEST_CONTENTFUL_PAINT = 'largest-contentful-paint',\n LAYOUT_SHIFT = 'layout-shift',\n LONG_TASK = 'longtask',\n NAVIGATION = 'navigation',\n PAINT = 'paint',\n RESOURCE = 'resource',\n}\n\nexport interface RumPerformanceResourceTiming {\n entryType: RumPerformanceEntryType.RESOURCE\n initiatorType: string\n name: string\n startTime: RelativeTime\n duration: Duration\n fetchStart: RelativeTime\n domainLookupStart: RelativeTime\n domainLookupEnd: RelativeTime\n connectStart: RelativeTime\n secureConnectionStart: RelativeTime\n connectEnd: RelativeTime\n requestStart: RelativeTime\n responseStart: RelativeTime\n responseEnd: RelativeTime\n redirectStart: RelativeTime\n redirectEnd: RelativeTime\n decodedBodySize: number\n traceId?: string\n toJSON(): Omit\n}\n\nexport interface RumPerformanceLongTaskTiming {\n name: string\n entryType: RumPerformanceEntryType.LONG_TASK\n startTime: RelativeTime\n duration: Duration\n toJSON(): Omit\n}\n\nexport interface RumPerformancePaintTiming {\n entryType: RumPerformanceEntryType.PAINT\n name: 'first-paint' | 'first-contentful-paint'\n startTime: RelativeTime\n}\n\nexport interface RumPerformanceNavigationTiming {\n entryType: RumPerformanceEntryType.NAVIGATION\n domComplete: RelativeTime\n domContentLoadedEventEnd: RelativeTime\n domInteractive: RelativeTime\n loadEventEnd: RelativeTime\n responseStart: RelativeTime\n}\n\nexport interface RumLargestContentfulPaintTiming {\n entryType: RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT\n startTime: RelativeTime\n size: number\n element?: Element\n}\n\nexport interface RumFirstInputTiming {\n entryType: RumPerformanceEntryType.FIRST_INPUT\n startTime: RelativeTime\n processingStart: RelativeTime\n processingEnd: RelativeTime\n duration: Duration\n target?: Node\n interactionId?: number\n name: string\n}\n\nexport interface RumPerformanceEventTiming {\n entryType: RumPerformanceEntryType.EVENT\n startTime: RelativeTime\n processingStart: RelativeTime\n processingEnd: RelativeTime\n duration: Duration\n interactionId?: number\n target?: Node\n name: string\n}\n\nexport interface RumLayoutShiftTiming {\n entryType: RumPerformanceEntryType.LAYOUT_SHIFT\n startTime: RelativeTime\n value: number\n hadRecentInput: boolean\n sources?: Array<{\n node?: Node\n }>\n}\n\nexport type RumPerformanceEntry =\n | RumPerformanceResourceTiming\n | RumPerformanceLongTaskTiming\n | RumPerformancePaintTiming\n | RumPerformanceNavigationTiming\n | RumLargestContentfulPaintTiming\n | RumFirstInputTiming\n | RumPerformanceEventTiming\n | RumLayoutShiftTiming\n\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance\n}\n\nexport function supportPerformanceTimingEvent(entryType: RumPerformanceEntryType) {\n return (\n window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType)\n )\n}\n\nexport function startPerformanceCollection(lifeCycle: LifeCycle, configuration: RumConfiguration) {\n retrieveInitialDocumentResourceTiming(configuration, (timing) => {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing])\n })\n\n if (supportPerformanceObject()) {\n const performanceEntries = performance.getEntries()\n // Because the performance entry list can be quite large\n // delay the computation to prevent the SDK from blocking the main thread on init\n setTimeout(() => handleRumPerformanceEntries(lifeCycle, configuration, performanceEntries))\n }\n\n if (window.PerformanceObserver) {\n const handlePerformanceEntryList = monitor((entries: PerformanceObserverEntryList) =>\n handleRumPerformanceEntries(lifeCycle, configuration, entries.getEntries())\n )\n const mainEntries = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ]\n const experimentalEntries = [\n RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT,\n RumPerformanceEntryType.FIRST_INPUT,\n RumPerformanceEntryType.LAYOUT_SHIFT,\n RumPerformanceEntryType.EVENT,\n ]\n\n try {\n // Experimental entries are not retrieved by performance.getEntries()\n // use a single PerformanceObserver with buffered flag by type\n // to get values that could happen before SDK init\n experimentalEntries.forEach((type) => {\n const observer = new (window as BrowserWindow).PerformanceObserver(handlePerformanceEntryList)\n observer.observe({\n type,\n buffered: true,\n // durationThreshold only impact PerformanceEventTiming entries used for INP computation which requires a threshold at 40 (default is 104ms)\n // cf: https://github.com/GoogleChrome/web-vitals/blob/3806160ffbc93c3c4abf210a167b81228172b31c/src/onINP.ts#L209\n durationThreshold: 40,\n })\n })\n } catch (e) {\n // Some old browser versions (ex: chrome 67) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to PerformanceObserver with entryTypes\n mainEntries.push(...experimentalEntries)\n }\n\n const mainObserver = new PerformanceObserver(handlePerformanceEntryList)\n mainObserver.observe({ entryTypes: mainEntries })\n\n if (supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n addEventListener(configuration, performance, 'resourcetimingbufferfull', () => {\n performance.clearResourceTimings()\n })\n }\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION)) {\n retrieveNavigationTiming(configuration, (timing) => {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing])\n })\n }\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT)) {\n retrieveFirstInputTiming(configuration, (timing) => {\n handleRumPerformanceEntries(lifeCycle, configuration, [timing])\n })\n }\n}\n\nexport function retrieveInitialDocumentResourceTiming(\n configuration: RumConfiguration,\n callback: (timing: RumPerformanceResourceTiming) => void\n) {\n runOnReadyState(configuration, 'interactive', () => {\n let timing: RumPerformanceResourceTiming\n\n const forcedAttributes = {\n entryType: RumPerformanceEntryType.RESOURCE as const,\n initiatorType: FAKE_INITIAL_DOCUMENT,\n traceId: getDocumentTraceId(document),\n toJSON: () => assign({}, timing, { toJSON: undefined }),\n }\n if (\n supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION) &&\n performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION).length > 0\n ) {\n const navigationEntry = performance.getEntriesByType(RumPerformanceEntryType.NAVIGATION)[0]\n timing = assign(navigationEntry.toJSON() as RumPerformanceResourceTiming, forcedAttributes)\n } else {\n const relativePerformanceTiming = computeRelativePerformanceTiming()\n timing = assign(\n relativePerformanceTiming,\n {\n decodedBodySize: 0,\n duration: relativePerformanceTiming.responseEnd,\n name: window.location.href,\n startTime: 0 as RelativeTime,\n },\n forcedAttributes\n )\n }\n callback(timing)\n })\n}\n\nfunction retrieveNavigationTiming(\n configuration: RumConfiguration,\n callback: (timing: RumPerformanceNavigationTiming) => void\n) {\n function sendFakeTiming() {\n callback(\n assign(computeRelativePerformanceTiming(), {\n entryType: RumPerformanceEntryType.NAVIGATION as const,\n })\n )\n }\n\n runOnReadyState(configuration, 'complete', () => {\n // Send it a bit after the actual load event, so the \"loadEventEnd\" timing is accurate\n setTimeout(sendFakeTiming)\n })\n}\n\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nfunction retrieveFirstInputTiming(configuration: RumConfiguration, callback: (timing: RumFirstInputTiming) => void) {\n const startTimeStamp = dateNow()\n let timingSent = false\n\n const { stop: removeEventListeners } = addEventListeners(\n configuration,\n window,\n [DOM_EVENT.CLICK, DOM_EVENT.MOUSE_DOWN, DOM_EVENT.KEY_DOWN, DOM_EVENT.TOUCH_START, DOM_EVENT.POINTER_DOWN],\n (evt) => {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return\n }\n\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n const timing: RumFirstInputTiming = {\n entryType: RumPerformanceEntryType.FIRST_INPUT,\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp as RelativeTime,\n duration: 0 as Duration, // arbitrary value to avoid nullable duration and simplify INP logic\n name: '',\n }\n\n if (evt.type === DOM_EVENT.POINTER_DOWN) {\n sendTimingIfPointerIsNotCancelled(configuration, timing)\n } else {\n sendTiming(timing)\n }\n },\n { passive: true, capture: true }\n )\n\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(configuration: RumConfiguration, timing: RumFirstInputTiming) {\n addEventListeners(\n configuration,\n window,\n [DOM_EVENT.POINTER_UP, DOM_EVENT.POINTER_CANCEL],\n (event) => {\n if (event.type === DOM_EVENT.POINTER_UP) {\n sendTiming(timing)\n }\n },\n { once: true }\n )\n }\n\n function sendTiming(timing: RumFirstInputTiming) {\n if (!timingSent) {\n timingSent = true\n removeEventListeners()\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n const delay = timing.processingStart - timing.startTime\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing)\n }\n }\n }\n}\n\nexport type RelativePerformanceTiming = {\n -readonly [key in keyof Omit]: RelativeTime\n}\n\nfunction computeRelativePerformanceTiming() {\n const result: Partial = {}\n const timing = performance.timing\n for (const key in timing) {\n if (isNumber(timing[key as keyof PerformanceTiming])) {\n const numberKey = key as keyof RelativePerformanceTiming\n const timingElement = timing[numberKey] as TimeStamp\n result[numberKey] = timingElement === 0 ? (0 as RelativeTime) : getRelativeTime(timingElement)\n }\n }\n return result as RelativePerformanceTiming\n}\n\nfunction handleRumPerformanceEntries(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n entries: Array\n) {\n const rumPerformanceEntries = entries.filter((entry): entry is RumPerformanceEntry =>\n objectHasValue(RumPerformanceEntryType, entry.entryType)\n )\n\n const rumAllowedPerformanceEntries = rumPerformanceEntries.filter(\n (entry) => !isIncompleteNavigation(entry) && !isForbiddenResource(configuration, entry)\n )\n\n if (rumAllowedPerformanceEntries.length) {\n lifeCycle.notify(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, rumAllowedPerformanceEntries)\n }\n}\n\nfunction isIncompleteNavigation(entry: RumPerformanceEntry) {\n return entry.entryType === RumPerformanceEntryType.NAVIGATION && entry.loadEventEnd <= 0\n}\n\nfunction isForbiddenResource(configuration: RumConfiguration, entry: RumPerformanceEntry) {\n return entry.entryType === RumPerformanceEntryType.RESOURCE && !isAllowedRequestUrl(configuration, entry.name)\n}\n","import type { ClocksState } from '../../tools/utils/timeUtils'\n\n// TS v4.6 introduced Error.cause[1] typed as `Error`. TS v4.8 changed Error.cause to be\n// `unknown`[2].\n//\n// Because we still support TS 3.8, we need to declare our own type. We can remove it once we drop\n// support for TS v4.7 and before. The 'cause' property defined by TS needs to be omitted because\n// we define it with a type `unknown` which is incompatible with TS 4.6 and 4.7.\n//\n// [1]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#target-es2022\n// [2]: https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/#lib-d-ts-updates\nexport interface ErrorWithCause extends Omit {\n cause?: unknown\n}\n\nexport type RawErrorCause = {\n message: string\n source: string\n type?: string\n stack?: string\n}\n\nexport interface RawError {\n startClocks: ClocksState\n message: string\n type?: string\n stack?: string\n source: ErrorSource\n originalError?: unknown\n handling?: ErrorHandling\n handlingStack?: string\n causes?: RawErrorCause[]\n fingerprint?: string\n}\n\nexport const ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n} as const\n\nexport const enum NonErrorPrefix {\n UNCAUGHT = 'Uncaught',\n PROVIDED = 'Provided',\n}\n\nexport const enum ErrorHandling {\n HANDLED = 'handled',\n UNHANDLED = 'unhandled',\n}\n\nexport type ErrorSource = (typeof ErrorSource)[keyof typeof ErrorSource]\n","import { setTimeout } from '../../tools/timer'\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils'\nimport type { RawError } from '../error/error.types'\nimport { ErrorSource } from '../error/error.types'\n\nexport type EventRateLimiter = ReturnType\n\nexport function createEventRateLimiter(\n eventType: string,\n limit: number,\n onLimitReached: (limitError: RawError) => void\n) {\n let eventCount = 0\n let allowNextEvent = false\n\n return {\n isLimitReached() {\n if (eventCount === 0) {\n setTimeout(() => {\n eventCount = 0\n }, ONE_MINUTE)\n }\n\n eventCount += 1\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false\n return false\n }\n\n if (eventCount === limit + 1) {\n allowNextEvent = true\n try {\n onLimitReached({\n message: `Reached max number of ${eventType}s by minute: ${limit}`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n })\n } finally {\n allowNextEvent = false\n }\n }\n\n return true\n },\n }\n}\n","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core'\n\nexport function getSyntheticsContext() {\n const testId = getSyntheticsTestId()\n const resultId = getSyntheticsResultId()\n\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n }\n }\n}\n","export interface CiTestWindow extends Window {\n Cypress?: {\n env: (key: string) => string | undefined\n }\n}\n\nexport function getCiTestContext() {\n const testExecutionId = (window as CiTestWindow).Cypress?.env('traceId')\n\n if (typeof testExecutionId === 'string') {\n return {\n test_execution_id: testExecutionId,\n }\n }\n}\n","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core'\nimport type { Context } from '@datadog/browser-core'\n\nexport type ModifiableFieldPaths = Record\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(\n object: T,\n modifiableFieldPaths: ModifiableFieldPaths,\n modifier: (object: T) => Result\n): Result | undefined {\n const clone = deepClone(object)\n const result = modifier(clone)\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) => {\n const newValue = get(clone, fieldPath)\n const newType = getType(newValue)\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue))\n } else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {})\n }\n })\n return result\n}\n\nfunction get(object: unknown, path: string) {\n let current = object\n for (const field of path.split('.')) {\n if (!isValidObjectContaining(current, field)) {\n return\n }\n current = current[field]\n }\n return current\n}\n\nfunction set(object: unknown, path: string, value: unknown) {\n let current = object\n const fields = path.split('.')\n for (let i = 0; i < fields.length; i += 1) {\n const field = fields[i]\n if (!isValidObject(current)) {\n return\n }\n if (i !== fields.length - 1) {\n current = current[field]\n } else {\n current[field] = value\n }\n }\n}\n\nfunction isValidObject(object: unknown): object is Record {\n return getType(object) === 'object'\n}\n\nfunction isValidObjectContaining(object: unknown, field: string): object is Record {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field)\n}\n","import type { Context, RawError, EventRateLimiter, User } from '@datadog/browser-core'\nimport {\n combine,\n isEmptyObject,\n timeStampNow,\n currentDrift,\n display,\n createEventRateLimiter,\n canUseEventBridge,\n assign,\n round,\n} from '@datadog/browser-core'\nimport type { RumEventDomainContext } from '../domainContext.types'\nimport type {\n RawRumErrorEvent,\n RawRumEvent,\n RawRumLongTaskEvent,\n RawRumResourceEvent,\n RumContext,\n} from '../rawRumEvent.types'\nimport { RumEventType } from '../rawRumEvent.types'\nimport type { RumEvent } from '../rumEvent.types'\nimport { getSyntheticsContext } from './contexts/syntheticsContext'\nimport { getCiTestContext } from './contexts/ciTestContext'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\nimport type { ViewContexts } from './contexts/viewContexts'\nimport type { RumSessionManager } from './rumSessionManager'\nimport type { UrlContexts } from './contexts/urlContexts'\nimport type { RumConfiguration } from './configuration'\nimport type { ActionContexts } from './action/actionCollection'\nimport type { DisplayContext } from './contexts/displayContext'\nimport type { CommonContext } from './contexts/commonContext'\nimport type { ModifiableFieldPaths } from './limitModification'\nimport { limitModification } from './limitModification'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nconst enum SessionType {\n SYNTHETICS = 'synthetics',\n USER = 'user',\n CI_TEST = 'ci_test',\n}\n\nconst VIEW_MODIFIABLE_FIELD_PATHS: ModifiableFieldPaths = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n}\n\nconst USER_CUSTOMIZABLE_FIELD_PATHS: ModifiableFieldPaths = {\n context: 'object',\n}\n\nlet modifiableFieldPathsByEvent: { [key in RumEventType]: ModifiableFieldPaths }\n\ntype Mutable = { -readonly [P in keyof T]: T[P] }\n\nexport function startRumAssembly(\n configuration: RumConfiguration,\n lifeCycle: LifeCycle,\n sessionManager: RumSessionManager,\n viewContexts: ViewContexts,\n urlContexts: UrlContexts,\n actionContexts: ActionContexts,\n displayContext: DisplayContext,\n buildCommonContext: () => CommonContext,\n reportError: (error: RawError) => void\n) {\n modifiableFieldPathsByEvent = {\n [RumEventType.VIEW]: VIEW_MODIFIABLE_FIELD_PATHS,\n [RumEventType.ERROR]: assign(\n {\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS\n ),\n [RumEventType.RESOURCE]: assign(\n {\n 'resource.url': 'string',\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS\n ),\n [RumEventType.ACTION]: assign(\n {\n 'action.target.name': 'string',\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS\n ),\n [RumEventType.LONG_TASK]: assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n }\n const eventRateLimiters = {\n [RumEventType.ERROR]: createEventRateLimiter(\n RumEventType.ERROR,\n configuration.eventRateLimiterThreshold,\n reportError\n ),\n [RumEventType.ACTION]: createEventRateLimiter(\n RumEventType.ACTION,\n configuration.eventRateLimiterThreshold,\n reportError\n ),\n }\n\n const syntheticsContext = getSyntheticsContext()\n const ciTestContext = getCiTestContext()\n\n lifeCycle.subscribe(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n ({ startTime, rawRumEvent, domainContext, savedCommonContext, customerContext }) => {\n const viewContext = viewContexts.findView(startTime)\n const urlContext = urlContexts.findUrl(startTime)\n const session = sessionManager.findTrackedSession(startTime)\n if (session && viewContext && urlContext) {\n const commonContext = savedCommonContext || buildCommonContext()\n const actionId = actionContexts.findActionId(startTime)\n\n const rumContext: RumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? __BUILD_ENV__SDK_VERSION__ : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewContext.service || configuration.service,\n version: viewContext.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext ? SessionType.SYNTHETICS : ciTestContext ? SessionType.CI_TEST : SessionType.USER,\n },\n view: {\n id: viewContext.id,\n name: viewContext.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciTestContext,\n display: displayContext.get(),\n }\n\n const serverRumEvent = combine(rumContext as RumContext & Context, rawRumEvent) as RumEvent & Context\n serverRumEvent.context = combine(commonContext.context, customerContext)\n\n if (!('has_replay' in serverRumEvent.session)) {\n ;(serverRumEvent.session as Mutable).has_replay = commonContext.hasReplay\n }\n if (serverRumEvent.type === 'view') {\n ;(serverRumEvent.session as Mutable).sampled_for_replay = session.sessionReplayAllowed\n }\n\n if (!isEmptyObject(commonContext.user)) {\n ;(serverRumEvent.usr as Mutable) = commonContext.user as User & Context\n }\n\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context\n }\n lifeCycle.notify(LifeCycleEventType.RUM_EVENT_COLLECTED, serverRumEvent)\n }\n }\n }\n )\n}\n\nfunction shouldSend(\n event: RumEvent & Context,\n beforeSend: RumConfiguration['beforeSend'],\n domainContext: RumEventDomainContext,\n eventRateLimiters: { [key in RumEventType]?: EventRateLimiter }\n) {\n if (beforeSend) {\n const result = limitModification(event, modifiableFieldPathsByEvent[event.type], (event) =>\n beforeSend(event, domainContext)\n )\n if (result === false && event.type !== RumEventType.VIEW) {\n return false\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\")\n }\n }\n\n const rateLimitReached = eventRateLimiters[event.type]?.isLimitReached()\n return !rateLimitReached\n}\n\nfunction needToAssembleWithAction(\n event: RawRumEvent\n): event is RawRumErrorEvent | RawRumResourceEvent | RawRumLongTaskEvent {\n return [RumEventType.ERROR, RumEventType.RESOURCE, RumEventType.LONG_TASK].indexOf(event.type) !== -1\n}\n","import type { RelativeTime } from '@datadog/browser-core'\nimport type { ActionContexts } from '../action/actionCollection'\nimport type { RumSessionManager } from '../rumSessionManager'\nimport type { ViewContexts } from './viewContexts'\nimport type { UrlContexts } from './urlContexts'\n\nexport interface InternalContext {\n application_id: string\n session_id: string | undefined\n view?: {\n id: string\n url: string\n referrer: string\n name?: string\n }\n user_action?: {\n id: string | string[]\n }\n}\n\n/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(\n applicationId: string,\n sessionManager: RumSessionManager,\n viewContexts: ViewContexts,\n actionContexts: ActionContexts,\n urlContexts: UrlContexts\n) {\n return {\n get: (startTime?: number): InternalContext | undefined => {\n const viewContext = viewContexts.findView(startTime as RelativeTime)\n const urlContext = urlContexts.findUrl(startTime as RelativeTime)\n const session = sessionManager.findTrackedSession(startTime as RelativeTime)\n if (session && viewContext && urlContext) {\n const actionId = actionContexts.findActionId(startTime as RelativeTime)\n return {\n application_id: applicationId,\n session_id: session.id,\n user_action: actionId ? { id: actionId } : undefined,\n view: { id: viewContext.id, name: viewContext.name, referrer: urlContext.referrer, url: urlContext.url },\n }\n }\n },\n }\n}\n","import type { Subscription } from './observable'\n\n/**\n * Type helper to extract event types that have \"void\" data. This allows to call `notify` without a\n * second argument. Ex:\n *\n * ```\n * interface EventMap {\n * foo: void\n * }\n * const LifeCycle = AbstractLifeCycle\n * new LifeCycle().notify('foo')\n * ```\n */\ntype EventTypesWithoutData = {\n [K in keyof EventMap]: EventMap[K] extends void ? K : never\n}[keyof EventMap]\n\nexport class AbstractLifeCycle {\n private callbacks: { [key in keyof EventMap]?: Array<(data: any) => void> } = {}\n\n notify>(eventType: EventType): void\n notify(eventType: EventType, data: EventMap[EventType]): void\n notify(eventType: keyof EventMap, data?: unknown) {\n const eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n eventCallbacks.forEach((callback) => callback(data))\n }\n }\n\n subscribe(\n eventType: EventType,\n callback: (data: EventMap[EventType]) => void\n ): Subscription {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType]!.push(callback)\n return {\n unsubscribe: () => {\n this.callbacks[eventType] = this.callbacks[eventType]!.filter((other) => callback !== other)\n },\n }\n }\n}\n","import type { Context, PageExitEvent, RawError, RelativeTime } from '@datadog/browser-core'\nimport { AbstractLifeCycle } from '@datadog/browser-core'\nimport type { RumPerformanceEntry } from '../browser/performanceCollection'\nimport type { RumEventDomainContext } from '../domainContext.types'\nimport type { RawRumEvent } from '../rawRumEvent.types'\nimport type { RumEvent } from '../rumEvent.types'\nimport type { CommonContext } from './contexts/commonContext'\nimport type { RequestCompleteEvent, RequestStartEvent } from './requestCollection'\nimport type { AutoAction } from './action/actionCollection'\nimport type { ViewEvent, ViewCreatedEvent, ViewEndedEvent } from './view/trackViews'\n\nexport const enum LifeCycleEventType {\n PERFORMANCE_ENTRIES_COLLECTED,\n AUTO_ACTION_COMPLETED,\n VIEW_CREATED,\n VIEW_UPDATED,\n VIEW_ENDED,\n REQUEST_STARTED,\n REQUEST_COMPLETED,\n\n // The SESSION_EXPIRED lifecycle event has been introduced to represent when a session has expired\n // and trigger cleanup tasks related to this, prior to renewing the session. Its implementation is\n // slightly naive: it is not triggered as soon as the session is expired, but rather just before\n // notifying that the session is renewed. Thus, the session id is already set to the newly renewed\n // session.\n //\n // This implementation is \"good enough\" for our use-cases. Improving this is not trivial,\n // primarily because multiple instances of the SDK may be managing the same session cookie at\n // the same time, for example when using Logs and RUM on the same page, or opening multiple tabs\n // on the same domain.\n SESSION_EXPIRED,\n\n SESSION_RENEWED,\n PAGE_EXITED,\n RAW_RUM_EVENT_COLLECTED,\n RUM_EVENT_COLLECTED,\n RAW_ERROR_COLLECTED,\n}\n\n// This is a workaround for an issue occurring when the Browser SDK is included in a TypeScript\n// project configured with `isolatedModules: true`. Even if the const enum is declared in this\n// module, we cannot use it directly to define the EventMap interface keys (TS error: \"Cannot access\n// ambient const enums when the '--isolatedModules' flag is provided.\").\n//\n// Using a plain enum would fix the issue, but would also add 2KB to the minified bundle. By using\n// this workaround, we can keep using a const enum without impacting the bundle size (since it is a\n// \"declare\" statement, it will only be used during typecheck and completely ignored when building\n// JavaScript).\n//\n// See issues:\n// * https://github.com/DataDog/browser-sdk/issues/2208\n// * https://github.com/microsoft/TypeScript/issues/54152\ndeclare const LifeCycleEventTypeAsConst: {\n PERFORMANCE_ENTRIES_COLLECTED: LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED\n AUTO_ACTION_COMPLETED: LifeCycleEventType.AUTO_ACTION_COMPLETED\n VIEW_CREATED: LifeCycleEventType.VIEW_CREATED\n VIEW_UPDATED: LifeCycleEventType.VIEW_UPDATED\n VIEW_ENDED: LifeCycleEventType.VIEW_ENDED\n REQUEST_STARTED: LifeCycleEventType.REQUEST_STARTED\n REQUEST_COMPLETED: LifeCycleEventType.REQUEST_COMPLETED\n SESSION_EXPIRED: LifeCycleEventType.SESSION_EXPIRED\n SESSION_RENEWED: LifeCycleEventType.SESSION_RENEWED\n PAGE_EXITED: LifeCycleEventType.PAGE_EXITED\n RAW_RUM_EVENT_COLLECTED: LifeCycleEventType.RAW_RUM_EVENT_COLLECTED\n RUM_EVENT_COLLECTED: LifeCycleEventType.RUM_EVENT_COLLECTED\n RAW_ERROR_COLLECTED: LifeCycleEventType.RAW_ERROR_COLLECTED\n}\n\n// Note: this interface needs to be exported even if it is not used outside of this module, else TS\n// fails to build the rum-core package with error TS4058\nexport interface LifeCycleEventMap {\n [LifeCycleEventTypeAsConst.PERFORMANCE_ENTRIES_COLLECTED]: RumPerformanceEntry[]\n [LifeCycleEventTypeAsConst.AUTO_ACTION_COMPLETED]: AutoAction\n [LifeCycleEventTypeAsConst.VIEW_CREATED]: ViewCreatedEvent\n [LifeCycleEventTypeAsConst.VIEW_UPDATED]: ViewEvent\n [LifeCycleEventTypeAsConst.VIEW_ENDED]: ViewEndedEvent\n [LifeCycleEventTypeAsConst.REQUEST_STARTED]: RequestStartEvent\n [LifeCycleEventTypeAsConst.REQUEST_COMPLETED]: RequestCompleteEvent\n [LifeCycleEventTypeAsConst.SESSION_EXPIRED]: void\n [LifeCycleEventTypeAsConst.SESSION_RENEWED]: void\n [LifeCycleEventTypeAsConst.PAGE_EXITED]: PageExitEvent\n [LifeCycleEventTypeAsConst.RAW_RUM_EVENT_COLLECTED]: RawRumEventCollectedData\n [LifeCycleEventTypeAsConst.RUM_EVENT_COLLECTED]: RumEvent & Context\n [LifeCycleEventTypeAsConst.RAW_ERROR_COLLECTED]: {\n error: RawError\n savedCommonContext?: CommonContext\n customerContext?: Context\n }\n}\n\nexport interface RawRumEventCollectedData {\n startTime: RelativeTime\n savedCommonContext?: CommonContext\n customerContext?: Context\n rawRumEvent: E\n domainContext: RumEventDomainContext\n}\n\nexport const LifeCycle = AbstractLifeCycle\nexport type LifeCycle = AbstractLifeCycle\n","import { setInterval, clearInterval } from './timer'\nimport type { TimeoutId } from './timer'\nimport type { Duration, RelativeTime } from './utils/timeUtils'\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils'\n\nconst END_OF_TIMES = Infinity as RelativeTime\n\nexport interface ValueHistoryEntry {\n startTime: RelativeTime\n endTime: RelativeTime\n value: T\n remove(): void\n close(endTime: RelativeTime): void\n}\n\nexport const CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE\n\n/**\n * Store and keep track of values spans. This whole class assumes that values are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nexport class ValueHistory {\n private entries: Array> = []\n private clearOldValuesInterval: TimeoutId\n\n constructor(\n private expireDelay: number,\n private maxEntries?: number\n ) {\n this.clearOldValuesInterval = setInterval(() => this.clearOldValues(), CLEAR_OLD_VALUES_INTERVAL)\n }\n\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n add(value: Value, startTime: RelativeTime): ValueHistoryEntry {\n const entry: ValueHistoryEntry = {\n value,\n startTime,\n endTime: END_OF_TIMES,\n remove: () => {\n const index = this.entries.indexOf(entry)\n if (index >= 0) {\n this.entries.splice(index, 1)\n }\n },\n close: (endTime: RelativeTime) => {\n entry.endTime = endTime\n },\n }\n\n if (this.maxEntries && this.entries.length >= this.maxEntries) {\n this.entries.pop()\n }\n\n this.entries.unshift(entry)\n\n return entry\n }\n\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n */\n find(startTime: RelativeTime = END_OF_TIMES): Value | undefined {\n for (const entry of this.entries) {\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.value\n }\n break\n }\n }\n }\n\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n closeActive(endTime: RelativeTime) {\n const latestEntry = this.entries[0]\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime)\n }\n }\n\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n findAll(startTime: RelativeTime = END_OF_TIMES, duration = 0 as Duration): Value[] {\n const endTime = addDuration(startTime, duration)\n return this.entries\n .filter((entry) => entry.startTime <= endTime && startTime <= entry.endTime)\n .map((entry) => entry.value)\n }\n\n /**\n * Remove all entries from this collection.\n */\n reset() {\n this.entries = []\n }\n\n /**\n * Stop internal garbage collection of past entries.\n */\n stop() {\n clearInterval(this.clearOldValuesInterval)\n }\n\n private clearOldValues() {\n const oldTimeThreshold = relativeNow() - this.expireDelay\n while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {\n this.entries.pop()\n }\n }\n}\n","import type { RelativeTime, ClocksState } from '@datadog/browser-core'\nimport { SESSION_TIME_OUT_DELAY, ValueHistory } from '@datadog/browser-core'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { ViewCreatedEvent } from '../view/trackViews'\n\nexport const VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY\n\nexport interface ViewContext {\n service?: string\n version?: string\n id: string\n name?: string\n startClocks: ClocksState\n}\n\nexport interface ViewContexts {\n findView: (startTime?: RelativeTime) => ViewContext | undefined\n stop: () => void\n}\n\nexport function startViewContexts(lifeCycle: LifeCycle): ViewContexts {\n const viewContextHistory = new ValueHistory(VIEW_CONTEXT_TIME_OUT_DELAY)\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_CREATED, (view) => {\n viewContextHistory.add(buildViewContext(view), view.startClocks.relative)\n })\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, ({ endClocks }) => {\n viewContextHistory.closeActive(endClocks.relative)\n })\n\n lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, () => {\n viewContextHistory.reset()\n })\n\n function buildViewContext(view: ViewCreatedEvent) {\n return {\n service: view.service,\n version: view.version,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n }\n }\n\n return {\n findView: (startTime) => viewContextHistory.find(startTime),\n stop: () => {\n viewContextHistory.stop()\n },\n }\n}\n","import { setTimeout } from './timer'\nimport { callMonitored } from './monitor'\nimport { noop } from './utils/functionUtils'\n\nexport function instrumentMethod(\n object: OBJECT,\n method: METHOD,\n instrumentationFactory: (\n original: OBJECT[METHOD]\n ) => (this: OBJECT, ...args: Parameters) => ReturnType\n) {\n const original = object[method]\n\n let instrumentation = instrumentationFactory(original)\n\n const instrumentationWrapper = function (this: OBJECT): ReturnType | undefined {\n if (typeof instrumentation !== 'function') {\n return undefined\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments as unknown as Parameters)\n }\n object[method] = instrumentationWrapper as OBJECT[METHOD]\n\n return {\n stop: () => {\n if (object[method] === instrumentationWrapper) {\n object[method] = original\n } else {\n instrumentation = original\n }\n },\n }\n}\n\nexport function instrumentMethodAndCallOriginal(\n object: OBJECT,\n method: METHOD,\n {\n before,\n after,\n }: {\n before?: (this: OBJECT, ...args: Parameters) => void\n after?: (this: OBJECT, ...args: Parameters) => void\n }\n) {\n return instrumentMethod(\n object,\n method,\n (original) =>\n function () {\n const args = arguments as unknown as Parameters\n let result\n\n if (before) {\n callMonitored(before, this, args)\n }\n\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, args)\n }\n\n if (after) {\n callMonitored(after, this, args)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result\n }\n )\n}\n\nexport function instrumentSetter(\n object: OBJECT,\n property: PROPERTY,\n after: (thisObject: OBJECT, value: OBJECT[PROPERTY]) => void\n) {\n const originalDescriptor = Object.getOwnPropertyDescriptor(object, property)\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop }\n }\n\n let instrumentation = (thisObject: OBJECT, value: OBJECT[PROPERTY]) => {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(() => {\n after(thisObject, value)\n }, 0)\n }\n\n const instrumentationWrapper = function (this: OBJECT, value: OBJECT[PROPERTY]) {\n originalDescriptor.set!.call(this, value)\n instrumentation(this, value)\n }\n\n Object.defineProperty(object, property, {\n set: instrumentationWrapper,\n })\n\n return {\n stop: () => {\n if (Object.getOwnPropertyDescriptor(object, property)?.set === instrumentationWrapper) {\n Object.defineProperty(object, property, originalDescriptor)\n } else {\n instrumentation = noop\n }\n },\n }\n}\n","import { instrumentMethodAndCallOriginal } from '../tools/instrumentMethod'\nimport { Observable } from '../tools/observable'\nimport type { Duration, ClocksState } from '../tools/utils/timeUtils'\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils'\nimport { normalizeUrl } from '../tools/utils/urlPolyfill'\nimport { shallowClone } from '../tools/utils/objectUtils'\nimport type { Configuration } from '../domain/configuration'\nimport { addEventListener } from './addEventListener'\n\nexport interface XhrOpenContext {\n state: 'open'\n method: string\n url: string\n}\n\nexport interface XhrStartContext extends Omit {\n state: 'start'\n startClocks: ClocksState\n isAborted: boolean\n xhr: XMLHttpRequest\n}\n\nexport interface XhrCompleteContext extends Omit {\n state: 'complete'\n duration: Duration\n status: number\n}\n\nexport type XhrContext = XhrOpenContext | XhrStartContext | XhrCompleteContext\n\nlet xhrObservable: Observable | undefined\nconst xhrContexts = new WeakMap()\n\nexport function initXhrObservable(configuration: Configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration)\n }\n return xhrObservable\n}\n\nfunction createXhrObservable(configuration: Configuration) {\n const observable = new Observable(() => {\n const { stop: stopInstrumentingStart } = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'open', {\n before: openXhr,\n })\n\n const { stop: stopInstrumentingSend } = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'send', {\n before() {\n sendXhr.call(this, configuration, observable)\n },\n })\n\n const { stop: stopInstrumentingAbort } = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'abort', {\n before: abortXhr,\n })\n\n return () => {\n stopInstrumentingStart()\n stopInstrumentingSend()\n stopInstrumentingAbort()\n }\n })\n return observable\n}\n\nfunction openXhr(this: XMLHttpRequest, method: string, url: string | URL | undefined | null) {\n xhrContexts.set(this, {\n state: 'open',\n method: method.toUpperCase(),\n url: normalizeUrl(String(url)),\n })\n}\n\nfunction sendXhr(this: XMLHttpRequest, configuration: Configuration, observable: Observable) {\n const context = xhrContexts.get(this)\n if (!context) {\n return\n }\n\n const startContext = context as XhrStartContext\n startContext.state = 'start'\n startContext.startClocks = clocksNow()\n startContext.isAborted = false\n startContext.xhr = this\n\n let hasBeenReported = false\n\n const { stop: stopInstrumentingOnReadyStateChange } = instrumentMethodAndCallOriginal(this, 'onreadystatechange', {\n before() {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd()\n }\n },\n })\n\n const onEnd = () => {\n unsubscribeLoadEndListener()\n stopInstrumentingOnReadyStateChange()\n if (hasBeenReported) {\n return\n }\n hasBeenReported = true\n\n const completeContext = context as XhrCompleteContext\n completeContext.state = 'complete'\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow())\n completeContext.status = this.status\n observable.notify(shallowClone(completeContext))\n }\n\n const { stop: unsubscribeLoadEndListener } = addEventListener(configuration, this, 'loadend', onEnd)\n\n observable.notify(startContext)\n}\n\nfunction abortXhr(this: XMLHttpRequest) {\n const context = xhrContexts.get(this) as XhrStartContext | undefined\n if (context) {\n context.isAborted = true\n }\n}\n","import { instrumentMethod } from '../tools/instrumentMethod'\nimport { callMonitored, monitor } from '../tools/monitor'\nimport { Observable } from '../tools/observable'\nimport type { ClocksState } from '../tools/utils/timeUtils'\nimport { clocksNow } from '../tools/utils/timeUtils'\nimport { normalizeUrl } from '../tools/utils/urlPolyfill'\n\ninterface FetchContextBase {\n method: string\n startClocks: ClocksState\n input: unknown\n init?: RequestInit\n url: string\n}\n\nexport interface FetchStartContext extends FetchContextBase {\n state: 'start'\n}\n\nexport interface FetchResolveContext extends FetchContextBase {\n state: 'resolve'\n status: number\n response?: Response\n responseType?: string\n isAborted: boolean\n error?: Error\n}\n\nexport type FetchContext = FetchStartContext | FetchResolveContext\n\nlet fetchObservable: Observable | undefined\n\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable()\n }\n return fetchObservable\n}\n\nfunction createFetchObservable() {\n const observable = new Observable(() => {\n if (!window.fetch) {\n return\n }\n\n const { stop } = instrumentMethod(\n window,\n 'fetch',\n (originalFetch) =>\n function (input, init) {\n let responsePromise: Promise\n\n const context = callMonitored(beforeSend, null, [observable, input, init])\n if (context) {\n // casting should be `RequestInfo` but node types are ahead of DOM types, making `typecheck test/e2e` fail.\n // it should be resolved with https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1483\n responsePromise = originalFetch.call(this, context.input as any, context.init)\n callMonitored(afterSend, null, [observable, responsePromise, context])\n } else {\n responsePromise = originalFetch.call(this, input, init)\n }\n\n return responsePromise\n }\n )\n\n return stop\n })\n\n return observable\n}\n\nfunction beforeSend(observable: Observable, input: unknown, init?: RequestInit) {\n const methodFromParams = (init && init.method) || (input instanceof Request && input.method)\n const method = methodFromParams ? methodFromParams.toUpperCase() : 'GET'\n const url = input instanceof Request ? input.url : normalizeUrl(String(input))\n const startClocks = clocksNow()\n\n const context: FetchStartContext = {\n state: 'start',\n init,\n input,\n method,\n startClocks,\n url,\n }\n\n observable.notify(context)\n\n return context\n}\n\nfunction afterSend(\n observable: Observable,\n responsePromise: Promise,\n startContext: FetchStartContext\n) {\n const reportFetch = (response: Response | Error) => {\n const context = startContext as unknown as FetchResolveContext\n context.state = 'resolve'\n if ('stack' in response || response instanceof Error) {\n context.status = 0\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR\n context.error = response\n } else if ('status' in response) {\n context.response = response\n context.responseType = response.type\n context.status = response.status\n context.isAborted = false\n }\n observable.notify(context)\n }\n\n responsePromise.then(monitor(reportFetch), monitor(reportFetch))\n}\n","export function isServerError(status: number) {\n return status >= 500\n}\n\nexport function tryToClone(response: Response): Response | undefined {\n try {\n return response.clone()\n } catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return\n }\n}\n","import { monitor } from './monitor'\nimport { noop } from './utils/functionUtils'\n\ntype Options = {\n bytesLimit: number\n collectStreamBody?: boolean\n}\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(\n stream: ReadableStream,\n callback: (error?: Error, bytes?: Uint8Array, limitExceeded?: boolean) => void,\n options: Options\n) {\n const reader = stream.getReader()\n const chunks: Uint8Array[] = []\n let readBytesCount = 0\n\n readMore()\n\n function readMore() {\n reader.read().then(\n monitor((result: ReadableStreamReadResult) => {\n if (result.done) {\n onDone()\n return\n }\n\n if (options.collectStreamBody) {\n chunks.push(result.value)\n }\n readBytesCount += result.value.length\n\n if (readBytesCount > options.bytesLimit) {\n onDone()\n } else {\n readMore()\n }\n }),\n monitor((error) => callback(error))\n )\n }\n\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop\n )\n\n let bytes: Uint8Array | undefined\n let limitExceeded: boolean | undefined\n if (options.collectStreamBody) {\n let completeBuffer: Uint8Array\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer = chunks[0]\n } else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer = new Uint8Array(readBytesCount)\n let offset = 0\n chunks.forEach((chunk) => {\n completeBuffer.set(chunk, offset)\n offset += chunk.length\n })\n }\n bytes = completeBuffer.slice(0, options.bytesLimit)\n limitExceeded = completeBuffer.length > options.bytesLimit\n }\n\n callback(undefined, bytes, limitExceeded)\n }\n}\n","import type {\n Duration,\n XhrCompleteContext,\n XhrStartContext,\n ClocksState,\n FetchStartContext,\n FetchResolveContext,\n} from '@datadog/browser-core'\nimport {\n RequestType,\n initFetchObservable,\n initXhrObservable,\n readBytesFromStream,\n elapsed,\n timeStampNow,\n tryToClone,\n} from '@datadog/browser-core'\nimport type { RumSessionManager } from '..'\nimport type { RumConfiguration } from './configuration'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\nimport { isAllowedRequestUrl } from './resource/resourceUtils'\nimport type { TraceIdentifier, Tracer } from './tracing/tracer'\nimport { startTracer } from './tracing/tracer'\n\nexport interface CustomContext {\n requestIndex: number\n spanId?: TraceIdentifier\n traceId?: TraceIdentifier\n traceSampled?: boolean\n}\nexport interface RumFetchStartContext extends FetchStartContext, CustomContext {}\nexport interface RumFetchResolveContext extends FetchResolveContext, CustomContext {}\nexport interface RumXhrStartContext extends XhrStartContext, CustomContext {}\nexport interface RumXhrCompleteContext extends XhrCompleteContext, CustomContext {}\n\nexport interface RequestStartEvent {\n requestIndex: number\n url: string\n}\nexport interface RequestCompleteEvent {\n requestIndex: number\n type: RequestType\n method: string\n url: string\n status: number\n responseType?: string\n startClocks: ClocksState\n duration: Duration\n spanId?: TraceIdentifier\n traceId?: TraceIdentifier\n traceSampled?: boolean\n xhr?: XMLHttpRequest\n response?: Response\n input?: unknown\n init?: RequestInit\n error?: Error\n}\n\nlet nextRequestIndex = 1\n\nexport function startRequestCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager\n) {\n const tracer = startTracer(configuration, sessionManager)\n trackXhr(lifeCycle, configuration, tracer)\n trackFetch(lifeCycle, configuration, tracer)\n}\n\nexport function trackXhr(lifeCycle: LifeCycle, configuration: RumConfiguration, tracer: Tracer) {\n const subscription = initXhrObservable(configuration).subscribe((rawContext) => {\n const context = rawContext as RumXhrStartContext | RumXhrCompleteContext\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return\n }\n\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr)\n context.requestIndex = getNextRequestIndex()\n\n lifeCycle.notify(LifeCycleEventType.REQUEST_STARTED, {\n requestIndex: context.requestIndex,\n url: context.url,\n })\n break\n case 'complete':\n tracer.clearTracingIfNeeded(context)\n lifeCycle.notify(LifeCycleEventType.REQUEST_COMPLETED, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: RequestType.XHR,\n url: context.url,\n xhr: context.xhr,\n })\n break\n }\n })\n\n return { stop: () => subscription.unsubscribe() }\n}\n\nexport function trackFetch(lifeCycle: LifeCycle, configuration: RumConfiguration, tracer: Tracer) {\n const subscription = initFetchObservable().subscribe((rawContext) => {\n const context = rawContext as RumFetchResolveContext | RumFetchStartContext\n if (!isAllowedRequestUrl(configuration, context.url)) {\n return\n }\n\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context)\n context.requestIndex = getNextRequestIndex()\n\n lifeCycle.notify(LifeCycleEventType.REQUEST_STARTED, {\n requestIndex: context.requestIndex,\n url: context.url,\n })\n break\n case 'resolve':\n waitForResponseToComplete(context, (duration: Duration) => {\n tracer.clearTracingIfNeeded(context)\n lifeCycle.notify(LifeCycleEventType.REQUEST_COMPLETED, {\n duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: RequestType.FETCH,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n })\n })\n break\n }\n })\n return { stop: () => subscription.unsubscribe() }\n}\n\nfunction getNextRequestIndex() {\n const result = nextRequestIndex\n nextRequestIndex += 1\n return result\n}\n\nfunction waitForResponseToComplete(context: RumFetchResolveContext, callback: (duration: Duration) => void) {\n const clonedResponse = context.response && tryToClone(context.response)\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()))\n } else {\n readBytesFromStream(\n clonedResponse.body,\n () => {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()))\n },\n {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n }\n )\n }\n}\n","import { noop } from '@datadog/browser-core'\nimport { RumEventType } from '../rawRumEvent.types'\nimport type { RumActionEvent, RumErrorEvent, RumLongTaskEvent, RumResourceEvent } from '../rumEvent.types'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\n\nexport interface EventCounts {\n errorCount: number\n actionCount: number\n longTaskCount: number\n resourceCount: number\n frustrationCount: number\n}\n\nexport function trackEventCounts({\n lifeCycle,\n isChildEvent,\n onChange: callback = noop,\n}: {\n lifeCycle: LifeCycle\n isChildEvent: (event: RumActionEvent | RumErrorEvent | RumLongTaskEvent | RumResourceEvent) => boolean\n onChange?: () => void\n}) {\n const eventCounts: EventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n }\n\n const subscription = lifeCycle.subscribe(LifeCycleEventType.RUM_EVENT_COLLECTED, (event): void => {\n if (event.type === 'view' || !isChildEvent(event)) {\n return\n }\n switch (event.type) {\n case RumEventType.ERROR:\n eventCounts.errorCount += 1\n callback()\n break\n case RumEventType.ACTION:\n eventCounts.actionCount += 1\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length\n }\n callback()\n break\n case RumEventType.LONG_TASK:\n eventCounts.longTaskCount += 1\n callback()\n break\n case RumEventType.RESOURCE:\n if (!event._dd?.discarded) {\n eventCounts.resourceCount += 1\n callback()\n }\n break\n }\n })\n\n return {\n stop: () => {\n subscription.unsubscribe()\n },\n eventCounts,\n }\n}\n","import type { Subscription, TimeoutId, TimeStamp } from '@datadog/browser-core'\nimport {\n instrumentMethodAndCallOriginal,\n matchList,\n monitor,\n Observable,\n timeStampNow,\n setTimeout,\n clearTimeout,\n} from '@datadog/browser-core'\nimport { RumPerformanceEntryType } from '../browser/performanceCollection'\nimport type { RumConfiguration } from './configuration'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\n\n// Delay to wait for a page activity to validate the tracking process\nexport const PAGE_ACTIVITY_VALIDATION_DELAY = 100\n// Delay to wait after a page activity to end the tracking process\nexport const PAGE_ACTIVITY_END_DELAY = 100\n\nexport interface PageActivityEvent {\n isBusy: boolean\n}\n\nexport type PageActivityEndEvent = { hadActivity: true; end: TimeStamp } | { hadActivity: false }\n\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n pageActivityEndCallback: (event: PageActivityEndEvent) => void,\n maxDuration?: number\n) {\n const pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, configuration)\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration)\n}\n\nexport function doWaitPageActivityEnd(\n pageActivityObservable: Observable,\n pageActivityEndCallback: (event: PageActivityEndEvent) => void,\n maxDuration?: number\n) {\n let pageActivityEndTimeoutId: TimeoutId\n let hasCompleted = false\n\n const validationTimeoutId = setTimeout(\n monitor(() => complete({ hadActivity: false })),\n PAGE_ACTIVITY_VALIDATION_DELAY\n )\n const maxDurationTimeoutId =\n maxDuration !== undefined\n ? setTimeout(\n monitor(() => complete({ hadActivity: true, end: timeStampNow() })),\n maxDuration\n )\n : undefined\n\n const pageActivitySubscription = pageActivityObservable.subscribe(({ isBusy }) => {\n clearTimeout(validationTimeoutId)\n clearTimeout(pageActivityEndTimeoutId)\n const lastChangeTime = timeStampNow()\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(\n monitor(() => complete({ hadActivity: true, end: lastChangeTime })),\n PAGE_ACTIVITY_END_DELAY\n )\n }\n })\n\n const stop = () => {\n hasCompleted = true\n clearTimeout(validationTimeoutId)\n clearTimeout(pageActivityEndTimeoutId)\n clearTimeout(maxDurationTimeoutId)\n pageActivitySubscription.unsubscribe()\n }\n\n function complete(event: PageActivityEndEvent) {\n if (hasCompleted) {\n return\n }\n stop()\n pageActivityEndCallback(event)\n }\n return { stop }\n}\n\nexport function createPageActivityObservable(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration\n): Observable {\n const observable = new Observable(() => {\n const subscriptions: Subscription[] = []\n let firstRequestIndex: undefined | number\n let pendingRequestsCount = 0\n\n subscriptions.push(\n domMutationObservable.subscribe(notifyPageActivity),\n lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n if (\n entries.some(\n (entry) => entry.entryType === RumPerformanceEntryType.RESOURCE && !isExcludedUrl(configuration, entry.name)\n )\n ) {\n notifyPageActivity()\n }\n }),\n lifeCycle.subscribe(LifeCycleEventType.REQUEST_STARTED, (startEvent) => {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex\n }\n pendingRequestsCount += 1\n notifyPageActivity()\n }),\n lifeCycle.subscribe(LifeCycleEventType.REQUEST_COMPLETED, (request) => {\n if (\n isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex\n ) {\n return\n }\n pendingRequestsCount -= 1\n notifyPageActivity()\n })\n )\n\n const { stop: stopTrackingWindowOpen } = trackWindowOpen(notifyPageActivity)\n\n return () => {\n stopTrackingWindowOpen()\n subscriptions.forEach((s) => s.unsubscribe())\n }\n\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 })\n }\n })\n\n return observable\n}\n\nfunction isExcludedUrl(configuration: RumConfiguration, requestUrl: string): boolean {\n return matchList(configuration.excludedActivityUrls, requestUrl)\n}\n\nfunction trackWindowOpen(callback: () => void) {\n return instrumentMethodAndCallOriginal(window, 'open', { before: callback })\n}\n","import { safeTruncate, isIE, find } from '@datadog/browser-core'\n\n/**\n * Get the action name from the attribute 'data-dd-action-name' on the element or any of its parent.\n * It can also be retrieved from a user defined attribute.\n */\nexport const DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE = 'data-dd-action-name'\n\nexport function getActionNameFromElement(element: Element, userProgrammaticAttribute?: string): string {\n // Proceed to get the action name in two steps:\n // * first, get the name programmatically, explicitly defined by the user.\n // * then, use strategies that are known to return good results. Those strategies will be used on\n // the element and a few parents, but it's likely that they won't succeed at all.\n // * if no name is found this way, use strategies returning less accurate names as a fallback.\n // Those are much likely to succeed.\n return (\n getActionNameFromElementProgrammatically(element, DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE) ||\n (userProgrammaticAttribute && getActionNameFromElementProgrammatically(element, userProgrammaticAttribute)) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, priorityStrategies) ||\n getActionNameFromElementForStrategies(element, userProgrammaticAttribute, fallbackStrategies) ||\n ''\n )\n}\n\nfunction getActionNameFromElementProgrammatically(targetElement: Element, programmaticAttribute: string) {\n let elementWithAttribute\n // We don't use getActionNameFromElementForStrategies here, because we want to consider all parents,\n // without limit. It is up to the user to declare a relevant naming strategy.\n // If available, use element.closest() to match get the attribute from the element or any of its\n // parent. Else fallback to a more traditional implementation.\n if (supportsElementClosest()) {\n elementWithAttribute = targetElement.closest(`[${programmaticAttribute}]`)\n } else {\n let element: Element | null = targetElement\n while (element) {\n if (element.hasAttribute(programmaticAttribute)) {\n elementWithAttribute = element\n break\n }\n element = element.parentElement\n }\n }\n\n if (!elementWithAttribute) {\n return\n }\n const name = elementWithAttribute.getAttribute(programmaticAttribute)!\n return truncate(normalizeWhitespace(name.trim()))\n}\n\ntype NameStrategy = (\n element: Element | HTMLElement | HTMLInputElement | HTMLSelectElement,\n userProgrammaticAttribute: string | undefined\n) => string | undefined | null\n\nconst priorityStrategies: NameStrategy[] = [\n // associated LABEL text\n (element, userProgrammaticAttribute) => {\n // IE does not support element.labels, so we fallback to a CSS selector based on the element id\n // instead\n if (supportsLabelProperty()) {\n if ('labels' in element && element.labels && element.labels.length > 0) {\n return getTextualContent(element.labels[0], userProgrammaticAttribute)\n }\n } else if (element.id) {\n const label =\n element.ownerDocument &&\n find(element.ownerDocument.querySelectorAll('label'), (label) => label.htmlFor === element.id)\n return label && getTextualContent(label, userProgrammaticAttribute)\n }\n },\n // INPUT button (and associated) value\n (element) => {\n if (element.nodeName === 'INPUT') {\n const input = element as HTMLInputElement\n const type = input.getAttribute('type')\n if (type === 'button' || type === 'submit' || type === 'reset') {\n return input.value\n }\n }\n },\n // BUTTON, LABEL or button-like element text\n (element, userProgrammaticAttribute) => {\n if (element.nodeName === 'BUTTON' || element.nodeName === 'LABEL' || element.getAttribute('role') === 'button') {\n return getTextualContent(element, userProgrammaticAttribute)\n }\n },\n (element) => element.getAttribute('aria-label'),\n // associated element text designated by the aria-labelledby attribute\n (element, userProgrammaticAttribute) => {\n const labelledByAttribute = element.getAttribute('aria-labelledby')\n if (labelledByAttribute) {\n return labelledByAttribute\n .split(/\\s+/)\n .map((id) => getElementById(element, id))\n .filter((label): label is HTMLElement => Boolean(label))\n .map((element) => getTextualContent(element, userProgrammaticAttribute))\n .join(' ')\n }\n },\n (element) => element.getAttribute('alt'),\n (element) => element.getAttribute('name'),\n (element) => element.getAttribute('title'),\n (element) => element.getAttribute('placeholder'),\n // SELECT first OPTION text\n (element, userProgrammaticAttribute) => {\n if ('options' in element && element.options.length > 0) {\n return getTextualContent(element.options[0], userProgrammaticAttribute)\n }\n },\n]\n\nconst fallbackStrategies: NameStrategy[] = [\n (element, userProgrammaticAttribute) => getTextualContent(element, userProgrammaticAttribute),\n]\n\n/**\n * Iterates over the target element and its parent, using the strategies list to get an action name.\n * Each strategies are applied on each element, stopping as soon as a non-empty value is returned.\n */\nconst MAX_PARENTS_TO_CONSIDER = 10\nfunction getActionNameFromElementForStrategies(\n targetElement: Element,\n userProgrammaticAttribute: string | undefined,\n strategies: NameStrategy[]\n) {\n let element: Element | null = targetElement\n let recursionCounter = 0\n while (\n recursionCounter <= MAX_PARENTS_TO_CONSIDER &&\n element &&\n element.nodeName !== 'BODY' &&\n element.nodeName !== 'HTML' &&\n element.nodeName !== 'HEAD'\n ) {\n for (const strategy of strategies) {\n const name = strategy(element, userProgrammaticAttribute)\n if (typeof name === 'string') {\n const trimmedName = name.trim()\n if (trimmedName) {\n return truncate(normalizeWhitespace(trimmedName))\n }\n }\n }\n // Consider a FORM as a contextual limit to get the action name. This is experimental and may\n // be reconsidered in the future.\n if (element.nodeName === 'FORM') {\n break\n }\n element = element.parentElement\n recursionCounter += 1\n }\n}\n\nfunction normalizeWhitespace(s: string) {\n return s.replace(/\\s+/g, ' ')\n}\n\nfunction truncate(s: string) {\n return s.length > 100 ? `${safeTruncate(s, 100)} [...]` : s\n}\n\nfunction getElementById(refElement: Element, id: string) {\n // Use the element ownerDocument here, because tests are executed in an iframe, so\n // document.getElementById won't work.\n return refElement.ownerDocument ? refElement.ownerDocument.getElementById(id) : null\n}\n\nfunction getTextualContent(element: Element | HTMLElement, userProgrammaticAttribute: string | undefined) {\n if ((element as HTMLElement).isContentEditable) {\n return\n }\n\n if ('innerText' in element) {\n let text = element.innerText\n\n const removeTextFromElements = (query: string) => {\n const list = element.querySelectorAll(query)\n for (let index = 0; index < list.length; index += 1) {\n const element = list[index]\n if ('innerText' in element) {\n const textToReplace = element.innerText\n if (textToReplace && textToReplace.trim().length > 0) {\n text = text.replace(textToReplace, '')\n }\n }\n }\n }\n\n if (!supportsInnerTextScriptAndStyleRemoval()) {\n // remove the inner text of SCRIPT and STYLES from the result. This is a bit dirty, but should\n // be relatively fast and work in most cases.\n removeTextFromElements('script, style')\n }\n\n // remove the text of elements with programmatic attribute value\n removeTextFromElements(`[${DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE}]`)\n\n if (userProgrammaticAttribute) {\n removeTextFromElements(`[${userProgrammaticAttribute}]`)\n }\n\n return text\n }\n\n return element.textContent\n}\n\n/**\n * Returns true if element.innerText excludes the text from inline SCRIPT and STYLE element. This\n * should be the case everywhere except on Internet Explorer 10 and 11 (see [1])\n *\n * The innerText property relies on what is actually rendered to compute its output, so to check if\n * it actually excludes SCRIPT and STYLE content, a solution would be to create a style element, set\n * its content to '*', inject it in the document body, and check if the style element innerText\n * property returns '*'. Using a new `document` instance won't work as it is not rendered.\n *\n * This solution requires specific CSP rules (see [2]) to be set by the customer. We want to avoid\n * this, so instead we rely on browser detection. In case of false negative, the impact should be\n * low, since we rely on this result to remove the SCRIPT and STYLE innerText (which will be empty)\n * from a parent element innerText.\n *\n * [1]: https://web.archive.org/web/20210602165716/http://perfectionkills.com/the-poor-misunderstood-innerText/#diff-with-textContent\n * [2]: https://github.com/DataDog/browser-sdk/issues/1084\n */\nfunction supportsInnerTextScriptAndStyleRemoval() {\n return !isIE()\n}\n\n/**\n * Returns true if the browser supports the element.labels property. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nlet supportsLabelPropertyResult: boolean | undefined\nfunction supportsLabelProperty() {\n if (supportsLabelPropertyResult === undefined) {\n supportsLabelPropertyResult = 'labels' in HTMLInputElement.prototype\n }\n return supportsLabelPropertyResult\n}\n\n/**\n * Returns true if the browser supports the element.closest method. This should be the case\n * everywhere except on Internet Explorer.\n * Note: The result is computed lazily, because we don't want any DOM access when the SDK is\n * evaluated.\n */\nlet supportsElementClosestResult: boolean | undefined\nfunction supportsElementClosest() {\n if (supportsElementClosestResult === undefined) {\n supportsElementClosestResult = 'closest' in HTMLElement.prototype\n }\n return supportsElementClosestResult\n}\n","import { cssEscape } from '@datadog/browser-core'\nimport { DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE } from './action/getActionNameFromElement'\n\n/**\n * Stable attributes are attributes that are commonly used to identify parts of a UI (ex:\n * component). Those attribute values should not be generated randomly (hardcoded most of the time)\n * and stay the same across deploys. They are not necessarily unique across the document.\n */\nexport const STABLE_ATTRIBUTES = [\n DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE,\n // Common test attributes (list provided by google recorder)\n 'data-testid',\n 'data-test',\n 'data-qa',\n 'data-cy',\n 'data-test-id',\n 'data-qa-id',\n 'data-testing',\n // FullStory decorator attributes:\n 'data-component',\n 'data-element',\n 'data-source-file',\n]\n\ntype SelectorGetter = (element: Element, actionNameAttribute: string | undefined) => string | undefined\n\n// Selectors to use if they target a single element on the whole document. Those selectors are\n// considered as \"stable\" and uniquely identify an element regardless of the page state. If we find\n// one, we should consider the selector \"complete\" and stop iterating over ancestors.\nconst GLOBALLY_UNIQUE_SELECTOR_GETTERS: SelectorGetter[] = [getStableAttributeSelector, getIDSelector]\n\n// Selectors to use if they target a single element among an element descendants. Those selectors\n// are more brittle than \"globally unique\" selectors and should be combined with ancestor selectors\n// to improve specificity.\nconst UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS: SelectorGetter[] = [\n getStableAttributeSelector,\n getClassSelector,\n getTagNameSelector,\n]\n\nexport function getSelectorFromElement(targetElement: Element, actionNameAttribute: string | undefined) {\n let targetElementSelector = ''\n let element: Element | null = targetElement\n\n while (element && element.nodeName !== 'HTML') {\n const globallyUniqueSelector = findSelector(\n element,\n GLOBALLY_UNIQUE_SELECTOR_GETTERS,\n isSelectorUniqueGlobally,\n actionNameAttribute,\n targetElementSelector\n )\n if (globallyUniqueSelector) {\n return globallyUniqueSelector\n }\n\n const uniqueSelectorAmongChildren = findSelector(\n element,\n UNIQUE_AMONG_CHILDREN_SELECTOR_GETTERS,\n isSelectorUniqueAmongSiblings,\n actionNameAttribute,\n targetElementSelector\n )\n targetElementSelector =\n uniqueSelectorAmongChildren || combineSelector(getPositionSelector(element), targetElementSelector)\n\n element = element.parentElement\n }\n\n return targetElementSelector\n}\n\nfunction isGeneratedValue(value: string) {\n // To compute the \"URL path group\", the backend replaces every URL path parts as a question mark\n // if it thinks the part is an identifier. The condition it uses is to checks whether a digit is\n // present.\n //\n // Here, we use the same strategy: if a the value contains a digit, we consider it generated. This\n // strategy might be a bit naive and fail in some cases, but there are many fallbacks to generate\n // CSS selectors so it should be fine most of the time. We might want to allow customers to\n // provide their own `isGeneratedValue` at some point.\n return /[0-9]/.test(value)\n}\n\nfunction getIDSelector(element: Element): string | undefined {\n if (element.id && !isGeneratedValue(element.id)) {\n return `#${cssEscape(element.id)}`\n }\n}\n\nfunction getClassSelector(element: Element): string | undefined {\n if (element.tagName === 'BODY') {\n return\n }\n if (element.classList.length > 0) {\n for (let i = 0; i < element.classList.length; i += 1) {\n const className = element.classList[i]\n if (isGeneratedValue(className)) {\n continue\n }\n\n return `${cssEscape(element.tagName)}.${cssEscape(className)}`\n }\n }\n}\n\nfunction getTagNameSelector(element: Element): string {\n return cssEscape(element.tagName)\n}\n\nfunction getStableAttributeSelector(element: Element, actionNameAttribute: string | undefined): string | undefined {\n if (actionNameAttribute) {\n const selector = getAttributeSelector(actionNameAttribute)\n if (selector) {\n return selector\n }\n }\n\n for (const attributeName of STABLE_ATTRIBUTES) {\n const selector = getAttributeSelector(attributeName)\n if (selector) {\n return selector\n }\n }\n\n function getAttributeSelector(attributeName: string) {\n if (element.hasAttribute(attributeName)) {\n return `${cssEscape(element.tagName)}[${attributeName}=\"${cssEscape(element.getAttribute(attributeName)!)}\"]`\n }\n }\n}\n\nfunction getPositionSelector(element: Element): string {\n let sibling = element.parentElement!.firstElementChild\n let elementIndex = 1\n\n while (sibling && sibling !== element) {\n if (sibling.tagName === element.tagName) {\n elementIndex += 1\n }\n sibling = sibling.nextElementSibling\n }\n\n return `${cssEscape(element.tagName)}:nth-of-type(${elementIndex})`\n}\n\nfunction findSelector(\n element: Element,\n selectorGetters: SelectorGetter[],\n predicate: (element: Element, selector: string) => boolean,\n actionNameAttribute: string | undefined,\n childSelector?: string\n) {\n for (const selectorGetter of selectorGetters) {\n const elementSelector = selectorGetter(element, actionNameAttribute)\n if (!elementSelector) {\n continue\n }\n const fullSelector = combineSelector(elementSelector, childSelector)\n if (predicate(element, fullSelector)) {\n return fullSelector\n }\n }\n}\n\n/**\n * Check whether the selector is unique among the whole document.\n */\nfunction isSelectorUniqueGlobally(element: Element, selector: string): boolean {\n return element.ownerDocument.querySelectorAll(selector).length === 1\n}\n\n/**\n * Check whether the selector is unique among the element siblings. In other words, it returns true\n * if \"ELEMENT_PARENT > SELECTOR\" returns a single element.\n *\n * The result will be less accurate on browsers that don't support :scope (i. e. IE): it will check\n * for any element matching the selector contained in the parent (in other words,\n * \"ELEMENT_PARENT SELECTOR\" returns a single element), regardless of whether the selector is a\n * direct descendent of the element parent. This should not impact results too much: if it\n * inaccurately returns false, we'll just fall back to another strategy.\n */\nfunction isSelectorUniqueAmongSiblings(element: Element, selector: string): boolean {\n return (\n element.parentElement!.querySelectorAll(supportScopeSelector() ? combineSelector(':scope', selector) : selector)\n .length === 1\n )\n}\n\nfunction combineSelector(parent: string, child: string | undefined): string {\n return child ? `${parent}>${child}` : parent\n}\n\nlet supportScopeSelectorCache: boolean | undefined\nexport function supportScopeSelector() {\n if (supportScopeSelectorCache === undefined) {\n try {\n document.querySelector(':scope')\n supportScopeSelectorCache = true\n } catch {\n supportScopeSelectorCache = false\n }\n }\n return supportScopeSelectorCache\n}\n","import type { TimeoutId } from '@datadog/browser-core'\nimport { ONE_SECOND, clearTimeout, setTimeout } from '@datadog/browser-core'\nimport type { Click } from './trackClickActions'\n\nexport interface ClickChain {\n tryAppend: (click: Click) => boolean\n stop: () => void\n}\n\nexport const MAX_DURATION_BETWEEN_CLICKS = ONE_SECOND\nexport const MAX_DISTANCE_BETWEEN_CLICKS = 100\n\nconst enum ClickChainStatus {\n WaitingForMoreClicks,\n WaitingForClicksToStop,\n Finalized,\n}\n\nexport function createClickChain(firstClick: Click, onFinalize: (clicks: Click[]) => void): ClickChain {\n const bufferedClicks: Click[] = []\n let status = ClickChainStatus.WaitingForMoreClicks\n let maxDurationBetweenClicksTimeoutId: TimeoutId | undefined\n appendClick(firstClick)\n\n function appendClick(click: Click) {\n click.stopObservable.subscribe(tryFinalize)\n bufferedClicks.push(click)\n clearTimeout(maxDurationBetweenClicksTimeoutId)\n maxDurationBetweenClicksTimeoutId = setTimeout(dontAcceptMoreClick, MAX_DURATION_BETWEEN_CLICKS)\n }\n\n function tryFinalize() {\n if (status === ClickChainStatus.WaitingForClicksToStop && bufferedClicks.every((click) => click.isStopped())) {\n status = ClickChainStatus.Finalized\n onFinalize(bufferedClicks)\n }\n }\n\n function dontAcceptMoreClick() {\n clearTimeout(maxDurationBetweenClicksTimeoutId)\n if (status === ClickChainStatus.WaitingForMoreClicks) {\n status = ClickChainStatus.WaitingForClicksToStop\n tryFinalize()\n }\n }\n\n return {\n tryAppend: (click) => {\n if (status !== ClickChainStatus.WaitingForMoreClicks) {\n return false\n }\n\n if (\n bufferedClicks.length > 0 &&\n !areEventsSimilar(bufferedClicks[bufferedClicks.length - 1].event, click.event)\n ) {\n dontAcceptMoreClick()\n return false\n }\n\n appendClick(click)\n return true\n },\n stop: () => {\n dontAcceptMoreClick()\n },\n }\n}\n\n/**\n * Checks whether two events are similar by comparing their target, position and timestamp\n */\nfunction areEventsSimilar(first: MouseEvent, second: MouseEvent) {\n return (\n first.target === second.target &&\n mouseEventDistance(first, second) <= MAX_DISTANCE_BETWEEN_CLICKS &&\n first.timeStamp - second.timeStamp <= MAX_DURATION_BETWEEN_CLICKS\n )\n}\n\nfunction mouseEventDistance(origin: MouseEvent, other: MouseEvent) {\n return Math.sqrt(Math.pow(origin.clientX - other.clientX, 2) + Math.pow(origin.clientY - other.clientY, 2))\n}\n","import { addEventListener, DOM_EVENT } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\n\nexport type MouseEventOnElement = PointerEvent & { target: Element }\n\nexport interface UserActivity {\n selection: boolean\n input: boolean\n}\nexport interface ActionEventsHooks {\n onPointerDown: (event: MouseEventOnElement) => ClickContext | undefined\n onPointerUp: (context: ClickContext, event: MouseEventOnElement, getUserActivity: () => UserActivity) => void\n}\n\nexport function listenActionEvents(\n configuration: RumConfiguration,\n { onPointerDown, onPointerUp }: ActionEventsHooks\n) {\n let selectionEmptyAtPointerDown: boolean\n let userActivity: UserActivity = {\n selection: false,\n input: false,\n }\n let clickContext: ClickContext | undefined\n\n const listeners = [\n addEventListener(\n configuration,\n window,\n DOM_EVENT.POINTER_DOWN,\n (event: PointerEvent) => {\n if (isValidPointerEvent(event)) {\n selectionEmptyAtPointerDown = isSelectionEmpty()\n userActivity = {\n selection: false,\n input: false,\n }\n clickContext = onPointerDown(event)\n }\n },\n { capture: true }\n ),\n\n addEventListener(\n configuration,\n window,\n DOM_EVENT.SELECTION_CHANGE,\n () => {\n if (!selectionEmptyAtPointerDown || !isSelectionEmpty()) {\n userActivity.selection = true\n }\n },\n { capture: true }\n ),\n\n addEventListener(\n configuration,\n window,\n DOM_EVENT.POINTER_UP,\n (event: PointerEvent) => {\n if (isValidPointerEvent(event) && clickContext) {\n // Use a scoped variable to make sure the value is not changed by other clicks\n const localUserActivity = userActivity\n onPointerUp(clickContext, event, () => localUserActivity)\n clickContext = undefined\n }\n },\n { capture: true }\n ),\n\n addEventListener(\n configuration,\n window,\n DOM_EVENT.INPUT,\n () => {\n userActivity.input = true\n },\n { capture: true }\n ),\n ]\n\n return {\n stop: () => {\n listeners.forEach((listener) => listener.stop())\n },\n }\n}\n\nfunction isSelectionEmpty(): boolean {\n const selection = window.getSelection()\n return !selection || selection.isCollapsed\n}\n\nfunction isValidPointerEvent(event: PointerEvent): event is MouseEventOnElement {\n return (\n event.target instanceof Element &&\n // Only consider 'primary' pointer events for now. Multi-touch support could be implemented in\n // the future.\n event.isPrimary !== false\n )\n}\n","import { elementMatches, ONE_SECOND } from '@datadog/browser-core'\nimport { FrustrationType } from '../../rawRumEvent.types'\nimport type { Click } from './trackClickActions'\n\nconst MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE = 3\n\nexport function computeFrustration(clicks: Click[], rageClick: Click) {\n if (isRage(clicks)) {\n rageClick.addFrustration(FrustrationType.RAGE_CLICK)\n if (clicks.some(isDead)) {\n rageClick.addFrustration(FrustrationType.DEAD_CLICK)\n }\n if (rageClick.hasError) {\n rageClick.addFrustration(FrustrationType.ERROR_CLICK)\n }\n return { isRage: true }\n }\n\n const hasSelectionChanged = clicks.some((click) => click.getUserActivity().selection)\n clicks.forEach((click) => {\n if (click.hasError) {\n click.addFrustration(FrustrationType.ERROR_CLICK)\n }\n if (\n isDead(click) &&\n // Avoid considering clicks part of a double-click or triple-click selections as dead clicks\n !hasSelectionChanged\n ) {\n click.addFrustration(FrustrationType.DEAD_CLICK)\n }\n })\n return { isRage: false }\n}\n\nexport function isRage(clicks: Click[]) {\n if (clicks.some((click) => click.getUserActivity().selection)) {\n return false\n }\n for (let i = 0; i < clicks.length - (MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1); i += 1) {\n if (\n clicks[i + MIN_CLICKS_PER_SECOND_TO_CONSIDER_RAGE - 1].event.timeStamp - clicks[i].event.timeStamp <=\n ONE_SECOND\n ) {\n return true\n }\n }\n return false\n}\n\nconst DEAD_CLICK_EXCLUDE_SELECTOR =\n // inputs that don't trigger a meaningful event like \"input\" when clicked, including textual\n // inputs (using a negative selector is shorter here)\n 'input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]):not([type=\"range\"]),' +\n 'textarea,' +\n 'select,' +\n // contenteditable and their descendants don't always trigger meaningful changes when manipulated\n '[contenteditable],' +\n '[contenteditable] *,' +\n // canvas, as there is no good way to detect activity occurring on them\n 'canvas,' +\n // links that are interactive (have an href attribute) or any of their descendants, as they can\n // open a new tab or navigate to a hash without triggering a meaningful event\n 'a[href],' +\n 'a[href] *'\n\nexport function isDead(click: Click) {\n if (click.hasPageActivity || click.getUserActivity().input) {\n return false\n }\n return !elementMatches(click.event.target, DEAD_CLICK_EXCLUDE_SELECTOR)\n}\n","import type { Duration, ClocksState, RelativeTime, TimeStamp } from '@datadog/browser-core'\nimport {\n includes,\n timeStampNow,\n Observable,\n assign,\n getRelativeTime,\n ONE_MINUTE,\n ValueHistory,\n generateUUID,\n clocksNow,\n ONE_SECOND,\n elapsed,\n} from '@datadog/browser-core'\nimport type { FrustrationType } from '../../rawRumEvent.types'\nimport { ActionType } from '../../rawRumEvent.types'\nimport type { RumConfiguration } from '../configuration'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport { trackEventCounts } from '../trackEventCounts'\nimport { PAGE_ACTIVITY_VALIDATION_DELAY, waitPageActivityEnd } from '../waitPageActivityEnd'\nimport { getSelectorFromElement } from '../getSelectorFromElement'\nimport type { ClickChain } from './clickChain'\nimport { createClickChain } from './clickChain'\nimport { getActionNameFromElement } from './getActionNameFromElement'\nimport type { MouseEventOnElement, UserActivity } from './listenActionEvents'\nimport { listenActionEvents } from './listenActionEvents'\nimport { computeFrustration } from './computeFrustration'\n\ninterface ActionCounts {\n errorCount: number\n longTaskCount: number\n resourceCount: number\n}\n\nexport interface ClickAction {\n type: ActionType.CLICK\n id: string\n name: string\n target?: {\n selector: string\n selector_with_stable_attributes?: string\n width: number\n height: number\n }\n position?: { x: number; y: number }\n startClocks: ClocksState\n duration?: Duration\n counts: ActionCounts\n event: MouseEventOnElement\n frustrationTypes: FrustrationType[]\n events: Event[]\n}\n\nexport interface ActionContexts {\n findActionId: (startTime?: RelativeTime) => string | string[] | undefined\n}\n\ntype ClickActionIdHistory = ValueHistory\n\n// Maximum duration for click actions\nexport const CLICK_ACTION_MAX_DURATION = 10 * ONE_SECOND\nexport const ACTION_CONTEXT_TIME_OUT_DELAY = 5 * ONE_MINUTE // arbitrary\n\nexport function trackClickActions(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration\n) {\n const history: ClickActionIdHistory = new ValueHistory(ACTION_CONTEXT_TIME_OUT_DELAY)\n const stopObservable = new Observable()\n let currentClickChain: ClickChain | undefined\n\n lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, () => {\n history.reset()\n })\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, stopClickChain)\n\n const { stop: stopActionEventsListener } = listenActionEvents<{\n clickActionBase: ClickActionBase\n hadActivityOnPointerDown: () => boolean\n }>(configuration, {\n onPointerDown: (pointerDownEvent) =>\n processPointerDown(configuration, lifeCycle, domMutationObservable, pointerDownEvent),\n onPointerUp: ({ clickActionBase, hadActivityOnPointerDown }, startEvent, getUserActivity) =>\n startClickAction(\n configuration,\n lifeCycle,\n domMutationObservable,\n history,\n stopObservable,\n appendClickToClickChain,\n clickActionBase,\n startEvent,\n getUserActivity,\n hadActivityOnPointerDown\n ),\n })\n\n const actionContexts: ActionContexts = {\n findActionId: (startTime?: RelativeTime) => history.findAll(startTime),\n }\n\n return {\n stop: () => {\n stopClickChain()\n stopObservable.notify()\n stopActionEventsListener()\n },\n actionContexts,\n }\n\n function appendClickToClickChain(click: Click) {\n if (!currentClickChain || !currentClickChain.tryAppend(click)) {\n const rageClick = click.clone()\n currentClickChain = createClickChain(click, (clicks) => {\n finalizeClicks(clicks, rageClick)\n })\n }\n }\n\n function stopClickChain() {\n if (currentClickChain) {\n currentClickChain.stop()\n }\n }\n}\n\nfunction processPointerDown(\n configuration: RumConfiguration,\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n pointerDownEvent: MouseEventOnElement\n) {\n const clickActionBase = computeClickActionBase(pointerDownEvent, configuration.actionNameAttribute)\n\n let hadActivityOnPointerDown = false\n\n waitPageActivityEnd(\n lifeCycle,\n domMutationObservable,\n configuration,\n (pageActivityEndEvent) => {\n hadActivityOnPointerDown = pageActivityEndEvent.hadActivity\n },\n // We don't care about the activity duration, we just want to know whether an activity did happen\n // within the \"validation delay\" or not. Limit the duration so the callback is called sooner.\n PAGE_ACTIVITY_VALIDATION_DELAY\n )\n\n return { clickActionBase, hadActivityOnPointerDown: () => hadActivityOnPointerDown }\n}\n\nfunction startClickAction(\n configuration: RumConfiguration,\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n history: ClickActionIdHistory,\n stopObservable: Observable,\n appendClickToClickChain: (click: Click) => void,\n clickActionBase: ClickActionBase,\n startEvent: MouseEventOnElement,\n getUserActivity: () => UserActivity,\n hadActivityOnPointerDown: () => boolean\n) {\n const click = newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent)\n appendClickToClickChain(click)\n\n const { stop: stopWaitPageActivityEnd } = waitPageActivityEnd(\n lifeCycle,\n domMutationObservable,\n configuration,\n (pageActivityEndEvent) => {\n if (pageActivityEndEvent.hadActivity && pageActivityEndEvent.end < click.startClocks.timeStamp) {\n // If the clock is looking weird, just discard the click\n click.discard()\n } else {\n if (pageActivityEndEvent.hadActivity) {\n click.stop(pageActivityEndEvent.end)\n } else if (hadActivityOnPointerDown()) {\n click.stop(\n // using the click start as activity end, so the click will have some activity but its\n // duration will be 0 (as the activity started before the click start)\n click.startClocks.timeStamp\n )\n } else {\n click.stop()\n }\n }\n },\n CLICK_ACTION_MAX_DURATION\n )\n\n const viewEndedSubscription = lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, ({ endClocks }) => {\n click.stop(endClocks.timeStamp)\n })\n\n const stopSubscription = stopObservable.subscribe(() => {\n click.stop()\n })\n\n click.stopObservable.subscribe(() => {\n viewEndedSubscription.unsubscribe()\n stopWaitPageActivityEnd()\n stopSubscription.unsubscribe()\n })\n}\n\ntype ClickActionBase = Pick\n\nfunction computeClickActionBase(event: MouseEventOnElement, actionNameAttribute?: string): ClickActionBase {\n const rect = event.target.getBoundingClientRect()\n return {\n type: ActionType.CLICK,\n target: {\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n selector: getSelectorFromElement(event.target, actionNameAttribute),\n },\n position: {\n // Use clientX and Y because for SVG element offsetX and Y are relatives to the element\n x: Math.round(event.clientX - rect.left),\n y: Math.round(event.clientY - rect.top),\n },\n name: getActionNameFromElement(event.target, actionNameAttribute),\n }\n}\n\nconst enum ClickStatus {\n // Initial state, the click is still ongoing.\n ONGOING,\n // The click is no more ongoing but still needs to be validated or discarded.\n STOPPED,\n // Final state, the click has been stopped and validated or discarded.\n FINALIZED,\n}\n\nexport type Click = ReturnType\n\nfunction newClick(\n lifeCycle: LifeCycle,\n history: ClickActionIdHistory,\n getUserActivity: () => UserActivity,\n clickActionBase: ClickActionBase,\n startEvent: MouseEventOnElement\n) {\n const id = generateUUID()\n const startClocks = clocksNow()\n const historyEntry = history.add(id, startClocks.relative)\n const eventCountsSubscription = trackEventCounts({\n lifeCycle,\n isChildEvent: (event) =>\n event.action !== undefined &&\n (Array.isArray(event.action.id) ? includes(event.action.id, id) : event.action.id === id),\n })\n let status = ClickStatus.ONGOING\n let activityEndTime: undefined | TimeStamp\n const frustrationTypes: FrustrationType[] = []\n const stopObservable = new Observable()\n\n function stop(newActivityEndTime?: TimeStamp) {\n if (status !== ClickStatus.ONGOING) {\n return\n }\n activityEndTime = newActivityEndTime\n status = ClickStatus.STOPPED\n if (activityEndTime) {\n historyEntry.close(getRelativeTime(activityEndTime))\n } else {\n historyEntry.remove()\n }\n eventCountsSubscription.stop()\n stopObservable.notify()\n }\n\n return {\n event: startEvent,\n stop,\n stopObservable,\n\n get hasError() {\n return eventCountsSubscription.eventCounts.errorCount > 0\n },\n get hasPageActivity() {\n return activityEndTime !== undefined\n },\n getUserActivity,\n addFrustration: (frustrationType: FrustrationType) => {\n frustrationTypes.push(frustrationType)\n },\n startClocks,\n\n isStopped: () => status === ClickStatus.STOPPED || status === ClickStatus.FINALIZED,\n\n clone: () => newClick(lifeCycle, history, getUserActivity, clickActionBase, startEvent),\n\n validate: (domEvents?: Event[]) => {\n stop()\n if (status !== ClickStatus.STOPPED) {\n return\n }\n\n const { resourceCount, errorCount, longTaskCount } = eventCountsSubscription.eventCounts\n const clickAction: ClickAction = assign(\n {\n type: ActionType.CLICK as const,\n duration: activityEndTime && elapsed(startClocks.timeStamp, activityEndTime),\n startClocks,\n id,\n frustrationTypes,\n counts: {\n resourceCount,\n errorCount,\n longTaskCount,\n },\n events: domEvents ?? [startEvent],\n event: startEvent,\n },\n clickActionBase\n )\n lifeCycle.notify(LifeCycleEventType.AUTO_ACTION_COMPLETED, clickAction)\n status = ClickStatus.FINALIZED\n },\n\n discard: () => {\n stop()\n status = ClickStatus.FINALIZED\n },\n }\n}\n\nexport function finalizeClicks(clicks: Click[], rageClick: Click) {\n const { isRage } = computeFrustration(clicks, rageClick)\n if (isRage) {\n clicks.forEach((click) => click.discard())\n rageClick.stop(timeStampNow())\n rageClick.validate(clicks.map((click) => click.event))\n } else {\n rageClick.discard()\n clicks.forEach((click) => click.validate())\n }\n}\n","import type { ClocksState, Context, Observable } from '@datadog/browser-core'\nimport { noop, assign, combine, toServerDuration, generateUUID } from '@datadog/browser-core'\n\nimport type { RawRumActionEvent } from '../../rawRumEvent.types'\nimport { ActionType, RumEventType } from '../../rawRumEvent.types'\nimport type { LifeCycle, RawRumEventCollectedData } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { RumConfiguration } from '../configuration'\nimport type { CommonContext } from '../contexts/commonContext'\nimport type { PageStateHistory } from '../contexts/pageStateHistory'\nimport type { ActionContexts, ClickAction } from './trackClickActions'\nimport { trackClickActions } from './trackClickActions'\n\nexport type { ActionContexts }\n\nexport interface CustomAction {\n type: ActionType.CUSTOM\n name: string\n startClocks: ClocksState\n context?: Context\n}\n\nexport type AutoAction = ClickAction\n\nexport function startActionCollection(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n pageStateHistory: PageStateHistory\n) {\n lifeCycle.subscribe(LifeCycleEventType.AUTO_ACTION_COMPLETED, (action) =>\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, processAction(action, pageStateHistory))\n )\n\n let actionContexts: ActionContexts = { findActionId: noop as () => undefined }\n if (configuration.trackUserInteractions) {\n actionContexts = trackClickActions(lifeCycle, domMutationObservable, configuration).actionContexts\n }\n\n return {\n addAction: (action: CustomAction, savedCommonContext?: CommonContext) => {\n lifeCycle.notify(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n assign(\n {\n savedCommonContext,\n },\n processAction(action, pageStateHistory)\n )\n )\n },\n actionContexts,\n }\n}\n\nfunction processAction(\n action: AutoAction | CustomAction,\n pageStateHistory: PageStateHistory\n): RawRumEventCollectedData {\n const autoActionProperties = isAutoAction(action)\n ? {\n action: {\n id: action.id,\n loading_time: toServerDuration(action.duration),\n frustration: {\n type: action.frustrationTypes,\n },\n error: {\n count: action.counts.errorCount,\n },\n long_task: {\n count: action.counts.longTaskCount,\n },\n resource: {\n count: action.counts.resourceCount,\n },\n },\n _dd: {\n action: {\n target: action.target,\n position: action.position,\n },\n },\n }\n : undefined\n const customerContext = !isAutoAction(action) ? action.context : undefined\n const actionEvent: RawRumActionEvent = combine(\n {\n action: {\n id: generateUUID(),\n target: {\n name: action.name,\n },\n type: action.type,\n },\n date: action.startClocks.timeStamp,\n type: RumEventType.ACTION as const,\n view: { in_foreground: pageStateHistory.isInActivePageStateAt(action.startClocks.relative) },\n },\n autoActionProperties\n )\n\n return {\n customerContext,\n rawRumEvent: actionEvent,\n startTime: action.startClocks.relative,\n domainContext: isAutoAction(action) ? { events: action.events } : {},\n }\n}\n\nfunction isAutoAction(action: AutoAction | CustomAction): action is AutoAction {\n return action.type !== ActionType.CUSTOM\n}\n","import { instrumentMethodAndCallOriginal } from '../../tools/instrumentMethod'\nimport type { Observable } from '../../tools/observable'\nimport { clocksNow } from '../../tools/utils/timeUtils'\nimport type { StackTrace } from './computeStackTrace'\nimport { computeStackTrace, computeStackTraceFromOnErrorMessage } from './computeStackTrace'\nimport { computeRawError } from './error'\nimport type { RawError } from './error.types'\nimport { ErrorHandling, ErrorSource, NonErrorPrefix } from './error.types'\n\nexport type UnhandledErrorCallback = (stackTrace: StackTrace, originalError?: any) => any\n\nexport function trackRuntimeError(errorObservable: Observable) {\n const handleRuntimeError = (stackTrace: StackTrace, originalError?: any) => {\n const test = computeRawError({\n stackTrace,\n originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: NonErrorPrefix.UNCAUGHT,\n source: ErrorSource.SOURCE,\n handling: ErrorHandling.UNHANDLED,\n })\n errorObservable.notify(test)\n }\n const { stop: stopInstrumentingOnError } = instrumentOnError(handleRuntimeError)\n const { stop: stopInstrumentingOnUnhandledRejection } = instrumentUnhandledRejection(handleRuntimeError)\n\n return {\n stop: () => {\n stopInstrumentingOnError()\n stopInstrumentingOnUnhandledRejection()\n },\n }\n}\n\nexport function instrumentOnError(callback: UnhandledErrorCallback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before(this: any, messageObj: unknown, url?: string, line?: number, column?: number, errorObj?: unknown) {\n let stackTrace\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj)\n } else {\n stackTrace = computeStackTraceFromOnErrorMessage(messageObj, url, line, column)\n }\n callback(stackTrace, errorObj ?? messageObj)\n },\n })\n}\n\nexport function instrumentUnhandledRejection(callback: UnhandledErrorCallback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before(e: PromiseRejectionEvent) {\n const reason = e.reason || 'Empty reason'\n const stack = computeStackTrace(reason)\n callback(stack, reason)\n },\n })\n}\n","import { createHandlingStack, formatErrorMessage, toStackTraceString, tryToGetFingerprint } from '../error/error'\nimport { mergeObservables, Observable } from '../../tools/observable'\nimport { ConsoleApiName, globalConsole } from '../../tools/display'\nimport { callMonitored } from '../../tools/monitor'\nimport { sanitize } from '../../tools/serialisation/sanitize'\nimport { find } from '../../tools/utils/polyfills'\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify'\nimport { computeStackTrace } from '../error/computeStackTrace'\n\nexport interface ConsoleLog {\n message: string\n api: ConsoleApiName\n stack?: string\n handlingStack?: string\n fingerprint?: string\n}\n\nlet consoleObservablesByApi: { [k in ConsoleApiName]?: Observable } = {}\n\nexport function initConsoleObservable(apis: ConsoleApiName[]) {\n const consoleObservables = apis.map((api) => {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api)\n }\n return consoleObservablesByApi[api]!\n })\n\n return mergeObservables(...consoleObservables)\n}\n\nexport function resetConsoleObservable() {\n consoleObservablesByApi = {}\n}\n\nfunction createConsoleObservable(api: ConsoleApiName) {\n const observable = new Observable(() => {\n const originalConsoleApi = globalConsole[api]\n\n globalConsole[api] = (...params: unknown[]) => {\n originalConsoleApi.apply(console, params)\n const handlingStack = createHandlingStack()\n\n callMonitored(() => {\n observable.notify(buildConsoleLog(params, api, handlingStack))\n })\n }\n\n return () => {\n globalConsole[api] = originalConsoleApi\n }\n })\n\n return observable\n}\n\nfunction buildConsoleLog(params: unknown[], api: ConsoleApiName, handlingStack: string): ConsoleLog {\n const message = params.map((param) => formatConsoleParameters(param)).join(' ')\n let stack\n let fingerprint\n\n if (api === ConsoleApiName.error) {\n const firstErrorParam = find(params, (param: unknown): param is Error => param instanceof Error)\n stack = firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined\n fingerprint = tryToGetFingerprint(firstErrorParam)\n }\n\n return {\n api,\n message,\n stack,\n handlingStack,\n fingerprint,\n }\n}\n\nfunction formatConsoleParameters(param: unknown) {\n if (typeof param === 'string') {\n return sanitize(param)\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param))\n }\n return jsonStringify(sanitize(param), undefined, 2)\n}\n","import type { Observable, RawError } from '@datadog/browser-core'\nimport { clocksNow, ErrorHandling, initConsoleObservable, ErrorSource, ConsoleApiName } from '@datadog/browser-core'\n\nexport function trackConsoleError(errorObservable: Observable) {\n const subscription = initConsoleObservable([ConsoleApiName.error]).subscribe((consoleError) =>\n errorObservable.notify({\n startClocks: clocksNow(),\n message: consoleError.message,\n stack: consoleError.stack,\n fingerprint: consoleError.fingerprint,\n source: ErrorSource.CONSOLE,\n handling: ErrorHandling.HANDLED,\n handlingStack: consoleError.handlingStack,\n })\n )\n\n return {\n stop: () => {\n subscription.unsubscribe()\n },\n }\n}\n","import { toStackTraceString } from '../error/error'\nimport { monitor } from '../../tools/monitor'\nimport { mergeObservables, Observable } from '../../tools/observable'\nimport { addEventListener, DOM_EVENT } from '../../browser/addEventListener'\nimport { includes } from '../../tools/utils/polyfills'\nimport { safeTruncate } from '../../tools/utils/stringUtils'\nimport type { Configuration } from '../configuration'\nimport type { ReportType, InterventionReport, DeprecationReport } from './browser.types'\n\nexport const RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n} as const\n\nexport type RawReportType = (typeof RawReportType)[keyof typeof RawReportType]\n\nexport interface RawReport {\n type: RawReportType\n subtype: string\n message: string\n stack?: string\n}\n\nexport function initReportObservable(configuration: Configuration, apis: RawReportType[]) {\n const observables: Array> = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n const reportTypes = apis.filter((api: RawReportType): api is ReportType => api !== RawReportType.cspViolation)\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n\n return mergeObservables(...observables)\n}\n\nfunction createReportObservable(reportTypes: ReportType[]) {\n const observable = new Observable(() => {\n if (!window.ReportingObserver) {\n return\n }\n\n const handleReports = monitor((reports: Array, _: ReportingObserver) =>\n reports.forEach((report) => {\n observable.notify(buildRawReportFromReport(report))\n })\n ) as ReportingObserverCallback\n\n const observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n })\n\n observer.observe()\n return () => {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration: Configuration) {\n const observable = new Observable(() => {\n const { stop } = addEventListener(configuration, document, DOM_EVENT.SECURITY_POLICY_VIOLATION, (event) => {\n observable.notify(buildRawReportFromCspViolation(event))\n })\n\n return stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport({ type, body }: DeprecationReport | InterventionReport): RawReport {\n return {\n type,\n subtype: body.id,\n message: `${type}: ${body.message}`,\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n }\n}\n\nfunction buildRawReportFromCspViolation(event: SecurityPolicyViolationEvent): RawReport {\n const type = RawReportType.cspViolation\n const message = `'${event.blockedURI}' blocked by '${event.effectiveDirective}' directive`\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: `${type}: ${message}`,\n stack: buildStack(\n event.effectiveDirective,\n event.originalPolicy\n ? `${message} of the policy \"${safeTruncate(event.originalPolicy, 100, '...')}\"`\n : 'no policy',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n ),\n }\n}\n\nfunction buildStack(\n name: string,\n message: string,\n sourceFile: string | null,\n lineNumber: number | null,\n columnNumber: number | null\n): string | undefined {\n return sourceFile\n ? toStackTraceString({\n name,\n message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber ?? undefined,\n column: columnNumber ?? undefined,\n },\n ],\n })\n : undefined\n}\n","import type { Observable, RawError } from '@datadog/browser-core'\nimport { clocksNow, ErrorHandling, ErrorSource, initReportObservable, RawReportType } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\n\nexport function trackReportError(configuration: RumConfiguration, errorObservable: Observable) {\n const subscription = initReportObservable(configuration, [\n RawReportType.cspViolation,\n RawReportType.intervention,\n ]).subscribe((reportError) =>\n errorObservable.notify({\n startClocks: clocksNow(),\n message: reportError.message,\n stack: reportError.stack,\n type: reportError.subtype,\n source: ErrorSource.REPORT,\n handling: ErrorHandling.UNHANDLED,\n })\n )\n\n return {\n stop: () => {\n subscription.unsubscribe()\n },\n }\n}\n","import type { Context, RawError, ClocksState } from '@datadog/browser-core'\nimport {\n isEmptyObject,\n assign,\n ErrorSource,\n generateUUID,\n computeRawError,\n ErrorHandling,\n computeStackTrace,\n Observable,\n trackRuntimeError,\n NonErrorPrefix,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\nimport type { RawRumErrorEvent } from '../../rawRumEvent.types'\nimport { RumEventType } from '../../rawRumEvent.types'\nimport type { LifeCycle, RawRumEventCollectedData } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { FeatureFlagContexts } from '../contexts/featureFlagContext'\nimport type { CommonContext } from '../contexts/commonContext'\nimport type { PageStateHistory } from '../contexts/pageStateHistory'\nimport { trackConsoleError } from './trackConsoleError'\nimport { trackReportError } from './trackReportError'\n\nexport interface ProvidedError {\n startClocks: ClocksState\n error: unknown\n context?: Context\n handlingStack: string\n}\n\nexport function startErrorCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n pageStateHistory: PageStateHistory,\n featureFlagContexts: FeatureFlagContexts\n) {\n const errorObservable = new Observable()\n\n trackConsoleError(errorObservable)\n trackRuntimeError(errorObservable)\n trackReportError(configuration, errorObservable)\n\n errorObservable.subscribe((error) => lifeCycle.notify(LifeCycleEventType.RAW_ERROR_COLLECTED, { error }))\n\n return doStartErrorCollection(lifeCycle, pageStateHistory, featureFlagContexts)\n}\n\nexport function doStartErrorCollection(\n lifeCycle: LifeCycle,\n pageStateHistory: PageStateHistory,\n featureFlagContexts: FeatureFlagContexts\n) {\n lifeCycle.subscribe(LifeCycleEventType.RAW_ERROR_COLLECTED, ({ error, customerContext, savedCommonContext }) => {\n lifeCycle.notify(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n assign(\n {\n customerContext,\n savedCommonContext,\n },\n processError(error, pageStateHistory, featureFlagContexts)\n )\n )\n })\n\n return {\n addError: (\n { error, handlingStack, startClocks, context: customerContext }: ProvidedError,\n savedCommonContext?: CommonContext\n ) => {\n const stackTrace = error instanceof Error ? computeStackTrace(error) : undefined\n const rawError = computeRawError({\n stackTrace,\n originalError: error,\n handlingStack,\n startClocks,\n nonErrorPrefix: NonErrorPrefix.PROVIDED,\n source: ErrorSource.CUSTOM,\n handling: ErrorHandling.HANDLED,\n })\n\n lifeCycle.notify(LifeCycleEventType.RAW_ERROR_COLLECTED, {\n customerContext,\n savedCommonContext,\n error: rawError,\n })\n },\n }\n}\n\nfunction processError(\n error: RawError,\n pageStateHistory: PageStateHistory,\n featureFlagContexts: FeatureFlagContexts\n): RawRumEventCollectedData {\n const rawRumEvent: RawRumErrorEvent = {\n date: error.startClocks.timeStamp,\n error: {\n id: generateUUID(),\n message: error.message,\n source: error.source,\n stack: error.stack,\n handling_stack: error.handlingStack,\n type: error.type,\n handling: error.handling,\n causes: error.causes,\n source_type: 'browser',\n fingerprint: error.fingerprint,\n },\n type: RumEventType.ERROR as const,\n view: { in_foreground: pageStateHistory.isInActivePageStateAt(error.startClocks.relative) },\n }\n\n const featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(error.startClocks.relative)\n if (featureFlagContext && !isEmptyObject(featureFlagContext)) {\n rawRumEvent.feature_flags = featureFlagContext\n }\n\n return {\n rawRumEvent,\n startTime: error.startClocks.relative,\n domainContext: {\n error: error.originalError,\n },\n }\n}\n","import { toServerDuration, relativeToClocks, generateUUID } from '@datadog/browser-core'\nimport type { RawRumLongTaskEvent } from '../../rawRumEvent.types'\nimport { RumEventType } from '../../rawRumEvent.types'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { RumSessionManager } from '../rumSessionManager'\nimport { RumPerformanceEntryType } from '../../browser/performanceCollection'\nimport type { RumConfiguration } from '../configuration'\n\nexport function startLongTaskCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager\n) {\n lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n for (const entry of entries) {\n if (entry.entryType !== RumPerformanceEntryType.LONG_TASK) {\n break\n }\n const session = sessionManager.findTrackedSession(entry.startTime)\n if (!session || !configuration.trackLongTasks) {\n break\n }\n const startClocks = relativeToClocks(entry.startTime)\n const rawRumEvent: RawRumLongTaskEvent = {\n date: startClocks.timeStamp,\n long_task: {\n id: generateUUID(),\n duration: toServerDuration(entry.duration),\n },\n type: RumEventType.LONG_TASK,\n _dd: {\n discarded: false,\n },\n }\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {\n rawRumEvent,\n startTime: startClocks.relative,\n domainContext: { performanceEntry: entry },\n })\n }\n })\n}\n","import type { Duration, RelativeTime } from '@datadog/browser-core'\nimport { addDuration } from '@datadog/browser-core'\nimport type { RumPerformanceResourceTiming } from '../../browser/performanceCollection'\nimport type { RequestCompleteEvent } from '../requestCollection'\nimport { toValidEntry } from './resourceUtils'\n\ninterface Timing {\n startTime: RelativeTime\n duration: Duration\n}\n\n/**\n * Look for corresponding timing in resource timing buffer\n *\n * Observations:\n * - Timing (start, end) are nested inside the request (start, end)\n * - Some timing can be not exactly nested, being off by < 1 ms\n *\n * Strategy:\n * - from valid nested entries (with 1 ms error margin)\n * - if a single timing match, return the timing\n * - otherwise we can't decide, return undefined\n */\nexport function matchRequestTiming(request: RequestCompleteEvent) {\n if (!performance || !('getEntriesByName' in performance)) {\n return\n }\n const sameNameEntries = performance.getEntriesByName(request.url, 'resource')\n\n if (!sameNameEntries.length || !('toJSON' in sameNameEntries[0])) {\n return\n }\n\n const candidates = sameNameEntries\n .map((entry) => entry.toJSON() as RumPerformanceResourceTiming)\n .filter(toValidEntry)\n .filter((entry) =>\n isBetween(\n entry,\n request.startClocks.relative,\n endTime({ startTime: request.startClocks.relative, duration: request.duration })\n )\n )\n\n if (candidates.length === 1) {\n return candidates[0]\n }\n\n return\n}\n\nfunction endTime(timing: Timing) {\n return addDuration(timing.startTime, timing.duration)\n}\n\nfunction isBetween(timing: Timing, start: RelativeTime, end: RelativeTime) {\n const errorMargin = 1 as Duration\n return timing.startTime >= start - errorMargin && endTime(timing) <= addDuration(end, errorMargin)\n}\n","import {\n combine,\n generateUUID,\n RequestType,\n ResourceType,\n toServerDuration,\n relativeToClocks,\n assign,\n isNumber,\n isExperimentalFeatureEnabled,\n ExperimentalFeature,\n} from '@datadog/browser-core'\nimport type { ClocksState, Duration } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\nimport type { RumPerformanceResourceTiming } from '../../browser/performanceCollection'\nimport { RumPerformanceEntryType } from '../../browser/performanceCollection'\nimport type { RumXhrResourceEventDomainContext, RumFetchResourceEventDomainContext } from '../../domainContext.types'\nimport type { RawRumResourceEvent } from '../../rawRumEvent.types'\nimport { RumEventType } from '../../rawRumEvent.types'\nimport type { LifeCycle, RawRumEventCollectedData } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { RequestCompleteEvent } from '../requestCollection'\nimport type { RumSessionManager } from '../rumSessionManager'\nimport type { PageStateHistory } from '../contexts/pageStateHistory'\nimport { PageState } from '../contexts/pageStateHistory'\nimport { matchRequestTiming } from './matchRequestTiming'\nimport {\n computePerformanceResourceDetails,\n computePerformanceResourceDuration,\n computeResourceKind,\n computeSize,\n isRequestKind,\n} from './resourceUtils'\n\nexport function startResourceCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n pageStateHistory: PageStateHistory\n) {\n lifeCycle.subscribe(LifeCycleEventType.REQUEST_COMPLETED, (request: RequestCompleteEvent) => {\n const rawEvent = processRequest(request, configuration, sessionManager, pageStateHistory)\n if (rawEvent) {\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, rawEvent)\n }\n })\n\n lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n for (const entry of entries) {\n if (entry.entryType === RumPerformanceEntryType.RESOURCE && !isRequestKind(entry)) {\n const rawEvent = processResourceEntry(entry, configuration, sessionManager, pageStateHistory)\n if (rawEvent) {\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, rawEvent)\n }\n }\n }\n })\n}\n\nfunction processRequest(\n request: RequestCompleteEvent,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n pageStateHistory: PageStateHistory\n): RawRumEventCollectedData | undefined {\n const matchingTiming = matchRequestTiming(request)\n const startClocks = matchingTiming ? relativeToClocks(matchingTiming.startTime) : request.startClocks\n const shouldIndex = shouldIndexResource(configuration, sessionManager, startClocks)\n const tracingInfo = computeRequestTracingInfo(request, configuration)\n if (!shouldIndex && !tracingInfo) {\n return\n }\n\n const type = request.type === RequestType.XHR ? ResourceType.XHR : ResourceType.FETCH\n\n const correspondingTimingOverrides = matchingTiming ? computePerformanceEntryMetrics(matchingTiming) : undefined\n\n const duration = computeRequestDuration(pageStateHistory, startClocks, request.duration)\n const pageStateInfo = computePageStateInfo(\n pageStateHistory,\n startClocks,\n matchingTiming?.duration ?? request.duration\n )\n\n const resourceEvent = combine(\n {\n date: startClocks.timeStamp,\n resource: {\n id: generateUUID(),\n type,\n duration,\n method: request.method,\n status_code: request.status,\n url: request.url,\n },\n type: RumEventType.RESOURCE as const,\n _dd: {\n discarded: !shouldIndex,\n },\n },\n tracingInfo,\n correspondingTimingOverrides,\n pageStateInfo\n )\n\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: matchingTiming,\n xhr: request.xhr,\n response: request.response,\n requestInput: request.input,\n requestInit: request.init,\n error: request.error,\n } as RumFetchResourceEventDomainContext | RumXhrResourceEventDomainContext,\n }\n}\n\nfunction processResourceEntry(\n entry: RumPerformanceResourceTiming,\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n pageStateHistory: PageStateHistory\n): RawRumEventCollectedData | undefined {\n const startClocks = relativeToClocks(entry.startTime)\n const shouldIndex = shouldIndexResource(configuration, sessionManager, startClocks)\n const tracingInfo = computeEntryTracingInfo(entry, configuration)\n if (!shouldIndex && !tracingInfo) {\n return\n }\n\n const type = computeResourceKind(entry)\n const entryMetrics = computePerformanceEntryMetrics(entry)\n\n const pageStateInfo = computePageStateInfo(pageStateHistory, startClocks, entry.duration)\n\n const resourceEvent = combine(\n {\n date: startClocks.timeStamp,\n resource: {\n id: generateUUID(),\n type,\n url: entry.name,\n },\n type: RumEventType.RESOURCE as const,\n _dd: {\n discarded: !shouldIndex,\n },\n },\n tracingInfo,\n entryMetrics,\n pageStateInfo\n )\n return {\n startTime: startClocks.relative,\n rawRumEvent: resourceEvent,\n domainContext: {\n performanceEntry: entry,\n },\n }\n}\n\nfunction shouldIndexResource(\n configuration: RumConfiguration,\n sessionManager: RumSessionManager,\n resourceStart: ClocksState\n) {\n return configuration.trackResources && sessionManager.findTrackedSession(resourceStart.relative)\n}\n\nfunction computePerformanceEntryMetrics(timing: RumPerformanceResourceTiming) {\n return {\n resource: assign(\n {\n duration: computePerformanceResourceDuration(timing),\n size: computeSize(timing),\n },\n computePerformanceResourceDetails(timing)\n ),\n }\n}\n\nfunction computeRequestTracingInfo(request: RequestCompleteEvent, configuration: RumConfiguration) {\n const hasBeenTraced = request.traceSampled && request.traceId && request.spanId\n if (!hasBeenTraced) {\n return undefined\n }\n return {\n _dd: {\n span_id: request.spanId!.toDecimalString(),\n trace_id: request.traceId!.toDecimalString(),\n rule_psr: getRulePsr(configuration),\n },\n }\n}\n\nfunction computeEntryTracingInfo(entry: RumPerformanceResourceTiming, configuration: RumConfiguration) {\n const hasBeenTraced = entry.traceId\n if (!hasBeenTraced) {\n return undefined\n }\n return {\n _dd: {\n trace_id: entry.traceId,\n rule_psr: getRulePsr(configuration),\n },\n }\n}\n\n/**\n * @returns number between 0 and 1 which represents trace sample rate\n */\nfunction getRulePsr(configuration: RumConfiguration) {\n return isNumber(configuration.traceSampleRate) ? configuration.traceSampleRate / 100 : undefined\n}\n\nfunction computePageStateInfo(pageStateHistory: PageStateHistory, startClocks: ClocksState, duration: Duration) {\n if (!isExperimentalFeatureEnabled(ExperimentalFeature.RESOURCE_PAGE_STATES)) {\n return\n }\n\n return {\n _dd: {\n page_states: pageStateHistory.findAll(startClocks.relative, duration),\n page_was_discarded: String((document as any).wasDiscarded),\n },\n }\n}\n\nfunction computeRequestDuration(pageStateHistory: PageStateHistory, startClocks: ClocksState, duration: Duration) {\n const requestCrossedFrozenState = pageStateHistory\n .findAll(startClocks.relative, duration)\n ?.some((pageState) => pageState.state === PageState.FROZEN)\n\n return !requestCrossedFrozenState ? toServerDuration(duration) : undefined\n}\n","import type { LifeCycle } from '../lifeCycle'\nimport { trackEventCounts } from '../trackEventCounts'\n\nexport function trackViewEventCounts(lifeCycle: LifeCycle, viewId: string, onChange: () => void) {\n const { stop, eventCounts } = trackEventCounts({\n lifeCycle,\n isChildEvent: (event) => event.view.id === viewId,\n onChange,\n })\n\n return {\n stop,\n eventCounts,\n }\n}\n","import type { RelativeTime } from '@datadog/browser-core'\nimport { ONE_MINUTE, find } from '@datadog/browser-core'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { LifeCycleEventType } from '../../lifeCycle'\nimport type { RumPerformancePaintTiming } from '../../../browser/performanceCollection'\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection'\nimport type { FirstHidden } from './trackFirstHidden'\n\n// Discard FCP timings above a certain delay to avoid incorrect data\n// It happens in some cases like sleep mode or some browser implementations\nexport const FCP_MAXIMUM_DELAY = 10 * ONE_MINUTE\n\nexport function trackFirstContentfulPaint(\n lifeCycle: LifeCycle,\n firstHidden: FirstHidden,\n callback: (fcpTiming: RelativeTime) => void\n) {\n const { unsubscribe: unsubscribeLifeCycle } = lifeCycle.subscribe(\n LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED,\n (entries) => {\n const fcpEntry = find(\n entries,\n (entry): entry is RumPerformancePaintTiming =>\n entry.entryType === RumPerformanceEntryType.PAINT &&\n entry.name === 'first-contentful-paint' &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < FCP_MAXIMUM_DELAY\n )\n if (fcpEntry) {\n callback(fcpEntry.startTime)\n }\n }\n )\n return {\n stop: unsubscribeLifeCycle,\n }\n}\n","import type { Duration, RelativeTime } from '@datadog/browser-core'\nimport { elapsed, find } from '@datadog/browser-core'\nimport { isElementNode } from '../../../browser/htmlDomUtils'\nimport type { RumConfiguration } from '../../configuration'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { LifeCycleEventType } from '../../lifeCycle'\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection'\nimport type { RumFirstInputTiming } from '../../../browser/performanceCollection'\nimport { getSelectorFromElement } from '../../getSelectorFromElement'\nimport type { FirstHidden } from './trackFirstHidden'\n\nexport interface FirstInput {\n delay: Duration\n time: RelativeTime\n targetSelector?: string\n}\n\n/**\n * Track the first input occurring during the initial View to return:\n * - First Input Delay\n * - First Input Time\n * Callback is called at most one time.\n * Documentation: https://web.dev/fid/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getFID.ts\n */\nexport function trackFirstInput(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n firstHidden: FirstHidden,\n callback: (firstInput: FirstInput) => void\n) {\n const { unsubscribe: unsubscribeLifeCycle } = lifeCycle.subscribe(\n LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED,\n (entries) => {\n const firstInputEntry = find(\n entries,\n (entry): entry is RumFirstInputTiming =>\n entry.entryType === RumPerformanceEntryType.FIRST_INPUT && entry.startTime < firstHidden.timeStamp\n )\n if (firstInputEntry) {\n const firstInputDelay = elapsed(firstInputEntry.startTime, firstInputEntry.processingStart)\n let firstInputTargetSelector\n\n if (firstInputEntry.target && isElementNode(firstInputEntry.target)) {\n firstInputTargetSelector = getSelectorFromElement(firstInputEntry.target, configuration.actionNameAttribute)\n }\n\n callback({\n // Ensure firstInputDelay to be positive, see\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1185815\n delay: firstInputDelay >= 0 ? firstInputDelay : (0 as Duration),\n time: firstInputEntry.startTime,\n targetSelector: firstInputTargetSelector,\n })\n }\n }\n )\n\n return {\n stop: unsubscribeLifeCycle,\n }\n}\n","import type { Duration } from '@datadog/browser-core'\nimport { relativeNow } from '@datadog/browser-core'\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { LifeCycleEventType } from '../../lifeCycle'\n\nexport interface NavigationTimings {\n domComplete: Duration\n domContentLoaded: Duration\n domInteractive: Duration\n loadEvent: Duration\n firstByte: Duration | undefined\n}\n\nexport function trackNavigationTimings(lifeCycle: LifeCycle, callback: (timings: NavigationTimings) => void) {\n const { unsubscribe: stop } = lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n for (const entry of entries) {\n if (entry.entryType === RumPerformanceEntryType.NAVIGATION) {\n callback({\n domComplete: entry.domComplete,\n domContentLoaded: entry.domContentLoadedEventEnd,\n domInteractive: entry.domInteractive,\n loadEvent: entry.loadEventEnd,\n // In some cases the value reported is negative or is larger\n // than the current page time. Ignore these cases:\n // https://github.com/GoogleChrome/web-vitals/issues/137\n // https://github.com/GoogleChrome/web-vitals/issues/162\n firstByte: entry.responseStart >= 0 && entry.responseStart <= relativeNow() ? entry.responseStart : undefined,\n })\n }\n }\n })\n\n return { stop }\n}\n","import type { RelativeTime } from '@datadog/browser-core'\nimport { DOM_EVENT, ONE_MINUTE, addEventListeners, findLast } from '@datadog/browser-core'\nimport { LifeCycleEventType } from '../../lifeCycle'\nimport type { LifeCycle } from '../../lifeCycle'\nimport type { RumConfiguration } from '../../configuration'\nimport { RumPerformanceEntryType } from '../../../browser/performanceCollection'\nimport type { RumLargestContentfulPaintTiming } from '../../../browser/performanceCollection'\nimport { getSelectorFromElement } from '../../getSelectorFromElement'\nimport type { FirstHidden } from './trackFirstHidden'\n\n// Discard LCP timings above a certain delay to avoid incorrect data\n// It happens in some cases like sleep mode or some browser implementations\nexport const LCP_MAXIMUM_DELAY = 10 * ONE_MINUTE\n\nexport interface LargestContentfulPaint {\n value: RelativeTime\n targetSelector?: string\n}\n/**\n * Track the largest contentful paint (LCP) occurring during the initial View. This can yield\n * multiple values, only the most recent one should be used.\n * Documentation: https://web.dev/lcp/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/onLCP.ts\n */\nexport function trackLargestContentfulPaint(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n firstHidden: FirstHidden,\n eventTarget: Window,\n callback: (largestContentfulPaint: LargestContentfulPaint) => void\n) {\n // Ignore entries that come after the first user interaction. According to the documentation, the\n // browser should not send largest-contentful-paint entries after a user interact with the page,\n // but the web-vitals reference implementation uses this as a safeguard.\n let firstInteractionTimestamp = Infinity\n const { stop: stopEventListener } = addEventListeners(\n configuration,\n eventTarget,\n [DOM_EVENT.POINTER_DOWN, DOM_EVENT.KEY_DOWN],\n (event) => {\n firstInteractionTimestamp = event.timeStamp\n },\n { capture: true, once: true }\n )\n\n const { unsubscribe: unsubscribeLifeCycle } = lifeCycle.subscribe(\n LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED,\n (entries) => {\n const lcpEntry = findLast(\n entries,\n (entry): entry is RumLargestContentfulPaintTiming =>\n entry.entryType === RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT &&\n entry.startTime < firstInteractionTimestamp &&\n entry.startTime < firstHidden.timeStamp &&\n entry.startTime < LCP_MAXIMUM_DELAY\n )\n\n if (lcpEntry) {\n let lcpTargetSelector\n if (lcpEntry.element) {\n lcpTargetSelector = getSelectorFromElement(lcpEntry.element, configuration.actionNameAttribute)\n }\n\n callback({\n value: lcpEntry.startTime,\n targetSelector: lcpTargetSelector,\n })\n }\n }\n )\n\n return {\n stop: () => {\n stopEventListener()\n unsubscribeLifeCycle()\n },\n }\n}\n","import type { RelativeTime } from '@datadog/browser-core'\nimport { addEventListeners, DOM_EVENT } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../../configuration'\n\nexport type FirstHidden = ReturnType\n\nexport function trackFirstHidden(configuration: RumConfiguration, eventTarget: Window = window) {\n let timeStamp: RelativeTime\n let stopListeners: () => void | undefined\n\n if (document.visibilityState === 'hidden') {\n timeStamp = 0 as RelativeTime\n } else {\n timeStamp = Infinity as RelativeTime\n ;({ stop: stopListeners } = addEventListeners(\n configuration,\n eventTarget,\n [DOM_EVENT.PAGE_HIDE, DOM_EVENT.VISIBILITY_CHANGE],\n (event) => {\n if (event.type === DOM_EVENT.PAGE_HIDE || document.visibilityState === 'hidden') {\n timeStamp = event.timeStamp as RelativeTime\n stopListeners()\n }\n },\n { capture: true }\n ))\n }\n\n return {\n get timeStamp() {\n return timeStamp\n },\n stop() {\n stopListeners?.()\n },\n }\n}\n","import type { Duration } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../../configuration'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { trackFirstContentfulPaint } from './trackFirstContentfulPaint'\nimport type { FirstInput } from './trackFirstInput'\nimport { trackFirstInput } from './trackFirstInput'\nimport type { NavigationTimings } from './trackNavigationTimings'\nimport { trackNavigationTimings } from './trackNavigationTimings'\nimport type { LargestContentfulPaint } from './trackLargestContentfulPaint'\nimport { trackLargestContentfulPaint } from './trackLargestContentfulPaint'\nimport { trackFirstHidden } from './trackFirstHidden'\n\nexport interface InitialViewMetrics {\n firstContentfulPaint?: Duration\n navigationTimings?: NavigationTimings\n largestContentfulPaint?: LargestContentfulPaint\n firstInput?: FirstInput\n}\n\nexport function trackInitialViewMetrics(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n setLoadEvent: (loadEnd: Duration) => void,\n scheduleViewUpdate: () => void\n) {\n const initialViewMetrics: InitialViewMetrics = {}\n\n const { stop: stopNavigationTracking } = trackNavigationTimings(lifeCycle, (navigationTimings) => {\n setLoadEvent(navigationTimings.loadEvent)\n initialViewMetrics.navigationTimings = navigationTimings\n scheduleViewUpdate()\n })\n\n const firstHidden = trackFirstHidden(configuration)\n const { stop: stopFCPTracking } = trackFirstContentfulPaint(lifeCycle, firstHidden, (firstContentfulPaint) => {\n initialViewMetrics.firstContentfulPaint = firstContentfulPaint\n scheduleViewUpdate()\n })\n\n const { stop: stopLCPTracking } = trackLargestContentfulPaint(\n lifeCycle,\n configuration,\n firstHidden,\n window,\n (largestContentfulPaint) => {\n initialViewMetrics.largestContentfulPaint = largestContentfulPaint\n scheduleViewUpdate()\n }\n )\n\n const { stop: stopFIDTracking } = trackFirstInput(lifeCycle, configuration, firstHidden, (firstInput) => {\n initialViewMetrics.firstInput = firstInput\n scheduleViewUpdate()\n })\n\n function stop() {\n stopNavigationTracking()\n stopFCPTracking()\n stopLCPTracking()\n stopFIDTracking()\n firstHidden.stop()\n }\n\n return {\n stop,\n initialViewMetrics,\n }\n}\n","import { round, find, ONE_SECOND, noop } from '@datadog/browser-core'\nimport type { RelativeTime } from '@datadog/browser-core'\nimport { isElementNode } from '../../../browser/htmlDomUtils'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { LifeCycleEventType } from '../../lifeCycle'\nimport type { RumLayoutShiftTiming } from '../../../browser/performanceCollection'\nimport { supportPerformanceTimingEvent, RumPerformanceEntryType } from '../../../browser/performanceCollection'\nimport { getSelectorFromElement } from '../../getSelectorFromElement'\nimport type { RumConfiguration } from '../../configuration'\n\nexport interface CumulativeLayoutShift {\n value: number\n targetSelector?: string\n}\n\n/**\n * Track the cumulative layout shifts (CLS).\n * Layout shifts are grouped into session windows.\n * The minimum gap between session windows is 1 second.\n * The maximum duration of a session window is 5 second.\n * The session window layout shift value is the sum of layout shifts inside it.\n * The CLS value is the max of session windows values.\n *\n * This yields a new value whenever the CLS value is updated (a higher session window value is computed).\n *\n * See isLayoutShiftSupported to check for browser support.\n *\n * Documentation:\n * https://web.dev/cls/\n * https://web.dev/evolving-cls/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/master/src/getCLS.ts\n */\nexport function trackCumulativeLayoutShift(\n configuration: RumConfiguration,\n lifeCycle: LifeCycle,\n callback: (cumulativeLayoutShift: CumulativeLayoutShift) => void\n) {\n if (!isLayoutShiftSupported()) {\n return {\n stop: noop,\n }\n }\n\n let maxClsValue = 0\n\n // if no layout shift happen the value should be reported as 0\n callback({\n value: 0,\n })\n\n const window = slidingSessionWindow()\n const { unsubscribe: stop } = lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n for (const entry of entries) {\n if (entry.entryType === RumPerformanceEntryType.LAYOUT_SHIFT && !entry.hadRecentInput) {\n window.update(entry)\n\n if (window.value() > maxClsValue) {\n maxClsValue = window.value()\n const cls = round(maxClsValue, 4)\n const clsTarget = window.largestLayoutShiftTarget()\n let cslTargetSelector\n\n if (\n clsTarget &&\n // Check if the CLS target have been removed from the DOM between the time we collect the target reference and when we compute the selector\n clsTarget.isConnected\n ) {\n cslTargetSelector = getSelectorFromElement(clsTarget, configuration.actionNameAttribute)\n }\n\n callback({\n value: cls,\n targetSelector: cslTargetSelector,\n })\n }\n }\n }\n })\n\n return {\n stop,\n }\n}\n\nfunction slidingSessionWindow() {\n let value = 0\n let startTime: RelativeTime\n let endTime: RelativeTime\n\n let largestLayoutShift = 0\n let largestLayoutShiftTarget: HTMLElement | undefined\n let largestLayoutShiftTime: RelativeTime\n return {\n update: (entry: RumLayoutShiftTiming) => {\n const shouldCreateNewWindow =\n startTime === undefined ||\n entry.startTime - endTime >= ONE_SECOND ||\n entry.startTime - startTime >= 5 * ONE_SECOND\n\n if (shouldCreateNewWindow) {\n startTime = endTime = entry.startTime\n value = entry.value\n largestLayoutShift = 0\n largestLayoutShiftTarget = undefined\n } else {\n value += entry.value\n endTime = entry.startTime\n }\n\n if (entry.value > largestLayoutShift) {\n largestLayoutShift = entry.value\n largestLayoutShiftTime = entry.startTime\n if (entry.sources?.length) {\n largestLayoutShiftTarget = find(\n entry.sources,\n (s): s is { node: HTMLElement } => !!s.node && isElementNode(s.node)\n )?.node\n } else {\n largestLayoutShiftTarget = undefined\n }\n }\n },\n value: () => value,\n largestLayoutShiftTarget: () => largestLayoutShiftTarget,\n largestLayoutShiftTime: () => largestLayoutShiftTime,\n }\n}\n\n/**\n * Check whether `layout-shift` is supported by the browser.\n */\nexport function isLayoutShiftSupported() {\n return supportPerformanceTimingEvent(RumPerformanceEntryType.LAYOUT_SHIFT)\n}\n","/**\n * performance.interactionCount polyfill\n *\n * The interactionCount is an integer which counts the total number of distinct user interactions,\n * for which there was a unique interactionId.\n *\n * The interactionCount polyfill is an estimate based on a convention specific to Chrome. Cf: https://github.com/GoogleChrome/web-vitals/pull/213\n * This is currently not an issue as the polyfill is only used for INP which is currently only supported on Chrome.\n * Hopefully when/if other browsers will support INP, they will also implement performance.interactionCount at the same time, so we won't need that polyfill.\n *\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/main/src/lib/polyfills/interactionCountPolyfill.ts\n */\n\nimport { monitor } from '@datadog/browser-core'\nimport type {\n BrowserWindow,\n RumPerformanceEventTiming,\n RumPerformanceObserver,\n} from '../../../browser/performanceCollection'\n\nlet observer: RumPerformanceObserver | undefined\n\nlet interactionCountEstimate = 0\nlet minKnownInteractionId = Infinity\nlet maxKnownInteractionId = 0\n\nexport function initInteractionCountPolyfill() {\n if ('interactionCount' in performance || observer) {\n return\n }\n\n observer = new (window as BrowserWindow).PerformanceObserver(\n monitor((entries: PerformanceObserverEntryList) => {\n entries.getEntries().forEach((e) => {\n const entry = e as unknown as RumPerformanceEventTiming\n\n if (entry.interactionId) {\n minKnownInteractionId = Math.min(minKnownInteractionId, entry.interactionId)\n maxKnownInteractionId = Math.max(maxKnownInteractionId, entry.interactionId)\n\n interactionCountEstimate = (maxKnownInteractionId - minKnownInteractionId) / 7 + 1\n }\n })\n })\n )\n\n observer.observe({ type: 'event', buffered: true, durationThreshold: 0 })\n}\n\n/**\n * Returns the `interactionCount` value using the native API (if available)\n * or the polyfill estimate in this module.\n */\nexport const getInteractionCount = () =>\n observer ? interactionCountEstimate : (window as BrowserWindow).performance.interactionCount! || 0\n","import { noop, ONE_MINUTE } from '@datadog/browser-core'\nimport type { Duration, RelativeTime } from '@datadog/browser-core'\nimport { RumPerformanceEntryType, supportPerformanceTimingEvent } from '../../../browser/performanceCollection'\nimport type { RumFirstInputTiming, RumPerformanceEventTiming } from '../../../browser/performanceCollection'\nimport { LifeCycleEventType } from '../../lifeCycle'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { ViewLoadingType } from '../../../rawRumEvent.types'\nimport { getSelectorFromElement } from '../../getSelectorFromElement'\nimport { isElementNode } from '../../../browser/htmlDomUtils'\nimport type { RumConfiguration } from '../../configuration'\nimport { getInteractionCount, initInteractionCountPolyfill } from './interactionCountPolyfill'\n\n// Arbitrary value to prevent unnecessary memory usage on views with lots of interactions.\nconst MAX_INTERACTION_ENTRIES = 10\n// Arbitrary value to cap INP outliers\nexport const MAX_INP_VALUE = (1 * ONE_MINUTE) as Duration\n\nexport interface InteractionToNextPaint {\n value: Duration\n targetSelector?: string\n}\n/**\n * Track the interaction to next paint (INP).\n * To avoid outliers, return the p98 worst interaction of the view.\n * Documentation: https://web.dev/inp/\n * Reference implementation: https://github.com/GoogleChrome/web-vitals/blob/main/src/onINP.ts\n */\nexport function trackInteractionToNextPaint(\n configuration: RumConfiguration,\n viewStart: RelativeTime,\n viewLoadingType: ViewLoadingType,\n lifeCycle: LifeCycle\n) {\n if (!isInteractionToNextPaintSupported()) {\n return {\n getInteractionToNextPaint: () => undefined,\n setViewEnd: noop,\n stop: noop,\n }\n }\n\n const { getViewInteractionCount, stopViewInteractionCount } = trackViewInteractionCount(viewLoadingType)\n\n let viewEnd = Infinity as RelativeTime\n\n const longestInteractions = trackLongestInteractions(getViewInteractionCount)\n let interactionToNextPaint = -1 as Duration\n let interactionToNextPaintTargetSelector: string | undefined\n\n const { unsubscribe: stop } = lifeCycle.subscribe(LifeCycleEventType.PERFORMANCE_ENTRIES_COLLECTED, (entries) => {\n for (const entry of entries) {\n if (\n (entry.entryType === RumPerformanceEntryType.EVENT ||\n entry.entryType === RumPerformanceEntryType.FIRST_INPUT) &&\n entry.interactionId &&\n // Check the entry start time is inside the view bounds because some view interactions can be reported after the view end (if long duration).\n entry.startTime >= viewStart &&\n entry.startTime <= viewEnd\n ) {\n longestInteractions.process(entry)\n }\n }\n\n const newInteraction = longestInteractions.estimateP98Interaction()\n if (newInteraction) {\n interactionToNextPaint = newInteraction.duration\n\n if (newInteraction.target && isElementNode(newInteraction.target)) {\n interactionToNextPaintTargetSelector = getSelectorFromElement(\n newInteraction.target,\n configuration.actionNameAttribute\n )\n } else {\n interactionToNextPaintTargetSelector = undefined\n }\n }\n })\n\n return {\n getInteractionToNextPaint: (): InteractionToNextPaint | undefined => {\n // If no INP duration where captured because of the performanceObserver 40ms threshold\n // but the view interaction count > 0 then report 0\n if (interactionToNextPaint >= 0) {\n return {\n value: Math.min(interactionToNextPaint, MAX_INP_VALUE) as Duration,\n targetSelector: interactionToNextPaintTargetSelector,\n }\n } else if (getViewInteractionCount()) {\n return {\n value: 0 as Duration,\n }\n }\n },\n setViewEnd: (viewEndTime: RelativeTime) => {\n viewEnd = viewEndTime\n stopViewInteractionCount()\n },\n stop,\n }\n}\n\nfunction trackLongestInteractions(getViewInteractionCount: () => number) {\n const longestInteractions: Array = []\n\n function sortAndTrimLongestInteractions() {\n longestInteractions.sort((a, b) => b.duration - a.duration).splice(MAX_INTERACTION_ENTRIES)\n }\n\n return {\n /**\n * Process the performance entry:\n * - if its duration is long enough, add the performance entry to the list of worst interactions\n * - if an entry with the same interaction id exists and its duration is lower than the new one, then replace it in the list of worst interactions\n */\n process(entry: RumPerformanceEventTiming | RumFirstInputTiming) {\n const interactionIndex = longestInteractions.findIndex(\n (interaction) => entry.interactionId === interaction.interactionId\n )\n\n const minLongestInteraction = longestInteractions[longestInteractions.length - 1]\n\n if (interactionIndex !== -1) {\n if (entry.duration > longestInteractions[interactionIndex].duration) {\n longestInteractions[interactionIndex] = entry\n sortAndTrimLongestInteractions()\n }\n } else if (\n longestInteractions.length < MAX_INTERACTION_ENTRIES ||\n entry.duration > minLongestInteraction.duration\n ) {\n longestInteractions.push(entry)\n sortAndTrimLongestInteractions()\n }\n },\n /**\n * Compute the p98 longest interaction.\n * For better performance the computation is based on 10 longest interactions and the interaction count of the current view.\n */\n estimateP98Interaction(): RumPerformanceEventTiming | RumFirstInputTiming | undefined {\n const interactionIndex = Math.min(longestInteractions.length - 1, Math.floor(getViewInteractionCount() / 50))\n return longestInteractions[interactionIndex]\n },\n }\n}\n\nexport function trackViewInteractionCount(viewLoadingType: ViewLoadingType) {\n initInteractionCountPolyfill()\n const previousInteractionCount = viewLoadingType === ViewLoadingType.INITIAL_LOAD ? 0 : getInteractionCount()\n let state: { stopped: false } | { stopped: true; interactionCount: number } = { stopped: false }\n\n function computeViewInteractionCount() {\n return getInteractionCount()! - previousInteractionCount\n }\n\n return {\n getViewInteractionCount: () => {\n if (state.stopped) {\n return state.interactionCount\n }\n\n return computeViewInteractionCount()\n },\n stopViewInteractionCount: () => {\n state = { stopped: true, interactionCount: computeViewInteractionCount() }\n },\n }\n}\n\nexport function isInteractionToNextPaintSupported() {\n return (\n supportPerformanceTimingEvent(RumPerformanceEntryType.EVENT) &&\n window.PerformanceEventTiming &&\n 'interactionId' in PerformanceEventTiming.prototype\n )\n}\n","import type { ClocksState, Duration, Observable } from '@datadog/browser-core'\nimport { elapsed } from '@datadog/browser-core'\nimport { waitPageActivityEnd } from '../../waitPageActivityEnd'\nimport type { RumConfiguration } from '../../configuration'\nimport type { LifeCycle } from '../../lifeCycle'\nimport { ViewLoadingType } from '../../../rawRumEvent.types'\n\nexport function trackLoadingTime(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n loadType: ViewLoadingType,\n viewStart: ClocksState,\n callback: (loadingTime: Duration) => void\n) {\n let isWaitingForLoadEvent = loadType === ViewLoadingType.INITIAL_LOAD\n let isWaitingForActivityLoadingTime = true\n const loadingTimeCandidates: Duration[] = []\n\n function invokeCallbackIfAllCandidatesAreReceived() {\n if (!isWaitingForActivityLoadingTime && !isWaitingForLoadEvent && loadingTimeCandidates.length > 0) {\n callback(Math.max(...loadingTimeCandidates) as Duration)\n }\n }\n\n const { stop } = waitPageActivityEnd(lifeCycle, domMutationObservable, configuration, (event) => {\n if (isWaitingForActivityLoadingTime) {\n isWaitingForActivityLoadingTime = false\n if (event.hadActivity) {\n loadingTimeCandidates.push(elapsed(viewStart.timeStamp, event.end))\n }\n invokeCallbackIfAllCandidatesAreReceived()\n }\n })\n\n return {\n stop,\n setLoadEvent: (loadEvent: Duration) => {\n if (isWaitingForLoadEvent) {\n isWaitingForLoadEvent = false\n loadingTimeCandidates.push(loadEvent)\n invokeCallbackIfAllCandidatesAreReceived()\n }\n },\n }\n}\n","export function getScrollX() {\n let scrollX\n const visual = window.visualViewport\n if (visual) {\n scrollX = visual.pageLeft - visual.offsetLeft\n } else if (window.scrollX !== undefined) {\n scrollX = window.scrollX\n } else {\n scrollX = window.pageXOffset || 0\n }\n return Math.round(scrollX)\n}\n\nexport function getScrollY() {\n let scrollY\n const visual = window.visualViewport\n if (visual) {\n scrollY = visual.pageTop - visual.offsetTop\n } else if (window.scrollY !== undefined) {\n scrollY = window.scrollY\n } else {\n scrollY = window.pageYOffset || 0\n }\n return Math.round(scrollY)\n}\n","import { Observable, throttle, addEventListener, DOM_EVENT } from '@datadog/browser-core'\nimport type { RumConfiguration } from '../domain/configuration'\n\nexport interface ViewportDimension {\n height: number\n width: number\n}\n\nlet viewportObservable: Observable | undefined\n\nexport function initViewportObservable(configuration: RumConfiguration) {\n if (!viewportObservable) {\n viewportObservable = createViewportObservable(configuration)\n }\n return viewportObservable\n}\n\nexport function createViewportObservable(configuration: RumConfiguration) {\n const observable = new Observable(() => {\n const { throttled: updateDimension } = throttle(() => {\n observable.notify(getViewportDimension())\n }, 200)\n\n return addEventListener(configuration, window, DOM_EVENT.RESIZE, updateDimension, { capture: true, passive: true })\n .stop\n })\n\n return observable\n}\n\n// excludes the width and height of any rendered classic scrollbar that is fixed to the visual viewport\nexport function getViewportDimension(): ViewportDimension {\n const visual = window.visualViewport\n if (visual) {\n return {\n width: Number(visual.width * visual.scale),\n height: Number(visual.height * visual.scale),\n }\n }\n\n return {\n width: Number(window.innerWidth || 0),\n height: Number(window.innerHeight || 0),\n }\n}\n","import type { ClocksState, Duration } from '@datadog/browser-core'\nimport {\n Observable,\n ONE_SECOND,\n elapsed,\n relativeNow,\n throttle,\n addEventListener,\n DOM_EVENT,\n monitor,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../../configuration'\nimport { getScrollY } from '../../../browser/scroll'\nimport { getViewportDimension } from '../../../browser/viewportObservable'\n\n/** Arbitrary scroll throttle duration */\nexport const THROTTLE_SCROLL_DURATION = ONE_SECOND\n\nexport interface ScrollMetrics {\n maxDepth: number\n maxScrollHeight: number\n maxDepthScrollTop: number\n maxScrollHeightTime: Duration\n}\n\nexport function trackScrollMetrics(\n configuration: RumConfiguration,\n viewStart: ClocksState,\n callback: (scrollMetrics: ScrollMetrics) => void,\n scrollValues = createScrollValuesObservable(configuration)\n) {\n let maxScrollDepth = 0\n let maxScrollHeight = 0\n let maxScrollHeightTime = 0 as Duration\n\n const subscription = scrollValues.subscribe(({ scrollDepth, scrollTop, scrollHeight }) => {\n let shouldUpdate = false\n\n if (scrollDepth > maxScrollDepth) {\n maxScrollDepth = scrollDepth\n shouldUpdate = true\n }\n\n if (scrollHeight > maxScrollHeight) {\n maxScrollHeight = scrollHeight\n const now = relativeNow()\n maxScrollHeightTime = elapsed(viewStart.relative, now)\n shouldUpdate = true\n }\n\n if (shouldUpdate) {\n callback({\n maxDepth: Math.min(maxScrollDepth, maxScrollHeight),\n maxDepthScrollTop: scrollTop,\n maxScrollHeight,\n maxScrollHeightTime,\n })\n }\n })\n\n return {\n stop: () => subscription.unsubscribe(),\n }\n}\n\nexport interface ScrollValues {\n scrollDepth: number\n scrollTop: number\n scrollHeight: number\n}\n\nexport function computeScrollValues() {\n const scrollTop = getScrollY()\n\n const { height } = getViewportDimension()\n\n const scrollHeight = Math.round((document.scrollingElement || document.documentElement).scrollHeight)\n\n const scrollDepth = Math.round(height + scrollTop)\n\n return {\n scrollHeight,\n scrollDepth,\n scrollTop,\n }\n}\n\nexport function createScrollValuesObservable(\n configuration: RumConfiguration,\n throttleDuration = THROTTLE_SCROLL_DURATION\n): Observable {\n const observable = new Observable(() => {\n function notify() {\n observable.notify(computeScrollValues())\n }\n\n if (window.ResizeObserver) {\n const throttledNotify = throttle(notify, throttleDuration, {\n leading: false,\n trailing: true,\n })\n\n const observerTarget = document.scrollingElement || document.documentElement\n const resizeObserver = new ResizeObserver(monitor(throttledNotify.throttled))\n resizeObserver.observe(observerTarget)\n const eventListener = addEventListener(configuration, window, DOM_EVENT.SCROLL, throttledNotify.throttled, {\n passive: true,\n })\n\n return () => {\n throttledNotify.cancel()\n resizeObserver.unobserve(observerTarget)\n eventListener.stop()\n }\n }\n })\n\n return observable\n}\n","import type { ClocksState, Duration, Observable } from '@datadog/browser-core'\nimport type { ViewLoadingType } from '../../../rawRumEvent.types'\nimport type { RumConfiguration } from '../../configuration'\nimport type { LifeCycle } from '../../lifeCycle'\nimport type { CumulativeLayoutShift } from './trackCumulativeLayoutShift'\nimport { trackCumulativeLayoutShift } from './trackCumulativeLayoutShift'\nimport type { InteractionToNextPaint } from './trackInteractionToNextPaint'\nimport { trackInteractionToNextPaint } from './trackInteractionToNextPaint'\nimport { trackLoadingTime } from './trackLoadingTime'\nimport type { ScrollMetrics } from './trackScrollMetrics'\nimport { trackScrollMetrics } from './trackScrollMetrics'\n\nexport interface CommonViewMetrics {\n loadingTime?: Duration\n cumulativeLayoutShift?: CumulativeLayoutShift\n interactionToNextPaint?: InteractionToNextPaint\n scroll?: ScrollMetrics\n}\n\nexport function trackCommonViewMetrics(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n scheduleViewUpdate: () => void,\n loadingType: ViewLoadingType,\n viewStart: ClocksState\n) {\n const commonViewMetrics: CommonViewMetrics = {}\n\n const { stop: stopLoadingTimeTracking, setLoadEvent } = trackLoadingTime(\n lifeCycle,\n domMutationObservable,\n configuration,\n loadingType,\n viewStart,\n (newLoadingTime) => {\n commonViewMetrics.loadingTime = newLoadingTime\n scheduleViewUpdate()\n }\n )\n\n const { stop: stopScrollMetricsTracking } = trackScrollMetrics(configuration, viewStart, (newScrollMetrics) => {\n commonViewMetrics.scroll = newScrollMetrics\n })\n\n const { stop: stopCLSTracking } = trackCumulativeLayoutShift(configuration, lifeCycle, (cumulativeLayoutShift) => {\n commonViewMetrics.cumulativeLayoutShift = cumulativeLayoutShift\n scheduleViewUpdate()\n })\n\n const {\n stop: stopINPTracking,\n getInteractionToNextPaint,\n setViewEnd,\n } = trackInteractionToNextPaint(configuration, viewStart.relative, loadingType, lifeCycle)\n\n return {\n stop: () => {\n stopLoadingTimeTracking()\n stopCLSTracking()\n stopScrollMetricsTracking()\n },\n stopINPTracking,\n setLoadEvent,\n setViewEnd,\n getCommonViewMetrics: () => {\n commonViewMetrics.interactionToNextPaint = getInteractionToNextPaint()\n return commonViewMetrics\n },\n }\n}\n","import type { Duration, ClocksState, TimeStamp, Subscription, RelativeTime } from '@datadog/browser-core'\nimport {\n noop,\n PageExitReason,\n shallowClone,\n elapsed,\n generateUUID,\n ONE_MINUTE,\n throttle,\n clocksNow,\n clocksOrigin,\n timeStampNow,\n display,\n looksLikeRelativeTime,\n setInterval,\n clearInterval,\n setTimeout,\n Observable,\n} from '@datadog/browser-core'\n\nimport type { ViewCustomTimings } from '../../rawRumEvent.types'\nimport { ViewLoadingType } from '../../rawRumEvent.types'\n\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { EventCounts } from '../trackEventCounts'\nimport type { LocationChange } from '../../browser/locationChangeObservable'\nimport type { RumConfiguration } from '../configuration'\nimport { trackViewEventCounts } from './trackViewEventCounts'\nimport { trackInitialViewMetrics } from './viewMetrics/trackInitialViewMetrics'\nimport type { InitialViewMetrics } from './viewMetrics/trackInitialViewMetrics'\nimport type { CommonViewMetrics } from './viewMetrics/trackCommonViewMetrics'\nimport { trackCommonViewMetrics } from './viewMetrics/trackCommonViewMetrics'\n\nexport interface ViewEvent {\n id: string\n name?: string\n service?: string\n version?: string\n location: Readonly\n commonViewMetrics: CommonViewMetrics\n initialViewMetrics: InitialViewMetrics\n customTimings: ViewCustomTimings\n eventCounts: EventCounts\n documentVersion: number\n startClocks: ClocksState\n duration: Duration\n isActive: boolean\n sessionIsActive: boolean\n loadingType: ViewLoadingType\n}\n\nexport interface ViewCreatedEvent {\n id: string\n name?: string\n service?: string\n version?: string\n startClocks: ClocksState\n}\n\nexport interface ViewEndedEvent {\n endClocks: ClocksState\n}\n\nexport const THROTTLE_VIEW_UPDATE_PERIOD = 3000\nexport const SESSION_KEEP_ALIVE_INTERVAL = 5 * ONE_MINUTE\n\n// Some events or metrics can be captured after the end of the view. To avoid missing those;\n// an arbitrary delay is added for stopping their tracking after the view ends.\n//\n// Ideally, we would not stop and keep tracking events or metrics until the end of the session.\n// But this might have a small performance impact if there are many many views.\n// So let's have a fairly short delay improving the situation in most cases and avoid impacting performances too much.\nexport const KEEP_TRACKING_AFTER_VIEW_DELAY = 5 * ONE_MINUTE\n\nexport interface ViewOptions {\n name?: string\n service?: string\n version?: string\n}\n\nexport function trackViews(\n location: Location,\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n locationChangeObservable: Observable,\n areViewsTrackedAutomatically: boolean,\n initialViewOptions?: ViewOptions\n) {\n const activeViews: Set> = new Set()\n let currentView = startNewView(ViewLoadingType.INITIAL_LOAD, clocksOrigin(), initialViewOptions)\n\n startViewLifeCycle()\n\n let locationChangeSubscription: Subscription\n if (areViewsTrackedAutomatically) {\n locationChangeSubscription = renewViewOnLocationChange(locationChangeObservable)\n }\n\n function startNewView(loadingType: ViewLoadingType, startClocks?: ClocksState, viewOptions?: ViewOptions) {\n const newlyCreatedView = newView(\n lifeCycle,\n domMutationObservable,\n configuration,\n location,\n loadingType,\n startClocks,\n viewOptions\n )\n activeViews.add(newlyCreatedView)\n newlyCreatedView.stopObservable.subscribe(() => {\n activeViews.delete(newlyCreatedView)\n })\n return newlyCreatedView\n }\n\n function startViewLifeCycle() {\n lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, () => {\n // Renew view on session renewal\n currentView = startNewView(ViewLoadingType.ROUTE_CHANGE, undefined, {\n name: currentView.name,\n service: currentView.service,\n version: currentView.version,\n })\n })\n\n lifeCycle.subscribe(LifeCycleEventType.SESSION_EXPIRED, () => {\n currentView.end({ sessionIsActive: false })\n })\n\n // End the current view on page unload\n lifeCycle.subscribe(LifeCycleEventType.PAGE_EXITED, (pageExitEvent) => {\n if (pageExitEvent.reason === PageExitReason.UNLOADING || pageExitEvent.reason === PageExitReason.PAGEHIDE) {\n currentView.end()\n }\n })\n }\n\n function renewViewOnLocationChange(locationChangeObservable: Observable) {\n return locationChangeObservable.subscribe(({ oldLocation, newLocation }) => {\n if (areDifferentLocation(oldLocation, newLocation)) {\n currentView.end()\n currentView = startNewView(ViewLoadingType.ROUTE_CHANGE)\n }\n })\n }\n\n return {\n addTiming: (name: string, time: RelativeTime | TimeStamp = timeStampNow()) => {\n currentView.addTiming(name, time)\n },\n startView: (options?: ViewOptions, startClocks?: ClocksState) => {\n currentView.end({ endClocks: startClocks })\n currentView = startNewView(ViewLoadingType.ROUTE_CHANGE, startClocks, options)\n },\n stop: () => {\n locationChangeSubscription?.unsubscribe()\n currentView.end()\n activeViews.forEach((view) => view.stop())\n },\n }\n}\n\nfunction newView(\n lifeCycle: LifeCycle,\n domMutationObservable: Observable,\n configuration: RumConfiguration,\n initialLocation: Location,\n loadingType: ViewLoadingType,\n startClocks: ClocksState = clocksNow(),\n viewOptions?: ViewOptions\n) {\n // Setup initial values\n const id = generateUUID()\n const stopObservable = new Observable()\n const customTimings: ViewCustomTimings = {}\n let documentVersion = 0\n let endClocks: ClocksState | undefined\n const location = shallowClone(initialLocation)\n\n let sessionIsActive = true\n let name: string | undefined\n let service: string | undefined\n let version: string | undefined\n if (viewOptions) {\n name = viewOptions.name\n service = viewOptions.service\n version = viewOptions.version\n }\n\n lifeCycle.notify(LifeCycleEventType.VIEW_CREATED, {\n id,\n name,\n startClocks,\n service,\n version,\n })\n\n // Update the view every time the measures are changing\n const { throttled: scheduleViewUpdate, cancel: cancelScheduleViewUpdate } = throttle(\n triggerViewUpdate,\n THROTTLE_VIEW_UPDATE_PERIOD,\n {\n leading: false,\n }\n )\n\n const {\n setLoadEvent,\n setViewEnd,\n stop: stopCommonViewMetricsTracking,\n stopINPTracking,\n getCommonViewMetrics,\n } = trackCommonViewMetrics(\n lifeCycle,\n domMutationObservable,\n configuration,\n scheduleViewUpdate,\n loadingType,\n startClocks\n )\n\n const { stop: stopInitialViewMetricsTracking, initialViewMetrics } =\n loadingType === ViewLoadingType.INITIAL_LOAD\n ? trackInitialViewMetrics(lifeCycle, configuration, setLoadEvent, scheduleViewUpdate)\n : { stop: noop, initialViewMetrics: {} as InitialViewMetrics }\n\n const { stop: stopEventCountsTracking, eventCounts } = trackViewEventCounts(lifeCycle, id, scheduleViewUpdate)\n\n // Session keep alive\n const keepAliveIntervalId = setInterval(triggerViewUpdate, SESSION_KEEP_ALIVE_INTERVAL)\n\n // Initial view update\n triggerViewUpdate()\n\n function triggerViewUpdate() {\n cancelScheduleViewUpdate()\n documentVersion += 1\n const currentEnd = endClocks === undefined ? timeStampNow() : endClocks.timeStamp\n\n lifeCycle.notify(LifeCycleEventType.VIEW_UPDATED, {\n customTimings,\n documentVersion,\n id,\n name,\n service,\n version,\n loadingType,\n location,\n startClocks,\n commonViewMetrics: getCommonViewMetrics(),\n initialViewMetrics,\n duration: elapsed(startClocks.timeStamp, currentEnd),\n isActive: endClocks === undefined,\n sessionIsActive,\n eventCounts,\n })\n }\n\n return {\n name,\n service,\n version,\n stopObservable,\n end(options: { endClocks?: ClocksState; sessionIsActive?: boolean } = {}) {\n if (endClocks) {\n // view already ended\n return\n }\n endClocks = options.endClocks ?? clocksNow()\n sessionIsActive = options.sessionIsActive ?? true\n\n lifeCycle.notify(LifeCycleEventType.VIEW_ENDED, { endClocks })\n clearInterval(keepAliveIntervalId)\n setViewEnd(endClocks.relative)\n stopCommonViewMetricsTracking()\n triggerViewUpdate()\n setTimeout(() => {\n this.stop()\n }, KEEP_TRACKING_AFTER_VIEW_DELAY)\n },\n stop() {\n stopInitialViewMetricsTracking()\n stopEventCountsTracking()\n stopINPTracking()\n stopObservable.notify()\n },\n addTiming(name: string, time: RelativeTime | TimeStamp) {\n if (endClocks) {\n return\n }\n const relativeTime = looksLikeRelativeTime(time) ? time : elapsed(startClocks.timeStamp, time)\n customTimings[sanitizeTiming(name)] = relativeTime\n scheduleViewUpdate()\n },\n }\n}\n\n/**\n * Timing name is used as facet path that must contain only letters, digits, or the characters - _ . @ $\n */\nfunction sanitizeTiming(name: string) {\n const sanitized = name.replace(/[^a-zA-Z0-9-_.@$]/g, '_')\n if (sanitized !== name) {\n display.warn(`Invalid timing name: ${name}, sanitized to: ${sanitized}`)\n }\n return sanitized\n}\n\nfunction areDifferentLocation(currentLocation: Location, otherLocation: Location) {\n return (\n currentLocation.pathname !== otherLocation.pathname ||\n (!isHashAnAnchor(otherLocation.hash) &&\n getPathFromHash(otherLocation.hash) !== getPathFromHash(currentLocation.hash))\n )\n}\n\nfunction isHashAnAnchor(hash: string) {\n const correspondingId = hash.substring(1)\n // check if the correspondingId is empty because on Firefox an empty string passed to getElementById() prints a consol warning\n return correspondingId !== '' && !!document.getElementById(correspondingId)\n}\n\nfunction getPathFromHash(hash: string) {\n const index = hash.indexOf('?')\n return index < 0 ? hash : hash.slice(0, index)\n}\n","import type { Duration, ServerDuration, Observable } from '@datadog/browser-core'\nimport { isEmptyObject, mapValues, toServerDuration, isNumber } from '@datadog/browser-core'\nimport type { RecorderApi } from '../../boot/rumPublicApi'\nimport type { RawRumViewEvent } from '../../rawRumEvent.types'\nimport { RumEventType } from '../../rawRumEvent.types'\nimport type { LifeCycle, RawRumEventCollectedData } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\nimport type { LocationChange } from '../../browser/locationChangeObservable'\nimport type { RumConfiguration } from '../configuration'\nimport type { FeatureFlagContexts } from '../contexts/featureFlagContext'\nimport type { PageStateHistory } from '../contexts/pageStateHistory'\nimport type { ViewEvent, ViewOptions } from './trackViews'\nimport { trackViews } from './trackViews'\n\nexport function startViewCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n location: Location,\n domMutationObservable: Observable,\n locationChangeObservable: Observable,\n featureFlagContexts: FeatureFlagContexts,\n pageStateHistory: PageStateHistory,\n recorderApi: RecorderApi,\n initialViewOptions?: ViewOptions\n) {\n lifeCycle.subscribe(LifeCycleEventType.VIEW_UPDATED, (view) =>\n lifeCycle.notify(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n processViewUpdate(view, configuration, featureFlagContexts, recorderApi, pageStateHistory)\n )\n )\n return trackViews(\n location,\n lifeCycle,\n domMutationObservable,\n configuration,\n locationChangeObservable,\n !configuration.trackViewsManually,\n initialViewOptions\n )\n}\n\nfunction processViewUpdate(\n view: ViewEvent,\n configuration: RumConfiguration,\n featureFlagContexts: FeatureFlagContexts,\n recorderApi: RecorderApi,\n pageStateHistory: PageStateHistory\n): RawRumEventCollectedData {\n const replayStats = recorderApi.getReplayStats(view.id)\n const featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations(view.startClocks.relative)\n const pageStates = pageStateHistory.findAll(view.startClocks.relative, view.duration)\n const viewEvent: RawRumViewEvent = {\n _dd: {\n document_version: view.documentVersion,\n replay_stats: replayStats,\n page_states: pageStates,\n configuration: {\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n },\n },\n date: view.startClocks.timeStamp,\n type: RumEventType.VIEW,\n view: {\n action: {\n count: view.eventCounts.actionCount,\n },\n frustration: {\n count: view.eventCounts.frustrationCount,\n },\n cumulative_layout_shift: view.commonViewMetrics.cumulativeLayoutShift?.value,\n cumulative_layout_shift_target_selector: view.commonViewMetrics.cumulativeLayoutShift?.targetSelector,\n first_byte: toServerDuration(view.initialViewMetrics.navigationTimings?.firstByte),\n dom_complete: toServerDuration(view.initialViewMetrics.navigationTimings?.domComplete),\n dom_content_loaded: toServerDuration(view.initialViewMetrics.navigationTimings?.domContentLoaded),\n dom_interactive: toServerDuration(view.initialViewMetrics.navigationTimings?.domInteractive),\n error: {\n count: view.eventCounts.errorCount,\n },\n first_contentful_paint: toServerDuration(view.initialViewMetrics.firstContentfulPaint),\n first_input_delay: toServerDuration(view.initialViewMetrics.firstInput?.delay),\n first_input_time: toServerDuration(view.initialViewMetrics.firstInput?.time),\n first_input_target_selector: view.initialViewMetrics.firstInput?.targetSelector,\n interaction_to_next_paint: toServerDuration(view.commonViewMetrics.interactionToNextPaint?.value),\n interaction_to_next_paint_target_selector: view.commonViewMetrics.interactionToNextPaint?.targetSelector,\n is_active: view.isActive,\n name: view.name,\n largest_contentful_paint: toServerDuration(view.initialViewMetrics.largestContentfulPaint?.value),\n largest_contentful_paint_target_selector: view.initialViewMetrics.largestContentfulPaint?.targetSelector,\n load_event: toServerDuration(view.initialViewMetrics.navigationTimings?.loadEvent),\n loading_time: discardNegativeDuration(toServerDuration(view.commonViewMetrics.loadingTime)),\n loading_type: view.loadingType,\n long_task: {\n count: view.eventCounts.longTaskCount,\n },\n resource: {\n count: view.eventCounts.resourceCount,\n },\n time_spent: toServerDuration(view.duration),\n },\n feature_flags: featureFlagContext && !isEmptyObject(featureFlagContext) ? featureFlagContext : undefined,\n display: view.commonViewMetrics.scroll\n ? {\n scroll: {\n max_depth: view.commonViewMetrics.scroll.maxDepth,\n max_depth_scroll_top: view.commonViewMetrics.scroll.maxDepthScrollTop,\n max_scroll_height: view.commonViewMetrics.scroll.maxScrollHeight,\n max_scroll_height_time: toServerDuration(view.commonViewMetrics.scroll.maxScrollHeightTime),\n },\n }\n : undefined,\n session: {\n has_replay: replayStats ? true : undefined,\n is_active: view.sessionIsActive ? undefined : false,\n },\n privacy: {\n replay_level: configuration.defaultPrivacyLevel,\n },\n }\n if (!isEmptyObject(view.customTimings)) {\n viewEvent.view.custom_timings = mapValues(\n view.customTimings,\n toServerDuration as (duration: Duration) => ServerDuration\n )\n }\n return {\n rawRumEvent: viewEvent,\n startTime: view.startClocks.relative,\n domainContext: {\n location: view.location,\n },\n }\n}\n\nfunction discardNegativeDuration(duration: ServerDuration | undefined): ServerDuration | undefined {\n return isNumber(duration) && duration < 0 ? undefined : duration\n}\n","import type { Observable } from '../../tools/observable'\nimport type { Context } from '../../tools/serialisation/context'\nimport { ValueHistory } from '../../tools/valueHistory'\nimport type { RelativeTime } from '../../tools/utils/timeUtils'\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../../tools/utils/timeUtils'\nimport { DOM_EVENT, addEventListener, addEventListeners } from '../../browser/addEventListener'\nimport { clearInterval, setInterval } from '../../tools/timer'\nimport type { Configuration } from '../configuration'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { startSessionStore } from './sessionStore'\n\nexport interface SessionManager {\n findActiveSession: (startTime?: RelativeTime) => SessionContext | undefined\n renewObservable: Observable\n expireObservable: Observable\n expire: () => void\n}\n\nexport interface SessionContext extends Context {\n id: string\n trackingType: TrackingType\n}\n\nexport const VISIBILITY_CHECK_DELAY = ONE_MINUTE\nconst SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nlet stopCallbacks: Array<() => void> = []\n\nexport function startSessionManager(\n configuration: Configuration,\n productKey: string,\n computeSessionState: (rawTrackingType?: string) => { trackingType: TrackingType; isTracked: boolean }\n): SessionManager {\n // TODO - Improve configuration type and remove assertion\n const sessionStore = startSessionStore(configuration.sessionStoreStrategyType!, productKey, computeSessionState)\n stopCallbacks.push(() => sessionStore.stop())\n\n const sessionContextHistory = new ValueHistory>(SESSION_CONTEXT_TIMEOUT_DELAY)\n stopCallbacks.push(() => sessionContextHistory.stop())\n\n sessionStore.renewObservable.subscribe(() => {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n })\n sessionStore.expireObservable.subscribe(() => {\n sessionContextHistory.closeActive(relativeNow())\n })\n\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(configuration, () => sessionStore.expandOrRenewSession())\n trackVisibility(configuration, () => sessionStore.expandSession())\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id!,\n trackingType: sessionStore.getSession()[productKey] as TrackingType,\n }\n }\n\n return {\n findActiveSession: (startTime) => sessionContextHistory.find(startTime),\n renewObservable: sessionStore.renewObservable,\n expireObservable: sessionStore.expireObservable,\n expire: sessionStore.expire,\n }\n}\n\nexport function stopSessionManager() {\n stopCallbacks.forEach((e) => e())\n stopCallbacks = []\n}\n\nfunction trackActivity(configuration: Configuration, expandOrRenewSession: () => void) {\n const { stop } = addEventListeners(\n configuration,\n window,\n [DOM_EVENT.CLICK, DOM_EVENT.TOUCH_START, DOM_EVENT.KEY_DOWN, DOM_EVENT.SCROLL],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(stop)\n}\n\nfunction trackVisibility(configuration: Configuration, expandSession: () => void) {\n const expandSessionWhenVisible = () => {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n\n const { stop } = addEventListener(configuration, document, DOM_EVENT.VISIBILITY_CHANGE, expandSessionWhenVisible)\n stopCallbacks.push(stop)\n\n const visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY)\n stopCallbacks.push(() => {\n clearInterval(visibilityCheckInterval)\n })\n}\n","import type { RelativeTime } from '@datadog/browser-core'\nimport { Observable, noop, performDraw, startSessionManager } from '@datadog/browser-core'\nimport type { RumConfiguration } from './configuration'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\n\nexport const RUM_SESSION_KEY = 'rum'\n\nexport interface RumSessionManager {\n findTrackedSession: (startTime?: RelativeTime) => RumSession | undefined\n expire: () => void\n expireObservable: Observable\n}\n\nexport type RumSession = {\n id: string\n sessionReplayAllowed: boolean\n}\n\nexport const enum RumTrackingType {\n NOT_TRACKED = '0',\n TRACKED_WITH_SESSION_REPLAY = '1',\n TRACKED_WITHOUT_SESSION_REPLAY = '2',\n}\n\nexport function startRumSessionManager(configuration: RumConfiguration, lifeCycle: LifeCycle): RumSessionManager {\n const sessionManager = startSessionManager(configuration, RUM_SESSION_KEY, (rawTrackingType) =>\n computeSessionState(configuration, rawTrackingType)\n )\n\n sessionManager.expireObservable.subscribe(() => {\n lifeCycle.notify(LifeCycleEventType.SESSION_EXPIRED)\n })\n\n sessionManager.renewObservable.subscribe(() => {\n lifeCycle.notify(LifeCycleEventType.SESSION_RENEWED)\n })\n\n return {\n findTrackedSession: (startTime) => {\n const session = sessionManager.findActiveSession(startTime)\n if (!session || !isTypeTracked(session.trackingType)) {\n return\n }\n return {\n id: session.id,\n sessionReplayAllowed: session.trackingType === RumTrackingType.TRACKED_WITH_SESSION_REPLAY,\n }\n },\n expire: sessionManager.expire,\n expireObservable: sessionManager.expireObservable,\n }\n}\n\n/**\n * Start a tracked replay session stub\n */\nexport function startRumSessionManagerStub(): RumSessionManager {\n const session: RumSession = {\n id: '00000000-aaaa-0000-aaaa-000000000000',\n sessionReplayAllowed: false,\n }\n return {\n findTrackedSession: () => session,\n expire: noop,\n expireObservable: new Observable(),\n }\n}\n\nfunction computeSessionState(configuration: RumConfiguration, rawTrackingType?: string) {\n let trackingType: RumTrackingType\n if (hasValidRumSession(rawTrackingType)) {\n trackingType = rawTrackingType\n } else if (!performDraw(configuration.sessionSampleRate)) {\n trackingType = RumTrackingType.NOT_TRACKED\n } else if (!performDraw(configuration.sessionReplaySampleRate)) {\n trackingType = RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY\n } else {\n trackingType = RumTrackingType.TRACKED_WITH_SESSION_REPLAY\n }\n return {\n trackingType,\n isTracked: isTypeTracked(trackingType),\n }\n}\n\nfunction hasValidRumSession(trackingType?: string): trackingType is RumTrackingType {\n return (\n trackingType === RumTrackingType.NOT_TRACKED ||\n trackingType === RumTrackingType.TRACKED_WITH_SESSION_REPLAY ||\n trackingType === RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY\n )\n}\n\nfunction isTypeTracked(rumSessionType: RumTrackingType | undefined) {\n return (\n rumSessionType === RumTrackingType.TRACKED_WITHOUT_SESSION_REPLAY ||\n rumSessionType === RumTrackingType.TRACKED_WITH_SESSION_REPLAY\n )\n}\n","import { display } from '../tools/display'\nimport type { Context } from '../tools/serialisation/context'\nimport { objectValues } from '../tools/utils/polyfills'\nimport { isPageExitReason } from '../browser/pageExitObservable'\nimport { jsonStringify } from '../tools/serialisation/jsonStringify'\nimport type { Subscription } from '../tools/observable'\nimport type { Encoder, EncoderResult } from '../tools/encoder'\nimport { computeBytesCount } from '../tools/utils/byteUtils'\nimport type { HttpRequest, Payload } from './httpRequest'\nimport type { FlushController, FlushEvent } from './flushController'\n\nexport class Batch {\n private upsertBuffer: { [key: string]: string } = {}\n private flushSubscription: Subscription\n\n constructor(\n private encoder: Encoder,\n private request: HttpRequest,\n public flushController: FlushController,\n private messageBytesLimit: number\n ) {\n this.flushSubscription = this.flushController.flushObservable.subscribe((event) => this.flush(event))\n }\n\n add(message: Context) {\n this.addOrUpdate(message)\n }\n\n upsert(message: Context, key: string) {\n this.addOrUpdate(message, key)\n }\n\n stop() {\n this.flushSubscription.unsubscribe()\n }\n\n private flush(event: FlushEvent) {\n const upsertMessages = objectValues(this.upsertBuffer).join('\\n')\n this.upsertBuffer = {}\n\n const isPageExit = isPageExitReason(event.reason)\n const send = isPageExit ? this.request.sendOnExit : this.request.send\n\n if (\n isPageExit &&\n // Note: checking that the encoder is async is not strictly needed, but it's an optimization:\n // if the encoder is async we need to send two requests in some cases (one for encoded data\n // and the other for non-encoded data). But if it's not async, we don't have to worry about\n // it and always send a single request.\n this.encoder.isAsync\n ) {\n const encoderResult = this.encoder.finishSync()\n\n // Send encoded messages\n if (encoderResult.outputBytesCount) {\n send(formatPayloadFromEncoder(encoderResult, event))\n }\n\n // Send messages that are not yet encoded at this point\n const pendingMessages = [encoderResult.pendingData, upsertMessages].filter(Boolean).join('\\n')\n if (pendingMessages) {\n send({\n data: pendingMessages,\n bytesCount: computeBytesCount(pendingMessages),\n flushReason: event.reason,\n })\n }\n } else {\n if (upsertMessages) {\n this.encoder.write(this.encoder.isEmpty ? upsertMessages : `\\n${upsertMessages}`)\n }\n this.encoder.finish((encoderResult) => {\n send(formatPayloadFromEncoder(encoderResult, event))\n })\n }\n }\n\n private addOrUpdate(message: Context, key?: string) {\n const serializedMessage = jsonStringify(message)!\n\n const estimatedMessageBytesCount = this.encoder.estimateEncodedBytesCount(serializedMessage)\n\n if (estimatedMessageBytesCount >= this.messageBytesLimit) {\n display.warn(\n `Discarded a message whose size was bigger than the maximum allowed size ${this.messageBytesLimit}KB.`\n )\n return\n }\n\n if (this.hasMessageFor(key)) {\n this.remove(key)\n }\n\n this.push(serializedMessage, estimatedMessageBytesCount, key)\n }\n\n private push(serializedMessage: string, estimatedMessageBytesCount: number, key?: string) {\n this.flushController.notifyBeforeAddMessage(estimatedMessageBytesCount)\n\n if (key !== undefined) {\n this.upsertBuffer[key] = serializedMessage\n this.flushController.notifyAfterAddMessage()\n } else {\n this.encoder.write(\n this.encoder.isEmpty ? serializedMessage : `\\n${serializedMessage}`,\n (realMessageBytesCount) => {\n this.flushController.notifyAfterAddMessage(realMessageBytesCount - estimatedMessageBytesCount)\n }\n )\n }\n }\n\n private remove(key: string) {\n const removedMessage = this.upsertBuffer[key]\n delete this.upsertBuffer[key]\n const messageBytesCount = this.encoder.estimateEncodedBytesCount(removedMessage)\n this.flushController.notifyAfterRemoveMessage(messageBytesCount)\n }\n\n private hasMessageFor(key?: string): key is string {\n return key !== undefined && this.upsertBuffer[key] !== undefined\n }\n}\n\nfunction formatPayloadFromEncoder(encoderResult: EncoderResult, flushEvent: FlushEvent): Payload {\n let data: string | Blob\n if (typeof encoderResult.output === 'string') {\n data = encoderResult.output\n } else {\n data = new Blob([encoderResult.output], {\n // This will set the 'Content-Type: text/plain' header. Reasoning:\n // * The intake rejects the request if there is no content type.\n // * The browser will issue CORS preflight requests if we set it to 'application/json', which\n // could induce higher intake load (and maybe has other impacts).\n // * Also it's not quite JSON, since we are concatenating multiple JSON objects separated by\n // new lines.\n type: 'text/plain',\n })\n }\n\n return {\n data,\n bytesCount: encoderResult.outputBytesCount,\n encoding: encoderResult.encoding,\n flushReason: flushEvent.reason,\n }\n}\n","import type { TrackType } from '../domain/configuration'\nimport { setTimeout } from '../tools/timer'\nimport { clocksNow, ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils'\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../tools/utils/byteUtils'\nimport { isServerError } from '../tools/utils/responseUtils'\nimport type { RawError } from '../domain/error/error.types'\nimport { ErrorSource } from '../domain/error/error.types'\nimport type { Payload, HttpResponse } from './httpRequest'\n\nexport const MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE\nexport const MAX_ONGOING_REQUESTS = 32\nexport const MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE\nexport const MAX_BACKOFF_TIME = ONE_MINUTE\nexport const INITIAL_BACKOFF_TIME = ONE_SECOND\n\nconst enum TransportStatus {\n UP,\n FAILURE_DETECTED,\n DOWN,\n}\n\nconst enum RetryReason {\n AFTER_SUCCESS,\n AFTER_RESUME,\n}\n\nexport interface RetryState {\n transportStatus: TransportStatus\n currentBackoffTime: number\n bandwidthMonitor: ReturnType\n queuedPayloads: ReturnType\n queueFullReported: boolean\n}\n\ntype SendStrategy = (payload: Payload, onResponse: (r: HttpResponse) => void) => void\n\nexport function sendWithRetryStrategy(\n payload: Payload,\n state: RetryState,\n sendStrategy: SendStrategy,\n trackType: TrackType,\n reportError: (error: RawError) => void\n) {\n if (\n state.transportStatus === TransportStatus.UP &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)\n ) {\n send(payload, state, sendStrategy, {\n onSuccess: () => retryQueuedPayloads(RetryReason.AFTER_SUCCESS, state, sendStrategy, trackType, reportError),\n onFailure: () => {\n state.queuedPayloads.enqueue(payload)\n scheduleRetry(state, sendStrategy, trackType, reportError)\n },\n })\n } else {\n state.queuedPayloads.enqueue(payload)\n }\n}\n\nfunction scheduleRetry(\n state: RetryState,\n sendStrategy: SendStrategy,\n trackType: TrackType,\n reportError: (error: RawError) => void\n) {\n if (state.transportStatus !== TransportStatus.DOWN) {\n return\n }\n setTimeout(() => {\n const payload = state.queuedPayloads.first()\n send(payload, state, sendStrategy, {\n onSuccess: () => {\n state.queuedPayloads.dequeue()\n state.currentBackoffTime = INITIAL_BACKOFF_TIME\n retryQueuedPayloads(RetryReason.AFTER_RESUME, state, sendStrategy, trackType, reportError)\n },\n onFailure: () => {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2)\n scheduleRetry(state, sendStrategy, trackType, reportError)\n },\n })\n }, state.currentBackoffTime)\n}\n\nfunction send(\n payload: Payload,\n state: RetryState,\n sendStrategy: SendStrategy,\n { onSuccess, onFailure }: { onSuccess: () => void; onFailure: () => void }\n) {\n state.bandwidthMonitor.add(payload)\n sendStrategy(payload, (response) => {\n state.bandwidthMonitor.remove(payload)\n if (!shouldRetryRequest(response)) {\n state.transportStatus = TransportStatus.UP\n onSuccess()\n } else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? TransportStatus.FAILURE_DETECTED : TransportStatus.DOWN\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n }\n onFailure()\n }\n })\n}\n\nfunction retryQueuedPayloads(\n reason: RetryReason,\n state: RetryState,\n sendStrategy: SendStrategy,\n trackType: TrackType,\n reportError: (error: RawError) => void\n) {\n if (reason === RetryReason.AFTER_SUCCESS && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: `Reached max ${trackType} events size queued for upload: ${MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE}MiB`,\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n })\n state.queueFullReported = true\n }\n const previousQueue = state.queuedPayloads\n state.queuedPayloads = newPayloadQueue()\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue()!, state, sendStrategy, trackType, reportError)\n }\n}\n\nfunction shouldRetryRequest(response: HttpResponse) {\n return (\n response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n isServerError(response.status))\n )\n}\n\nexport function newRetryState(): RetryState {\n return {\n transportStatus: TransportStatus.UP,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n }\n}\n\nfunction newPayloadQueue() {\n const queue: Payload[] = []\n return {\n bytesCount: 0,\n enqueue(payload: Payload) {\n if (this.isFull()) {\n return\n }\n queue.push(payload)\n this.bytesCount += payload.bytesCount\n },\n first() {\n return queue[0]\n },\n dequeue() {\n const payload = queue.shift()\n if (payload) {\n this.bytesCount -= payload.bytesCount\n }\n return payload\n },\n size() {\n return queue.length\n },\n isFull() {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT\n },\n }\n}\n\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle(payload: Payload) {\n return (\n this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS)\n )\n },\n add(payload: Payload) {\n this.ongoingRequestCount += 1\n this.ongoingByteCount += payload.bytesCount\n },\n remove(payload: Payload) {\n this.ongoingRequestCount -= 1\n this.ongoingByteCount -= payload.bytesCount\n },\n }\n}\n","import type { EndpointBuilder, Configuration } from '../domain/configuration'\nimport { addTelemetryError } from '../domain/telemetry'\nimport type { Context } from '../tools/serialisation/context'\nimport { monitor } from '../tools/monitor'\nimport { addEventListener } from '../browser/addEventListener'\nimport type { RawError } from '../domain/error/error.types'\nimport { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy'\nimport type { FlushReason } from './flushController'\n\n/**\n * Use POST request without content type to:\n * - avoid CORS preflight requests\n * - allow usage of sendBeacon\n *\n * multiple elements are sent separated by \\n in order\n * to be parsed correctly without content type header\n */\n\nexport type HttpRequest = ReturnType\n\nexport interface HttpResponse extends Context {\n status: number\n type?: ResponseType\n}\n\nexport interface Payload {\n data: string | FormData | Blob\n bytesCount: number\n retry?: RetryInfo\n flushReason?: FlushReason\n encoding?: 'deflate'\n}\n\nexport interface RetryInfo {\n count: number\n lastFailureStatus: number\n}\n\nexport function createHttpRequest(\n configuration: Configuration,\n endpointBuilder: EndpointBuilder,\n bytesLimit: number,\n reportError: (error: RawError) => void\n) {\n const retryState = newRetryState()\n const sendStrategyForRetry = (payload: Payload, onResponse: (r: HttpResponse) => void) =>\n fetchKeepAliveStrategy(configuration, endpointBuilder, bytesLimit, payload, onResponse)\n\n return {\n send: (payload: Payload) => {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.trackType, reportError)\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: (payload: Payload) => {\n sendBeaconStrategy(configuration, endpointBuilder, bytesLimit, payload)\n },\n }\n}\n\nfunction sendBeaconStrategy(\n configuration: Configuration,\n endpointBuilder: EndpointBuilder,\n bytesLimit: number,\n payload: Payload\n) {\n const canUseBeacon = !!navigator.sendBeacon && payload.bytesCount < bytesLimit\n if (canUseBeacon) {\n try {\n const beaconUrl = endpointBuilder.build('beacon', payload)\n const isQueued = navigator.sendBeacon(beaconUrl, payload.data)\n\n if (isQueued) {\n return\n }\n } catch (e) {\n reportBeaconError(e)\n }\n }\n\n const xhrUrl = endpointBuilder.build('xhr', payload)\n sendXHR(configuration, xhrUrl, payload.data)\n}\n\nlet hasReportedBeaconError = false\n\nfunction reportBeaconError(e: unknown) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true\n addTelemetryError(e)\n }\n}\n\nexport function fetchKeepAliveStrategy(\n configuration: Configuration,\n endpointBuilder: EndpointBuilder,\n bytesLimit: number,\n payload: Payload,\n onResponse?: (r: HttpResponse) => void\n) {\n const canUseKeepAlive = isKeepAliveSupported() && payload.bytesCount < bytesLimit\n if (canUseKeepAlive) {\n const fetchUrl = endpointBuilder.build('fetch', payload)\n fetch(fetchUrl, { method: 'POST', body: payload.data, keepalive: true, mode: 'cors' }).then(\n monitor((response: Response) => onResponse?.({ status: response.status, type: response.type })),\n monitor(() => {\n const xhrUrl = endpointBuilder.build('xhr', payload)\n // failed to queue the request\n sendXHR(configuration, xhrUrl, payload.data, onResponse)\n })\n )\n } else {\n const xhrUrl = endpointBuilder.build('xhr', payload)\n sendXHR(configuration, xhrUrl, payload.data, onResponse)\n }\n}\n\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a')\n } catch {\n return false\n }\n}\n\nexport function sendXHR(\n configuration: Configuration,\n url: string,\n data: Payload['data'],\n onResponse?: (r: HttpResponse) => void\n) {\n const request = new XMLHttpRequest()\n request.open('POST', url, true)\n if (data instanceof Blob) {\n // When using a Blob instance, IE does not use its 'type' to define the 'Content-Type' header\n // automatically, so the intake request ends up being rejected with an HTTP status 415\n // Defining the header manually fixes this issue.\n request.setRequestHeader('Content-Type', data.type)\n }\n addEventListener(\n configuration,\n request,\n 'loadend',\n () => {\n onResponse?.({ status: request.status })\n },\n {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n once: true,\n }\n )\n request.send(data)\n}\n","import type { PageExitEvent, PageExitReason } from '../browser/pageExitObservable'\nimport { Observable } from '../tools/observable'\nimport type { TimeoutId } from '../tools/timer'\nimport { clearTimeout, setTimeout } from '../tools/timer'\nimport type { Duration } from '../tools/utils/timeUtils'\n\nexport type FlushReason = PageExitReason | 'duration_limit' | 'bytes_limit' | 'messages_limit' | 'session_expire'\n\nexport type FlushController = ReturnType\nexport interface FlushEvent {\n reason: FlushReason\n bytesCount: number\n messagesCount: number\n}\n\ninterface FlushControllerOptions {\n messagesLimit: number\n bytesLimit: number\n durationLimit: Duration\n pageExitObservable: Observable\n sessionExpireObservable: Observable\n}\n\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({\n messagesLimit,\n bytesLimit,\n durationLimit,\n pageExitObservable,\n sessionExpireObservable,\n}: FlushControllerOptions) {\n const pageExitSubscription = pageExitObservable.subscribe((event) => flush(event.reason))\n const sessionExpireSubscription = sessionExpireObservable.subscribe(() => flush('session_expire'))\n\n const flushObservable = new Observable(() => () => {\n pageExitSubscription.unsubscribe()\n sessionExpireSubscription.unsubscribe()\n })\n\n let currentBytesCount = 0\n let currentMessagesCount = 0\n\n function flush(flushReason: FlushReason) {\n if (currentMessagesCount === 0) {\n return\n }\n\n const messagesCount = currentMessagesCount\n const bytesCount = currentBytesCount\n\n currentMessagesCount = 0\n currentBytesCount = 0\n cancelDurationLimitTimeout()\n\n flushObservable.notify({\n reason: flushReason,\n messagesCount,\n bytesCount,\n })\n }\n\n let durationLimitTimeoutId: TimeoutId | undefined\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(() => {\n flush('duration_limit')\n }, durationLimit)\n }\n }\n\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId)\n durationLimitTimeoutId = undefined\n }\n\n return {\n flushObservable,\n get messagesCount() {\n return currentMessagesCount\n },\n\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n *\n * @param estimatedMessageBytesCount: an estimation of the message bytes count once it is\n * actually added.\n */\n notifyBeforeAddMessage(estimatedMessageBytesCount: number) {\n if (currentBytesCount + estimatedMessageBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1\n currentBytesCount += estimatedMessageBytesCount\n scheduleDurationLimitTimeout()\n },\n\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n *\n * @param messageBytesCountDiff: the difference between the estimated message bytes count and\n * its actual bytes count once added to the pool.\n */\n notifyAfterAddMessage(messageBytesCountDiff = 0) {\n currentBytesCount += messageBytesCountDiff\n\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit')\n } else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n },\n\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n *\n * @param messageBytesCount: the message bytes count that was added to the pool. Should\n * correspond to the sum of bytes counts passed to `notifyBeforeAddMessage` and\n * `notifyAfterAddMessage`.\n */\n notifyAfterRemoveMessage(messageBytesCount: number) {\n currentBytesCount -= messageBytesCount\n currentMessagesCount -= 1\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout()\n }\n },\n }\n}\n","import type { Configuration, EndpointBuilder } from '../domain/configuration'\nimport type { Context } from '../tools/serialisation/context'\nimport type { Observable } from '../tools/observable'\nimport type { PageExitEvent } from '../browser/pageExitObservable'\nimport type { RawError } from '../domain/error/error.types'\nimport type { Encoder } from '../tools/encoder'\nimport { Batch } from './batch'\nimport { createHttpRequest } from './httpRequest'\nimport { createFlushController } from './flushController'\n\nexport interface BatchConfiguration {\n endpoint: EndpointBuilder\n encoder: Encoder\n}\n\ninterface ReplicaBatchConfiguration extends BatchConfiguration {\n transformMessage?: (message: T) => T\n}\n\nexport function startBatchWithReplica(\n configuration: Configuration,\n primary: BatchConfiguration,\n replica: ReplicaBatchConfiguration | undefined,\n reportError: (error: RawError) => void,\n pageExitObservable: Observable,\n sessionExpireObservable: Observable\n) {\n const primaryBatch = createBatch(configuration, primary)\n const replicaBatch = replica && createBatch(configuration, replica)\n\n function createBatch(configuration: Configuration, { endpoint, encoder }: BatchConfiguration) {\n return new Batch(\n encoder,\n createHttpRequest(configuration, endpoint, configuration.batchBytesLimit, reportError),\n createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable,\n sessionExpireObservable,\n }),\n configuration.messageBytesLimit\n )\n }\n\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n\n add(message: T, replicated = true) {\n primaryBatch.add(message)\n if (replicaBatch && replicated) {\n replicaBatch.add(replica.transformMessage ? replica.transformMessage(message) : message)\n }\n },\n\n upsert: (message: T, key: string) => {\n primaryBatch.upsert(message, key)\n if (replicaBatch) {\n replicaBatch.upsert(replica.transformMessage ? replica.transformMessage(message) : message, key)\n }\n },\n\n stop: () => {\n primaryBatch.stop()\n replicaBatch?.stop()\n },\n }\n}\n","import type { Context, TelemetryEvent, Observable, RawError, PageExitEvent, Encoder } from '@datadog/browser-core'\nimport {\n DeflateEncoderStreamId,\n combine,\n isTelemetryReplicationAllowed,\n startBatchWithReplica,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../domain/configuration'\nimport type { LifeCycle } from '../domain/lifeCycle'\nimport { LifeCycleEventType } from '../domain/lifeCycle'\nimport { RumEventType } from '../rawRumEvent.types'\nimport type { RumEvent } from '../rumEvent.types'\n\nexport function startRumBatch(\n configuration: RumConfiguration,\n lifeCycle: LifeCycle,\n telemetryEventObservable: Observable,\n reportError: (error: RawError) => void,\n pageExitObservable: Observable,\n sessionExpireObservable: Observable,\n createEncoder: (streamId: DeflateEncoderStreamId) => Encoder\n) {\n const replica = configuration.replica\n\n const batch = startBatchWithReplica(\n configuration,\n {\n endpoint: configuration.rumEndpointBuilder,\n encoder: createEncoder(DeflateEncoderStreamId.RUM),\n },\n replica && {\n endpoint: replica.rumEndpointBuilder,\n transformMessage: (message) => combine(message, { application: { id: replica.applicationId } }),\n encoder: createEncoder(DeflateEncoderStreamId.RUM_REPLICA),\n },\n reportError,\n pageExitObservable,\n sessionExpireObservable\n )\n\n lifeCycle.subscribe(LifeCycleEventType.RUM_EVENT_COLLECTED, (serverRumEvent: RumEvent & Context) => {\n if (serverRumEvent.type === RumEventType.VIEW) {\n batch.upsert(serverRumEvent, serverRumEvent.view.id)\n } else {\n batch.add(serverRumEvent)\n }\n })\n\n telemetryEventObservable.subscribe((event) => batch.add(event, isTelemetryReplicationAllowed(configuration)))\n\n return batch\n}\n","import type { Context } from '@datadog/browser-core'\nimport { getEventBridge } from '@datadog/browser-core'\nimport type { LifeCycle } from '../domain/lifeCycle'\nimport { LifeCycleEventType } from '../domain/lifeCycle'\nimport type { RumEvent } from '../rumEvent.types'\n\nexport function startRumEventBridge(lifeCycle: LifeCycle) {\n const bridge = getEventBridge<'rum', RumEvent>()!\n\n lifeCycle.subscribe(LifeCycleEventType.RUM_EVENT_COLLECTED, (serverRumEvent: RumEvent & Context) => {\n bridge.send('rum', serverRumEvent)\n })\n}\n","import type { RelativeTime, Observable } from '@datadog/browser-core'\nimport { SESSION_TIME_OUT_DELAY, relativeNow, ValueHistory } from '@datadog/browser-core'\nimport type { LocationChange } from '../../browser/locationChangeObservable'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\n\n/**\n * We want to attach to an event:\n * - the url corresponding to its start\n * - the referrer corresponding to the previous view url (or document referrer for initial view)\n */\n\nexport const URL_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY\n\nexport interface UrlContext {\n url: string\n referrer: string\n}\n\nexport interface UrlContexts {\n findUrl: (startTime?: RelativeTime) => UrlContext | undefined\n stop: () => void\n}\n\nexport function startUrlContexts(\n lifeCycle: LifeCycle,\n locationChangeObservable: Observable,\n location: Location\n) {\n const urlContextHistory = new ValueHistory(URL_CONTEXT_TIME_OUT_DELAY)\n\n let previousViewUrl: string | undefined\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, ({ endClocks }) => {\n urlContextHistory.closeActive(endClocks.relative)\n })\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_CREATED, ({ startClocks }) => {\n const viewUrl = location.href\n urlContextHistory.add(\n buildUrlContext({\n url: viewUrl,\n referrer: !previousViewUrl ? document.referrer : previousViewUrl,\n }),\n startClocks.relative\n )\n previousViewUrl = viewUrl\n })\n\n const locationChangeSubscription = locationChangeObservable.subscribe(({ newLocation }) => {\n const current = urlContextHistory.find()\n if (current) {\n const changeTime = relativeNow()\n urlContextHistory.closeActive(changeTime)\n urlContextHistory.add(\n buildUrlContext({\n url: newLocation.href,\n referrer: current.referrer,\n }),\n changeTime\n )\n }\n })\n\n function buildUrlContext({ url, referrer }: { url: string; referrer: string }) {\n return {\n url,\n referrer,\n }\n }\n\n return {\n findUrl: (startTime?: RelativeTime) => urlContextHistory.find(startTime),\n stop: () => {\n locationChangeSubscription.unsubscribe()\n urlContextHistory.stop()\n },\n }\n}\n","import {\n addEventListener,\n DOM_EVENT,\n instrumentMethodAndCallOriginal,\n Observable,\n shallowClone,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../domain/configuration'\n\nexport interface LocationChange {\n oldLocation: Readonly\n newLocation: Readonly\n}\n\nexport function createLocationChangeObservable(configuration: RumConfiguration, location: Location) {\n let currentLocation = shallowClone(location)\n const observable = new Observable(() => {\n const { stop: stopHistoryTracking } = trackHistory(configuration, onLocationChange)\n const { stop: stopHashTracking } = trackHash(configuration, onLocationChange)\n return () => {\n stopHistoryTracking()\n stopHashTracking()\n }\n })\n\n function onLocationChange() {\n if (currentLocation.href === location.href) {\n return\n }\n const newLocation = shallowClone(location)\n observable.notify({\n newLocation,\n oldLocation: currentLocation,\n })\n currentLocation = newLocation\n }\n\n return observable\n}\n\nfunction trackHistory(configuration: RumConfiguration, onHistoryChange: () => void) {\n const { stop: stopInstrumentingPushState } = instrumentMethodAndCallOriginal(history, 'pushState', {\n after: onHistoryChange,\n })\n const { stop: stopInstrumentingReplaceState } = instrumentMethodAndCallOriginal(history, 'replaceState', {\n after: onHistoryChange,\n })\n const { stop: removeListener } = addEventListener(configuration, window, DOM_EVENT.POP_STATE, onHistoryChange)\n\n return {\n stop: () => {\n stopInstrumentingPushState()\n stopInstrumentingReplaceState()\n removeListener()\n },\n }\n}\n\nfunction trackHash(configuration: RumConfiguration, onHashChange: () => void) {\n return addEventListener(configuration, window, DOM_EVENT.HASH_CHANGE, onHashChange)\n}\n","import type { RelativeTime, ContextValue, Context } from '@datadog/browser-core'\nimport {\n CustomerDataType,\n warnIfCustomerDataLimitReached,\n throttle,\n jsonStringify,\n computeBytesCount,\n noop,\n isExperimentalFeatureEnabled,\n SESSION_TIME_OUT_DELAY,\n ValueHistory,\n ExperimentalFeature,\n} from '@datadog/browser-core'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\n\nexport const FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY\nexport const BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport type FeatureFlagContext = Context\n\nexport interface FeatureFlagContexts {\n findFeatureFlagEvaluations: (startTime?: RelativeTime) => FeatureFlagContext | undefined\n getFeatureFlagBytesCount: () => number\n addFeatureFlagEvaluation: (key: string, value: ContextValue) => void\n stop: () => void\n}\n\n/**\n * Start feature flag contexts\n *\n * Feature flag contexts follow the life of views.\n * A new context is added when a view is created and ended when the view is ended\n *\n * Note: we choose not to add a new context at each evaluation to save memory\n */\nexport function startFeatureFlagContexts(\n lifeCycle: LifeCycle,\n computeBytesCountImpl = computeBytesCount\n): FeatureFlagContexts {\n if (!isExperimentalFeatureEnabled(ExperimentalFeature.FEATURE_FLAGS)) {\n return {\n findFeatureFlagEvaluations: () => undefined,\n getFeatureFlagBytesCount: () => 0,\n addFeatureFlagEvaluation: noop,\n stop: noop,\n }\n }\n\n const featureFlagContexts = new ValueHistory(FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY)\n let bytesCountCache = 0\n let alreadyWarned = false\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_ENDED, ({ endClocks }) => {\n featureFlagContexts.closeActive(endClocks.relative)\n })\n\n lifeCycle.subscribe(LifeCycleEventType.VIEW_CREATED, ({ startClocks }) => {\n featureFlagContexts.add({}, startClocks.relative)\n bytesCountCache = 0\n })\n\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call addFeatureFlagEvaluation API synchronously multiple times in a row\n const { throttled: computeBytesCountThrottled, cancel: cancelPendingComputation } = throttle((context: Context) => {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context)!)\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(bytesCountCache, CustomerDataType.FeatureFlag)\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY)\n\n return {\n findFeatureFlagEvaluations: (startTime?: RelativeTime) => featureFlagContexts.find(startTime),\n getFeatureFlagBytesCount: () => {\n const currentContext = featureFlagContexts.find()\n if (!currentContext) {\n return 0\n }\n\n return bytesCountCache\n },\n addFeatureFlagEvaluation: (key: string, value: ContextValue) => {\n const currentContext = featureFlagContexts.find()\n if (currentContext) {\n currentContext[key] = value\n computeBytesCountThrottled(currentContext)\n }\n },\n stop: cancelPendingComputation,\n }\n}\n","import type { Context, ContextManager, FlushEvent, Observable, Telemetry } from '@datadog/browser-core'\nimport { isEmptyObject, includes, performDraw, ONE_SECOND, addTelemetryDebug, setInterval } from '@datadog/browser-core'\nimport { RumEventType } from '../rawRumEvent.types'\nimport type { RumEvent } from '../rumEvent.types'\nimport type { RumConfiguration } from './configuration'\nimport type { FeatureFlagContexts } from './contexts/featureFlagContext'\nimport type { LifeCycle } from './lifeCycle'\nimport { LifeCycleEventType } from './lifeCycle'\n\nexport const MEASURES_PERIOD_DURATION = 10 * ONE_SECOND\n\ntype Measure = {\n min: number\n max: number\n sum: number\n}\n\ntype CurrentPeriodMeasures = {\n batchCount: number\n batchBytesCount: Measure\n batchMessagesCount: Measure\n globalContextBytes: Measure\n userContextBytes: Measure\n featureFlagBytes: Measure\n}\n\ntype CurrentBatchMeasures = {\n globalContextBytes: Measure\n userContextBytes: Measure\n featureFlagBytes: Measure\n}\n\nlet currentPeriodMeasures: CurrentPeriodMeasures\nlet currentBatchMeasures: CurrentBatchMeasures\nlet batchHasRumEvent: boolean\n\nexport function startCustomerDataTelemetry(\n configuration: RumConfiguration,\n telemetry: Telemetry,\n lifeCycle: LifeCycle,\n globalContextManager: ContextManager,\n userContextManager: ContextManager,\n featureFlagContexts: FeatureFlagContexts,\n batchFlushObservable: Observable\n) {\n const customerDataTelemetryEnabled = telemetry.enabled && performDraw(configuration.customerDataTelemetrySampleRate)\n if (!customerDataTelemetryEnabled) {\n return\n }\n\n initCurrentPeriodMeasures()\n initCurrentBatchMeasures()\n\n // We measure the data of every view updates even if there could only be one per batch due to the upsert\n // It means that contexts bytes count sums can be higher than it really is\n lifeCycle.subscribe(LifeCycleEventType.RUM_EVENT_COLLECTED, (event: RumEvent & Context) => {\n batchHasRumEvent = true\n updateMeasure(\n currentBatchMeasures.globalContextBytes,\n !isEmptyObject(globalContextManager.getContext()) ? globalContextManager.getBytesCount() : 0\n )\n\n updateMeasure(\n currentBatchMeasures.userContextBytes,\n !isEmptyObject(userContextManager.getContext()) ? userContextManager.getBytesCount() : 0\n )\n\n const featureFlagContext = featureFlagContexts.findFeatureFlagEvaluations()\n const hasFeatureFlagContext =\n includes([RumEventType.VIEW, RumEventType.ERROR], event.type) &&\n featureFlagContext &&\n !isEmptyObject(featureFlagContext)\n updateMeasure(\n currentBatchMeasures.featureFlagBytes,\n hasFeatureFlagContext ? featureFlagContexts.getFeatureFlagBytesCount() : 0\n )\n })\n\n batchFlushObservable.subscribe(({ bytesCount, messagesCount }) => {\n // Don't measure batch that only contains telemetry events to avoid batch sending loop\n // It could happen because after each batch we are adding a customer data measures telemetry event to the next one\n if (!batchHasRumEvent) {\n return\n }\n currentPeriodMeasures.batchCount += 1\n updateMeasure(currentPeriodMeasures.batchBytesCount, bytesCount)\n updateMeasure(currentPeriodMeasures.batchMessagesCount, messagesCount)\n mergeMeasure(currentPeriodMeasures.globalContextBytes, currentBatchMeasures.globalContextBytes)\n mergeMeasure(currentPeriodMeasures.userContextBytes, currentBatchMeasures.userContextBytes)\n mergeMeasure(currentPeriodMeasures.featureFlagBytes, currentBatchMeasures.featureFlagBytes)\n initCurrentBatchMeasures()\n })\n\n setInterval(sendCurrentPeriodMeasures, MEASURES_PERIOD_DURATION)\n}\n\nfunction sendCurrentPeriodMeasures() {\n if (currentPeriodMeasures.batchCount === 0) {\n return\n }\n\n addTelemetryDebug('Customer data measures', currentPeriodMeasures)\n initCurrentPeriodMeasures()\n}\n\nfunction createMeasure(): Measure {\n return { min: Infinity, max: 0, sum: 0 }\n}\n\nfunction updateMeasure(measure: Measure, value: number) {\n measure.sum += value\n measure.min = Math.min(measure.min, value)\n measure.max = Math.max(measure.max, value)\n}\n\nfunction mergeMeasure(target: Measure, source: Measure) {\n target.sum += source.sum\n target.min = Math.min(target.min, source.min)\n target.max = Math.max(target.max, source.max)\n}\n\nfunction initCurrentPeriodMeasures() {\n currentPeriodMeasures = {\n batchCount: 0,\n batchBytesCount: createMeasure(),\n batchMessagesCount: createMeasure(),\n globalContextBytes: createMeasure(),\n userContextBytes: createMeasure(),\n featureFlagBytes: createMeasure(),\n }\n}\n\nfunction initCurrentBatchMeasures() {\n batchHasRumEvent = false\n currentBatchMeasures = {\n globalContextBytes: createMeasure(),\n userContextBytes: createMeasure(),\n featureFlagBytes: createMeasure(),\n }\n}\n","import type { Duration, RelativeTime } from '@datadog/browser-core'\nimport {\n elapsed,\n ValueHistory,\n SESSION_TIME_OUT_DELAY,\n toServerDuration,\n addEventListeners,\n relativeNow,\n DOM_EVENT,\n} from '@datadog/browser-core'\nimport type { RumConfiguration } from '../configuration'\nimport type { PageStateServerEntry } from '../../rawRumEvent.types'\n\n// Arbitrary value to cap number of element for memory consumption in the browser\nexport const MAX_PAGE_STATE_ENTRIES = 4000\n// Arbitrary value to cap number of element for backend & to save bandwidth\nexport const MAX_PAGE_STATE_ENTRIES_SELECTABLE = 500\n\nexport const PAGE_STATE_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY\n\nexport const enum PageState {\n ACTIVE = 'active',\n PASSIVE = 'passive',\n HIDDEN = 'hidden',\n FROZEN = 'frozen',\n TERMINATED = 'terminated',\n}\n\nexport type PageStateEntry = { state: PageState; startTime: RelativeTime }\n\nexport interface PageStateHistory {\n findAll: (startTime: RelativeTime, duration: Duration) => PageStateServerEntry[] | undefined\n isInActivePageStateAt: (startTime: RelativeTime) => boolean\n addPageState(nextPageState: PageState, startTime?: RelativeTime): void\n stop: () => void\n}\n\nexport function startPageStateHistory(\n configuration: RumConfiguration,\n maxPageStateEntriesSelectable = MAX_PAGE_STATE_ENTRIES_SELECTABLE\n): PageStateHistory {\n const pageStateHistory = new ValueHistory(PAGE_STATE_CONTEXT_TIME_OUT_DELAY, MAX_PAGE_STATE_ENTRIES)\n\n let currentPageState: PageState\n addPageState(getPageState(), relativeNow())\n\n const { stop: stopEventListeners } = addEventListeners(\n configuration,\n window,\n [\n DOM_EVENT.PAGE_SHOW,\n DOM_EVENT.FOCUS,\n DOM_EVENT.BLUR,\n DOM_EVENT.VISIBILITY_CHANGE,\n DOM_EVENT.RESUME,\n DOM_EVENT.FREEZE,\n DOM_EVENT.PAGE_HIDE,\n ],\n (event) => {\n addPageState(computePageState(event), event.timeStamp as RelativeTime)\n },\n { capture: true }\n )\n\n function addPageState(nextPageState: PageState, startTime = relativeNow()) {\n if (nextPageState === currentPageState) {\n return\n }\n\n currentPageState = nextPageState\n pageStateHistory.closeActive(startTime)\n pageStateHistory.add({ state: currentPageState, startTime }, startTime)\n }\n\n return {\n findAll: (eventStartTime: RelativeTime, duration: Duration): PageStateServerEntry[] | undefined => {\n const pageStateEntries = pageStateHistory.findAll(eventStartTime, duration)\n\n if (pageStateEntries.length === 0) {\n return\n }\n\n const pageStateServerEntries = []\n // limit the number of entries to return\n const limit = Math.max(0, pageStateEntries.length - maxPageStateEntriesSelectable)\n\n // loop page state entries backward to return the selected ones in desc order\n for (let index = pageStateEntries.length - 1; index >= limit; index--) {\n const pageState = pageStateEntries[index]\n // compute the start time relative to the event start time (ex: to be relative to the view start time)\n const relativeStartTime = elapsed(eventStartTime, pageState.startTime)\n\n pageStateServerEntries.push({\n state: pageState.state,\n start: toServerDuration(relativeStartTime),\n })\n }\n\n return pageStateServerEntries\n },\n isInActivePageStateAt: (startTime: RelativeTime) => {\n const pageStateEntry = pageStateHistory.find(startTime)\n return pageStateEntry !== undefined && pageStateEntry.state === PageState.ACTIVE\n },\n addPageState,\n stop: () => {\n stopEventListeners()\n pageStateHistory.stop()\n },\n }\n}\n\nfunction computePageState(event: Event & { type: DOM_EVENT }) {\n if (event.type === DOM_EVENT.FREEZE) {\n return PageState.FROZEN\n } else if (event.type === DOM_EVENT.PAGE_HIDE) {\n return (event as PageTransitionEvent).persisted ? PageState.FROZEN : PageState.TERMINATED\n }\n return getPageState()\n}\n\nfunction getPageState() {\n if (document.visibilityState === 'hidden') {\n return PageState.HIDDEN\n }\n\n if (document.hasFocus()) {\n return PageState.ACTIVE\n }\n\n return PageState.PASSIVE\n}\n","import type { RumConfiguration } from '../configuration'\nimport { getViewportDimension, initViewportObservable } from '../../browser/viewportObservable'\n\nexport type DisplayContext = ReturnType\n\nexport function startDisplayContext(configuration: RumConfiguration) {\n let viewport = getViewportDimension()\n const unsubscribeViewport = initViewportObservable(configuration).subscribe((viewportDimension) => {\n viewport = viewportDimension\n }).unsubscribe\n\n return {\n get: () => ({ viewport }),\n stop: unsubscribeViewport,\n }\n}\n","import type {\n Observable,\n TelemetryEvent,\n RawError,\n ContextManager,\n DeflateEncoderStreamId,\n Encoder,\n} from '@datadog/browser-core'\nimport {\n sendToExtension,\n createPageExitObservable,\n TelemetryService,\n addTelemetryConfiguration,\n startTelemetry,\n canUseEventBridge,\n getEventBridge,\n addTelemetryDebug,\n} from '@datadog/browser-core'\nimport { createDOMMutationObservable } from '../browser/domMutationObservable'\nimport { startPerformanceCollection } from '../browser/performanceCollection'\nimport { startRumAssembly } from '../domain/assembly'\nimport { startInternalContext } from '../domain/contexts/internalContext'\nimport { LifeCycle, LifeCycleEventType } from '../domain/lifeCycle'\nimport { startViewContexts } from '../domain/contexts/viewContexts'\nimport { startRequestCollection } from '../domain/requestCollection'\nimport { startActionCollection } from '../domain/action/actionCollection'\nimport { startErrorCollection } from '../domain/error/errorCollection'\nimport { startLongTaskCollection } from '../domain/longTask/longTaskCollection'\nimport { startResourceCollection } from '../domain/resource/resourceCollection'\nimport { startViewCollection } from '../domain/view/viewCollection'\nimport type { RumSessionManager } from '../domain/rumSessionManager'\nimport { startRumSessionManager, startRumSessionManagerStub } from '../domain/rumSessionManager'\nimport { startRumBatch } from '../transport/startRumBatch'\nimport { startRumEventBridge } from '../transport/startRumEventBridge'\nimport { startUrlContexts } from '../domain/contexts/urlContexts'\nimport type { LocationChange } from '../browser/locationChangeObservable'\nimport { createLocationChangeObservable } from '../browser/locationChangeObservable'\nimport type { RumConfiguration, RumInitConfiguration } from '../domain/configuration'\nimport { serializeRumConfiguration } from '../domain/configuration'\nimport type { ViewOptions } from '../domain/view/trackViews'\nimport { startFeatureFlagContexts } from '../domain/contexts/featureFlagContext'\nimport { startCustomerDataTelemetry } from '../domain/startCustomerDataTelemetry'\nimport { startPageStateHistory } from '../domain/contexts/pageStateHistory'\nimport type { CommonContext } from '../domain/contexts/commonContext'\nimport { buildCommonContext } from '../domain/contexts/commonContext'\nimport { startDisplayContext } from '../domain/contexts/displayContext'\nimport type { RecorderApi } from './rumPublicApi'\n\nexport function startRum(\n initConfiguration: RumInitConfiguration,\n configuration: RumConfiguration,\n recorderApi: RecorderApi,\n globalContextManager: ContextManager,\n userContextManager: ContextManager,\n initialViewOptions: ViewOptions | undefined,\n createEncoder: (streamId: DeflateEncoderStreamId) => Encoder\n) {\n const cleanupTasks: Array<() => void> = []\n const lifeCycle = new LifeCycle()\n\n lifeCycle.subscribe(LifeCycleEventType.RUM_EVENT_COLLECTED, (event) => sendToExtension('rum', event))\n\n const telemetry = startRumTelemetry(configuration)\n telemetry.setContextProvider(() => ({\n application: {\n id: configuration.applicationId,\n },\n session: {\n id: session.findTrackedSession()?.id,\n },\n view: {\n id: viewContexts.findView()?.id,\n },\n action: {\n id: actionContexts.findActionId(),\n },\n }))\n\n const reportError = (error: RawError) => {\n lifeCycle.notify(LifeCycleEventType.RAW_ERROR_COLLECTED, { error })\n addTelemetryDebug('Error reported to customer', { 'error.message': error.message })\n }\n const featureFlagContexts = startFeatureFlagContexts(lifeCycle)\n\n const pageExitObservable = createPageExitObservable(configuration)\n const pageExitSubscription = pageExitObservable.subscribe((event) => {\n lifeCycle.notify(LifeCycleEventType.PAGE_EXITED, event)\n })\n cleanupTasks.push(() => pageExitSubscription.unsubscribe())\n\n const session = !canUseEventBridge() ? startRumSessionManager(configuration, lifeCycle) : startRumSessionManagerStub()\n if (!canUseEventBridge()) {\n const batch = startRumBatch(\n configuration,\n lifeCycle,\n telemetry.observable,\n reportError,\n pageExitObservable,\n session.expireObservable,\n createEncoder\n )\n cleanupTasks.push(() => batch.stop())\n startCustomerDataTelemetry(\n configuration,\n telemetry,\n lifeCycle,\n globalContextManager,\n userContextManager,\n featureFlagContexts,\n batch.flushObservable\n )\n } else {\n startRumEventBridge(lifeCycle)\n }\n\n const domMutationObservable = createDOMMutationObservable()\n const locationChangeObservable = createLocationChangeObservable(configuration, location)\n\n const {\n viewContexts,\n pageStateHistory,\n urlContexts,\n actionContexts,\n addAction,\n stop: stopRumEventCollection,\n } = startRumEventCollection(\n lifeCycle,\n configuration,\n location,\n session,\n locationChangeObservable,\n domMutationObservable,\n () => buildCommonContext(globalContextManager, userContextManager, recorderApi),\n reportError\n )\n cleanupTasks.push(stopRumEventCollection)\n\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration))\n\n startLongTaskCollection(lifeCycle, configuration, session)\n startResourceCollection(lifeCycle, configuration, session, pageStateHistory)\n\n const {\n addTiming,\n startView,\n stop: stopViewCollection,\n } = startViewCollection(\n lifeCycle,\n configuration,\n location,\n domMutationObservable,\n locationChangeObservable,\n featureFlagContexts,\n pageStateHistory,\n recorderApi,\n initialViewOptions\n )\n cleanupTasks.push(stopViewCollection)\n\n const { addError } = startErrorCollection(lifeCycle, configuration, pageStateHistory, featureFlagContexts)\n\n startRequestCollection(lifeCycle, configuration, session)\n startPerformanceCollection(lifeCycle, configuration)\n\n const internalContext = startInternalContext(\n configuration.applicationId,\n session,\n viewContexts,\n actionContexts,\n urlContexts\n )\n\n return {\n addAction,\n addError,\n addTiming,\n addFeatureFlagEvaluation: featureFlagContexts.addFeatureFlagEvaluation,\n startView,\n lifeCycle,\n viewContexts,\n session,\n stopSession: () => session.expire(),\n getInternalContext: internalContext.get,\n stop: () => {\n cleanupTasks.forEach((task) => task())\n },\n }\n}\n\nfunction startRumTelemetry(configuration: RumConfiguration) {\n const telemetry = startTelemetry(TelemetryService.RUM, configuration)\n if (canUseEventBridge()) {\n const bridge = getEventBridge<'internal_telemetry', TelemetryEvent>()!\n telemetry.observable.subscribe((event) => bridge.send('internal_telemetry', event))\n }\n return telemetry\n}\n\nexport function startRumEventCollection(\n lifeCycle: LifeCycle,\n configuration: RumConfiguration,\n location: Location,\n sessionManager: RumSessionManager,\n locationChangeObservable: Observable,\n domMutationObservable: Observable,\n buildCommonContext: () => CommonContext,\n reportError: (error: RawError) => void\n) {\n const viewContexts = startViewContexts(lifeCycle)\n const urlContexts = startUrlContexts(lifeCycle, locationChangeObservable, location)\n\n const pageStateHistory = startPageStateHistory(configuration)\n\n const { addAction, actionContexts } = startActionCollection(\n lifeCycle,\n domMutationObservable,\n configuration,\n pageStateHistory\n )\n\n const displayContext = startDisplayContext(configuration)\n\n startRumAssembly(\n configuration,\n lifeCycle,\n sessionManager,\n viewContexts,\n urlContexts,\n actionContexts,\n displayContext,\n buildCommonContext,\n reportError\n )\n\n return {\n viewContexts,\n pageStateHistory,\n urlContexts,\n addAction,\n actionContexts,\n stop: () => {\n displayContext.stop()\n pageStateHistory.stop()\n urlContexts.stop()\n viewContexts.stop()\n pageStateHistory.stop()\n },\n }\n}\n","import { INTAKE_SITE_STAGING, INTAKE_SITE_US1, INTAKE_SITE_EU1 } from '@datadog/browser-core'\nimport type { RumConfiguration } from './configuration'\nimport type { ViewContext } from './contexts/viewContexts'\nimport type { RumSession } from './rumSessionManager'\n\nexport function getSessionReplayUrl(\n configuration: RumConfiguration,\n {\n session,\n viewContext,\n errorType,\n }: {\n session?: RumSession\n viewContext?: ViewContext\n errorType?: string\n }\n): string {\n const sessionId = session ? session.id : 'no-session-id'\n const parameters: string[] = []\n if (errorType !== undefined) {\n parameters.push(`error-type=${errorType}`)\n }\n if (viewContext) {\n parameters.push(`seed=${viewContext.id}`)\n parameters.push(`from=${viewContext.startClocks.timeStamp}`)\n }\n\n const origin = getDatadogSiteUrl(configuration)\n const path = `/rum/replay/sessions/${sessionId}`\n return `${origin}${path}?${parameters.join('&')}`\n}\n\nexport function getDatadogSiteUrl(rumConfiguration: RumConfiguration) {\n const site = rumConfiguration.site\n const subdomain = rumConfiguration.subdomain || getSiteDefaultSubdomain(rumConfiguration)\n return `https://${subdomain ? `${subdomain}.` : ''}${site}`\n}\n\nfunction getSiteDefaultSubdomain(configuration: RumConfiguration): string | undefined {\n switch (configuration.site) {\n case INTAKE_SITE_US1:\n case INTAKE_SITE_EU1:\n return 'app'\n case INTAKE_SITE_STAGING:\n return 'dd'\n default:\n return undefined\n }\n}\n","export { RumPublicApi, makeRumPublicApi, RecorderApi, StartRum } from './boot/rumPublicApi'\nexport {\n RumEvent,\n RumActionEvent,\n CommonProperties,\n RumErrorEvent,\n RumViewEvent,\n RumResourceEvent,\n RumLongTaskEvent,\n} from './rumEvent.types'\nexport {\n RumLongTaskEventDomainContext,\n RumErrorEventDomainContext,\n RumOtherResourceEventDomainContext,\n RumXhrResourceEventDomainContext,\n RumFetchResourceEventDomainContext,\n RumActionEventDomainContext,\n RumViewEventDomainContext,\n RumEventDomainContext,\n} from './domainContext.types'\nexport { ReplayStats, ActionType, RumEventType, FrustrationType, RawRumActionEvent } from './rawRumEvent.types'\nexport { startRum } from './boot/startRum'\nexport { LifeCycle, LifeCycleEventType } from './domain/lifeCycle'\nexport { ViewCreatedEvent } from './domain/view/trackViews'\nexport { ViewContexts, ViewContext } from './domain/contexts/viewContexts'\nexport { RumSessionManager, RumSession } from './domain/rumSessionManager'\nexport { getMutationObserverConstructor } from './browser/domMutationObservable'\nexport { initViewportObservable, getViewportDimension } from './browser/viewportObservable'\nexport { getScrollX, getScrollY } from './browser/scroll'\nexport { RumInitConfiguration, RumConfiguration } from './domain/configuration'\nexport { DEFAULT_PROGRAMMATIC_ACTION_NAME_ATTRIBUTE } from './domain/action/getActionNameFromElement'\nexport { STABLE_ATTRIBUTES } from './domain/getSelectorFromElement'\nexport * from './browser/htmlDomUtils'\nexport { getSessionReplayUrl } from './domain/getSessionReplayUrl'\n","import type * as SessionReplay from './sessionReplay'\n\nexport const RecordType: {\n FullSnapshot: SessionReplay.BrowserFullSnapshotRecord['type']\n IncrementalSnapshot: SessionReplay.BrowserIncrementalSnapshotRecord['type']\n Meta: SessionReplay.MetaRecord['type']\n Focus: SessionReplay.FocusRecord['type']\n ViewEnd: SessionReplay.ViewEndRecord['type']\n VisualViewport: SessionReplay.VisualViewportRecord['type']\n FrustrationRecord: SessionReplay.FrustrationRecord['type']\n} = {\n FullSnapshot: 2,\n IncrementalSnapshot: 3,\n Meta: 4,\n Focus: 6,\n ViewEnd: 7,\n VisualViewport: 8,\n FrustrationRecord: 9,\n} as const\n\nexport type RecordType = (typeof RecordType)[keyof typeof RecordType]\n\nexport const NodeType: {\n Document: SessionReplay.DocumentNode['type']\n DocumentType: SessionReplay.DocumentTypeNode['type']\n Element: SessionReplay.ElementNode['type']\n Text: SessionReplay.TextNode['type']\n CDATA: SessionReplay.CDataNode['type']\n DocumentFragment: SessionReplay.DocumentFragmentNode['type']\n} = {\n Document: 0,\n DocumentType: 1,\n Element: 2,\n Text: 3,\n CDATA: 4,\n DocumentFragment: 11,\n} as const\n\nexport type NodeType = (typeof NodeType)[keyof typeof NodeType]\n\nexport const IncrementalSource: {\n Mutation: SessionReplay.BrowserMutationData['source']\n MouseMove: Exclude\n MouseInteraction: SessionReplay.MouseInteractionData['source']\n Scroll: SessionReplay.ScrollData['source']\n ViewportResize: SessionReplay.ViewportResizeData['source']\n Input: SessionReplay.InputData['source']\n TouchMove: Exclude\n MediaInteraction: SessionReplay.MediaInteractionData['source']\n StyleSheetRule: SessionReplay.StyleSheetRuleData['source']\n} = {\n Mutation: 0,\n MouseMove: 1,\n MouseInteraction: 2,\n Scroll: 3,\n ViewportResize: 4,\n Input: 5,\n TouchMove: 6,\n MediaInteraction: 7,\n StyleSheetRule: 8,\n // CanvasMutation : 9,\n // Font : 10,\n} as const\n\nexport type IncrementalSource = (typeof IncrementalSource)[keyof typeof IncrementalSource]\n\nexport const MouseInteractionType = {\n MouseUp: 0,\n MouseDown: 1,\n Click: 2,\n ContextMenu: 3,\n DblClick: 4,\n Focus: 5,\n Blur: 6,\n TouchStart: 7,\n TouchEnd: 9,\n} as const\n\nexport type MouseInteractionType = (typeof MouseInteractionType)[keyof typeof MouseInteractionType]\n\nexport const MediaInteractionType = {\n Play: 0,\n Pause: 1,\n} as const\n\nexport type MediaInteractionType = (typeof MediaInteractionType)[keyof typeof MediaInteractionType]\n","export * from './sessionReplay'\nexport * from './sessionReplayConstants'\n","import { assign, timeStampNow } from '@datadog/browser-core'\nimport type { BrowserIncrementalData, BrowserIncrementalSnapshotRecord } from '../../types'\nimport { RecordType } from '../../types'\n\nexport function assembleIncrementalSnapshot(\n source: Data['source'],\n data: Omit\n): BrowserIncrementalSnapshotRecord {\n return {\n data: assign(\n {\n source,\n },\n data\n ) as Data,\n type: RecordType.IncrementalSnapshot,\n timestamp: timeStampNow(),\n }\n}\n","import { DefaultPrivacyLevel } from '@datadog/browser-core'\n\nexport const NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n} as const\nexport type NodePrivacyLevel = (typeof NodePrivacyLevel)[keyof typeof NodePrivacyLevel]\n\nexport const PRIVACY_ATTR_NAME = 'data-dd-privacy'\n\n// Privacy Attrs\nexport const PRIVACY_ATTR_VALUE_ALLOW = 'allow'\nexport const PRIVACY_ATTR_VALUE_MASK = 'mask'\nexport const PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input'\nexport const PRIVACY_ATTR_VALUE_HIDDEN = 'hidden'\n\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport const PRIVACY_CLASS_ALLOW = 'dd-privacy-allow'\nexport const PRIVACY_CLASS_MASK = 'dd-privacy-mask'\nexport const PRIVACY_CLASS_MASK_USER_INPUT = 'dd-privacy-mask-user-input'\nexport const PRIVACY_CLASS_HIDDEN = 'dd-privacy-hidden'\n\n// Private Replacement Templates\nexport const CENSORED_STRING_MARK = '***'\nexport const CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=='\n\nexport const FORM_PRIVATE_TAG_NAMES: { [tagName: string]: true } = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n}\n","import { isElementNode, getParentNode, isTextNode } from '@datadog/browser-rum-core'\nimport {\n NodePrivacyLevel,\n PRIVACY_ATTR_NAME,\n PRIVACY_ATTR_VALUE_ALLOW,\n PRIVACY_ATTR_VALUE_MASK,\n PRIVACY_ATTR_VALUE_MASK_USER_INPUT,\n PRIVACY_ATTR_VALUE_HIDDEN,\n PRIVACY_CLASS_ALLOW,\n PRIVACY_CLASS_MASK,\n PRIVACY_CLASS_MASK_USER_INPUT,\n PRIVACY_CLASS_HIDDEN,\n FORM_PRIVATE_TAG_NAMES,\n CENSORED_STRING_MARK,\n} from '../../constants'\n\nexport const MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 100_000\n\nconst TEXT_MASKING_CHAR = 'x'\n\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node: Node, defaultPrivacyLevel: NodePrivacyLevel): NodePrivacyLevel {\n const parentNode = getParentNode(node)\n const parentNodePrivacyLevel = parentNode ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel) : defaultPrivacyLevel\n const selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node)\n return reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel)\n}\n\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nexport function reducePrivacyLevel(\n childPrivacyLevel: NodePrivacyLevel | undefined,\n parentNodePrivacyLevel: NodePrivacyLevel\n): NodePrivacyLevel {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel\n }\n switch (childPrivacyLevel) {\n case NodePrivacyLevel.ALLOW:\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.MASK_USER_INPUT:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return childPrivacyLevel\n default:\n return parentNodePrivacyLevel\n }\n}\n\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nexport function getNodeSelfPrivacyLevel(node: Node): NodePrivacyLevel | undefined {\n // Only Element types can have a privacy level set\n if (!isElementNode(node)) {\n return\n }\n\n const privAttr = node.getAttribute(PRIVACY_ATTR_NAME)\n\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW\n }\n\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n const inputElement = node as HTMLInputElement\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK\n }\n const autocomplete = inputElement.getAttribute('autocomplete')\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year]\n if (autocomplete && autocomplete.indexOf('cc-') === 0) {\n return NodePrivacyLevel.MASK\n }\n }\n\n // Check HTML privacy attributes and classes\n if (privAttr === PRIVACY_ATTR_VALUE_HIDDEN || node.classList.contains(PRIVACY_CLASS_HIDDEN)) {\n return NodePrivacyLevel.HIDDEN\n }\n\n if (privAttr === PRIVACY_ATTR_VALUE_MASK || node.classList.contains(PRIVACY_CLASS_MASK)) {\n return NodePrivacyLevel.MASK\n }\n\n if (privAttr === PRIVACY_ATTR_VALUE_MASK_USER_INPUT || node.classList.contains(PRIVACY_CLASS_MASK_USER_INPUT)) {\n return NodePrivacyLevel.MASK_USER_INPUT\n }\n\n if (privAttr === PRIVACY_ATTR_VALUE_ALLOW || node.classList.contains(PRIVACY_CLASS_ALLOW)) {\n return NodePrivacyLevel.ALLOW\n }\n\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE\n }\n}\n\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node: Node, privacyLevel: NodePrivacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node)\n default:\n return false\n }\n}\n\nfunction isFormElement(node: Node | null): boolean {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false\n }\n const element = node as HTMLInputElement\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName]\n}\n\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport const censorText = (text: string) => text.replace(/\\S/g, TEXT_MASKING_CHAR)\n\nexport function getTextContent(\n textNode: Node,\n ignoreWhiteSpace: boolean,\n parentNodePrivacyLevel: NodePrivacyLevel\n): string | undefined {\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n const parentTagName = textNode.parentElement?.tagName\n let textContent = textNode.textContent || ''\n\n if (ignoreWhiteSpace && !textContent.trim()) {\n return\n }\n\n const nodePrivacyLevel = parentNodePrivacyLevel\n\n const isScript = parentTagName === 'SCRIPT'\n\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK\n } else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK\n } else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP'\n ) {\n if (!textContent.trim()) {\n return\n }\n } else if (parentTagName === 'OPTION') {\n // = Middlewares\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n * \r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /* \r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic paramter, \r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: StoreEnhancer[] | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport interface EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param config The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n let storeEnhancers: StoreEnhancer[] = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as any\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface EnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * See detailed documentation at https://github.com/reduxjs/redux-devtools/blob/%40redux-devtools/extension%403.2.1/extension/docs/API/Arguments.md#serialize\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n options?:\r\n | boolean\r\n | {\r\n date?: boolean\r\n regex?: boolean\r\n undefined?: boolean\r\n error?: boolean\r\n symbol?: boolean\r\n map?: boolean\r\n set?: boolean\r\n function?: boolean | Function\r\n }\r\n replacer?: (key: string, value: unknown) => unknown\r\n reviver?: (key: string, value: unknown) => unknown\r\n immutable?: unknown\r\n refs?: unknown[]\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsBlacklist`/`actionsWhitelist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: EnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: EnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware } from 'redux'\r\nimport { getTimeMeasureUtils } from './utils'\r\n\r\ntype EntryProcessor = (key: string, value: any) => any\r\n\r\nconst isProduction: boolean = process.env.NODE_ENV === 'production'\r\nconst prefix: string = 'Invariant failed'\r\n\r\n// Throw an error if the condition fails\r\n// Strip out error messages for production\r\n// > Not providing an inline default argument for message as the result is smaller\r\nfunction invariant(condition: any, message?: string) {\r\n if (condition) {\r\n return\r\n }\r\n // Condition not passed\r\n\r\n // In production we strip the message but still throw\r\n if (isProduction) {\r\n throw new Error(prefix)\r\n }\r\n\r\n // When not in production we allow the message to pass through\r\n // *This block will be removed in production builds*\r\n throw new Error(`${prefix}: ${message || ''}`)\r\n}\r\n\r\nfunction stringify(\r\n obj: any,\r\n serializer?: EntryProcessor,\r\n indent?: string | number,\r\n decycler?: EntryProcessor\r\n): string {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent)\r\n}\r\n\r\nfunction getSerialize(\r\n serializer?: EntryProcessor,\r\n decycler?: EntryProcessor\r\n): EntryProcessor {\r\n let stack: any[] = [],\r\n keys: any[] = []\r\n\r\n if (!decycler)\r\n decycler = function (_: string, value: any) {\r\n if (stack[0] === value) return '[Circular ~]'\r\n return (\r\n '[Circular ~.' + keys.slice(0, stack.indexOf(value)).join('.') + ']'\r\n )\r\n }\r\n\r\n return function (this: any, key: string, value: any) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this)\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)\r\n if (~stack.indexOf(value)) value = decycler!.call(this, key, value)\r\n } else stack.push(value)\r\n\r\n return serializer == null ? value : serializer.call(this, key, value)\r\n }\r\n}\r\n\r\n/**\r\n * The default `isImmutable` function.\r\n *\r\n * @public\r\n */\r\nexport function isImmutableDefault(value: unknown): boolean {\r\n return (\r\n typeof value !== 'object' ||\r\n value === null ||\r\n typeof value === 'undefined' ||\r\n Object.isFrozen(value)\r\n )\r\n}\r\n\r\nexport function trackForMutations(\r\n isImmutable: IsImmutableFunc,\r\n ignorePaths: string[] | undefined,\r\n obj: any\r\n) {\r\n const trackedProperties = trackProperties(isImmutable, ignorePaths, obj)\r\n return {\r\n detectMutations() {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj)\r\n },\r\n }\r\n}\r\n\r\ninterface TrackedProperty {\r\n value: any\r\n children: Record\r\n}\r\n\r\nfunction trackProperties(\r\n isImmutable: IsImmutableFunc,\r\n ignorePaths: IgnorePaths = [],\r\n obj: Record,\r\n path: string = ''\r\n) {\r\n const tracked: Partial = { value: obj }\r\n\r\n if (!isImmutable(obj)) {\r\n tracked.children = {}\r\n\r\n for (const key in obj) {\r\n const childPath = path ? path + '.' + key : key\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue\r\n }\r\n\r\n tracked.children[key] = trackProperties(\r\n isImmutable,\r\n ignorePaths,\r\n obj[key],\r\n childPath\r\n )\r\n }\r\n }\r\n return tracked as TrackedProperty\r\n}\r\n\r\ntype IgnorePaths = readonly string[]\r\n\r\nfunction detectMutations(\r\n isImmutable: IsImmutableFunc,\r\n ignorePaths: IgnorePaths = [],\r\n trackedProperty: TrackedProperty,\r\n obj: any,\r\n sameParentRef: boolean = false,\r\n path: string = ''\r\n): { wasMutated: boolean; path?: string } {\r\n const prevObj = trackedProperty ? trackedProperty.value : undefined\r\n\r\n const sameRef = prevObj === obj\r\n\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path }\r\n }\r\n\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false }\r\n }\r\n\r\n // Gather all keys from prev (tracked) and after objs\r\n const keysToDetect: Record = {}\r\n for (let key in trackedProperty.children) {\r\n keysToDetect[key] = true\r\n }\r\n for (let key in obj) {\r\n keysToDetect[key] = true\r\n }\r\n\r\n for (let key in keysToDetect) {\r\n const childPath = path ? path + '.' + key : key\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue\r\n }\r\n\r\n const result = detectMutations(\r\n isImmutable,\r\n ignorePaths,\r\n trackedProperty.children[key],\r\n obj[key],\r\n sameRef,\r\n childPath\r\n )\r\n\r\n if (result.wasMutated) {\r\n return result\r\n }\r\n }\r\n return { wasMutated: false }\r\n}\r\n\r\ntype IsImmutableFunc = (value: any) => boolean\r\n\r\n/**\r\n * Options for `createImmutableStateInvariantMiddleware()`.\r\n *\r\n * @public\r\n */\r\nexport interface ImmutableStateInvariantMiddlewareOptions {\r\n /**\r\n Callback function to check if a value is considered to be immutable.\r\n This function is applied recursively to every value contained in the state.\r\n The default implementation will return true for primitive types \r\n (like numbers, strings, booleans, null and undefined).\r\n */\r\n isImmutable?: IsImmutableFunc\r\n /** \r\n An array of dot-separated path strings that match named nodes from \r\n the root state to ignore when checking for immutability.\r\n Defaults to undefined\r\n */\r\n ignoredPaths?: string[]\r\n /** Print a warning if checks take longer than N ms. Default: 32ms */\r\n warnAfter?: number\r\n // @deprecated. Use ignoredPaths\r\n ignore?: string[]\r\n}\r\n\r\n/**\r\n * Creates a middleware that checks whether any state was mutated in between\r\n * dispatches or during a dispatch. If any mutations are detected, an error is\r\n * thrown.\r\n *\r\n * @param options Middleware options.\r\n *\r\n * @public\r\n */\r\nexport function createImmutableStateInvariantMiddleware(\r\n options: ImmutableStateInvariantMiddlewareOptions = {}\r\n): Middleware {\r\n if (process.env.NODE_ENV === 'production') {\r\n return () => (next) => (action) => next(action)\r\n }\r\n\r\n let {\r\n isImmutable = isImmutableDefault,\r\n ignoredPaths,\r\n warnAfter = 32,\r\n ignore,\r\n } = options\r\n\r\n // Alias ignore->ignoredPaths, but prefer ignoredPaths if present\r\n ignoredPaths = ignoredPaths || ignore\r\n\r\n const track = trackForMutations.bind(null, isImmutable, ignoredPaths)\r\n\r\n return ({ getState }) => {\r\n let state = getState()\r\n let tracker = track(state)\r\n\r\n let result\r\n return (next) => (action) => {\r\n const measureUtils = getTimeMeasureUtils(\r\n warnAfter,\r\n 'ImmutableStateInvariantMiddleware'\r\n )\r\n\r\n measureUtils.measureTime(() => {\r\n state = getState()\r\n\r\n result = tracker.detectMutations()\r\n // Track before potentially not meeting the invariant\r\n tracker = track(state)\r\n\r\n invariant(\r\n !result.wasMutated,\r\n `A state mutation was detected between dispatches, in the path '${\r\n result.path || ''\r\n }'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`\r\n )\r\n })\r\n\r\n const dispatchedAction = next(action)\r\n\r\n measureUtils.measureTime(() => {\r\n state = getState()\r\n\r\n result = tracker.detectMutations()\r\n // Track before potentially not meeting the invariant\r\n tracker = track(state)\r\n\r\n result.wasMutated &&\r\n invariant(\r\n !result.wasMutated,\r\n `A state mutation was detected inside a dispatch, in the path: ${\r\n result.path || ''\r\n }. Take a look at the reducer(s) handling the action ${stringify(\r\n action\r\n )}. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`\r\n )\r\n })\r\n\r\n measureUtils.warnIfExceeded()\r\n\r\n return dispatchedAction\r\n }\r\n }\r\n}\r\n","import isPlainObject from './isPlainObject'\r\nimport type { Middleware } from 'redux'\r\nimport { getTimeMeasureUtils } from './utils'\r\n\r\n/**\r\n * Returns true if the passed value is \"plain\", i.e. a value that is either\r\n * directly JSON-serializable (boolean, number, string, array, plain object)\r\n * or `undefined`.\r\n *\r\n * @param val The value to check.\r\n *\r\n * @public\r\n */\r\nexport function isPlain(val: any) {\r\n const type = typeof val\r\n return (\r\n type === 'undefined' ||\r\n val === null ||\r\n type === 'string' ||\r\n type === 'boolean' ||\r\n type === 'number' ||\r\n Array.isArray(val) ||\r\n isPlainObject(val)\r\n )\r\n}\r\n\r\ninterface NonSerializableValue {\r\n keyPath: string\r\n value: unknown\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function findNonSerializableValue(\r\n value: unknown,\r\n path: string = '',\r\n isSerializable: (value: unknown) => boolean = isPlain,\r\n getEntries?: (value: unknown) => [string, any][],\r\n ignoredPaths: readonly string[] = []\r\n): NonSerializableValue | false {\r\n let foundNestedSerializable: NonSerializableValue | false\r\n\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || '',\r\n value: value,\r\n }\r\n }\r\n\r\n if (typeof value !== 'object' || value === null) {\r\n return false\r\n }\r\n\r\n const entries = getEntries != null ? getEntries(value) : Object.entries(value)\r\n\r\n const hasIgnoredPaths = ignoredPaths.length > 0\r\n\r\n for (const [key, nestedValue] of entries) {\r\n const nestedPath = path ? path + '.' + key : key\r\n\r\n if (hasIgnoredPaths && ignoredPaths.indexOf(nestedPath) >= 0) {\r\n continue\r\n }\r\n\r\n if (!isSerializable(nestedValue)) {\r\n return {\r\n keyPath: nestedPath,\r\n value: nestedValue,\r\n }\r\n }\r\n\r\n if (typeof nestedValue === 'object') {\r\n foundNestedSerializable = findNonSerializableValue(\r\n nestedValue,\r\n nestedPath,\r\n isSerializable,\r\n getEntries,\r\n ignoredPaths\r\n )\r\n\r\n if (foundNestedSerializable) {\r\n return foundNestedSerializable\r\n }\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\n/**\r\n * Options for `createSerializableStateInvariantMiddleware()`.\r\n *\r\n * @public\r\n */\r\nexport interface SerializableStateInvariantMiddlewareOptions {\r\n /**\r\n * The function to check if a value is considered serializable. This\r\n * function is applied recursively to every value contained in the\r\n * state. Defaults to `isPlain()`.\r\n */\r\n isSerializable?: (value: any) => boolean\r\n /**\r\n * The function that will be used to retrieve entries from each\r\n * value. If unspecified, `Object.entries` will be used. Defaults\r\n * to `undefined`.\r\n */\r\n getEntries?: (value: any) => [string, any][]\r\n\r\n /**\r\n * An array of action types to ignore when checking for serializability.\r\n * Defaults to []\r\n */\r\n ignoredActions?: string[]\r\n\r\n /**\r\n * An array of dot-separated path strings to ignore when checking\r\n * for serializability, Defaults to ['meta.arg', 'meta.baseQueryMeta']\r\n */\r\n ignoredActionPaths?: string[]\r\n\r\n /**\r\n * An array of dot-separated path strings to ignore when checking\r\n * for serializability, Defaults to []\r\n */\r\n ignoredPaths?: string[]\r\n /**\r\n * Execution time warning threshold. If the middleware takes longer\r\n * than `warnAfter` ms, a warning will be displayed in the console.\r\n * Defaults to 32ms.\r\n */\r\n warnAfter?: number\r\n\r\n /**\r\n * Opt out of checking state. When set to `true`, other state-related params will be ignored.\r\n */\r\n ignoreState?: boolean\r\n\r\n /**\r\n * Opt out of checking actions. When set to `true`, other action-related params will be ignored.\r\n */\r\n ignoreActions?: boolean\r\n}\r\n\r\n/**\r\n * Creates a middleware that, after every state change, checks if the new\r\n * state is serializable. If a non-serializable value is found within the\r\n * state, an error is printed to the console.\r\n *\r\n * @param options Middleware options.\r\n *\r\n * @public\r\n */\r\nexport function createSerializableStateInvariantMiddleware(\r\n options: SerializableStateInvariantMiddlewareOptions = {}\r\n): Middleware {\r\n if (process.env.NODE_ENV === 'production') {\r\n return () => (next) => (action) => next(action)\r\n }\r\n const {\r\n isSerializable = isPlain,\r\n getEntries,\r\n ignoredActions = [],\r\n ignoredActionPaths = ['meta.arg', 'meta.baseQueryMeta'],\r\n ignoredPaths = [],\r\n warnAfter = 32,\r\n ignoreState = false,\r\n ignoreActions = false,\r\n } = options\r\n\r\n return (storeAPI) => (next) => (action) => {\r\n const result = next(action)\r\n\r\n const measureUtils = getTimeMeasureUtils(\r\n warnAfter,\r\n 'SerializableStateInvariantMiddleware'\r\n )\r\n\r\n if (\r\n !ignoreActions &&\r\n !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)\r\n ) {\r\n measureUtils.measureTime(() => {\r\n const foundActionNonSerializableValue = findNonSerializableValue(\r\n action,\r\n '',\r\n isSerializable,\r\n getEntries,\r\n ignoredActionPaths\r\n )\r\n\r\n if (foundActionNonSerializableValue) {\r\n const { keyPath, value } = foundActionNonSerializableValue\r\n\r\n console.error(\r\n `A non-serializable value was detected in an action, in the path: \\`${keyPath}\\`. Value:`,\r\n value,\r\n '\\nTake a look at the logic that dispatched this action: ',\r\n action,\r\n '\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)',\r\n '\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)'\r\n )\r\n }\r\n })\r\n }\r\n\r\n if (!ignoreState) {\r\n measureUtils.measureTime(() => {\r\n const state = storeAPI.getState()\r\n\r\n const foundStateNonSerializableValue = findNonSerializableValue(\r\n state,\r\n '',\r\n isSerializable,\r\n getEntries,\r\n ignoredPaths\r\n )\r\n\r\n if (foundStateNonSerializableValue) {\r\n const { keyPath, value } = foundStateNonSerializableValue\r\n\r\n console.error(\r\n `A non-serializable value was detected in the state, in the path: \\`${keyPath}\\`. Value:`,\r\n value,\r\n `\r\nTake a look at the reducer(s) handling this action type: ${action.type}.\r\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`\r\n )\r\n }\r\n })\r\n\r\n measureUtils.warnIfExceeded()\r\n }\r\n\r\n return result\r\n }\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

=\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

| void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

= PayloadActionCreator

\r\n\r\n/**\r\n * The return value of `createSlice`\r\n *\r\n * @public\r\n */\r\nexport interface Slice<\r\n State = any,\r\n CaseReducers extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice name.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The slice's reducer.\r\n */\r\n reducer: Reducer\r\n\r\n /**\r\n * Action creators for the types of actions that are handled by the slice\r\n * reducer.\r\n */\r\n actions: CaseReducerActions\r\n\r\n /**\r\n * The individual case reducer functions that were passed in the `reducers` parameter.\r\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\r\n */\r\n caseReducers: SliceDefinedCaseReducers\r\n\r\n /**\r\n * Provides access to the initial state value given to the slice.\r\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\r\n */\r\n getInitialState: () => State\r\n}\r\n\r\n/**\r\n * Options for `createSlice()`.\r\n *\r\n * @public\r\n */\r\nexport interface CreateSliceOptions<\r\n State = any,\r\n CR extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice's name. Used to namespace the generated action types.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n */\r\n initialState: State | (() => State)\r\n\r\n /**\r\n * A mapping from action types to action-type-specific *case reducer*\r\n * functions. For every action type, a matching action creator will be\r\n * generated using `createAction()`.\r\n */\r\n reducers: ValidateSliceCaseReducers\r\n\r\n /**\r\n * A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * \r\n * Alternatively, a mapping from action types to action-type-specific *case reducer*\r\n * functions. These reducers should have existing action types used\r\n * as the keys, and action creators will _not_ be generated.\r\n * \r\n * @example\r\n```ts\r\nimport { createAction, createSlice, Action, AnyAction } from '@reduxjs/toolkit'\r\nconst incrementBy = createAction('incrementBy')\r\nconst decrement = createAction('decrement')\r\n\r\ninterface RejectedAction extends Action {\r\n error: Error\r\n}\r\n\r\nfunction isRejectedAction(action: AnyAction): action is RejectedAction {\r\n return action.type.endsWith('rejected')\r\n}\r\n\r\ncreateSlice({\r\n name: 'counter',\r\n initialState: 0,\r\n reducers: {},\r\n extraReducers: builder => {\r\n builder\r\n .addCase(incrementBy, (state, action) => {\r\n // action is inferred correctly here if using TS\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {})\r\n // You can match a range of action types\r\n .addMatcher(\r\n isRejectedAction,\r\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\r\n (state, action) => {}\r\n )\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {})\r\n }\r\n})\r\n```\r\n */\r\n extraReducers?:\r\n | CaseReducers, any>\r\n | ((builder: ActionReducerMapBuilder>) => void)\r\n}\r\n\r\n/**\r\n * A CaseReducer with a `prepare` method.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerWithPrepare = {\r\n reducer: CaseReducer\r\n prepare: PrepareAction\r\n}\r\n\r\n/**\r\n * The type describing a slice's `reducers` option.\r\n *\r\n * @public\r\n */\r\nexport type SliceCaseReducers = {\r\n [K: string]:\r\n | CaseReducer>\r\n | CaseReducerWithPrepare>\r\n}\r\n\r\n/**\r\n * Derives the slice's `actions` property from the `reducers` options\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerActions> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends { prepare: any }\r\n ? ActionCreatorForCaseReducerWithPrepare\r\n : ActionCreatorForCaseReducer\r\n}\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducerWithPrepare =\r\n _ActionCreatorWithPreparedPayload\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducer = CR extends (\r\n state: any,\r\n action: infer Action\r\n) => any\r\n ? Action extends { payload: infer P }\r\n ? PayloadActionCreator

\r\n : ActionCreatorWithoutPayload\r\n : ActionCreatorWithoutPayload\r\n\r\n/**\r\n * Extracts the CaseReducers out of a `reducers` object, even if they are\r\n * tested into a `CaseReducerWithPrepare`.\r\n *\r\n * @internal\r\n */\r\ntype SliceDefinedCaseReducers> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends {\r\n reducer: infer Reducer\r\n }\r\n ? Reducer\r\n : CaseReducers[Type]\r\n}\r\n\r\n/**\r\n * Used on a SliceCaseReducers object.\r\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\r\n * the `reducer` and the `prepare` function use the same type of `payload`.\r\n *\r\n * Might do additional such checks in the future.\r\n *\r\n * This type is only ever useful if you want to write your own wrapper around\r\n * `createSlice`. Please don't use it otherwise!\r\n *\r\n * @public\r\n */\r\nexport type ValidateSliceCaseReducers<\r\n S,\r\n ACR extends SliceCaseReducers\r\n> = ACR & {\r\n [T in keyof ACR]: ACR[T] extends {\r\n reducer(s: S, action?: infer A): any\r\n }\r\n ? {\r\n prepare(...a: never[]): Omit\r\n }\r\n : {}\r\n}\r\n\r\nfunction getType(slice: string, actionKey: string): string {\r\n return `${slice}/${actionKey}`\r\n}\r\n\r\n/**\r\n * A function that accepts an initial state, an object full of reducer\r\n * functions, and a \"slice name\", and automatically generates\r\n * action creators and action types that correspond to the\r\n * reducers and state.\r\n *\r\n * The `reducer` argument is passed to `createReducer()`.\r\n *\r\n * @public\r\n */\r\nexport function createSlice<\r\n State,\r\n CaseReducers extends SliceCaseReducers,\r\n Name extends string = string\r\n>(\r\n options: CreateSliceOptions\r\n): Slice {\r\n const { name } = options\r\n if (!name) {\r\n throw new Error('`name` is a required option for createSlice')\r\n }\r\n\r\n if (\r\n typeof process !== 'undefined' &&\r\n process.env.NODE_ENV === 'development'\r\n ) {\r\n if(options.initialState === undefined) {\r\n console.error('You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`')\r\n }\r\n }\r\n\r\n const initialState =\r\n typeof options.initialState == 'function'\r\n ? options.initialState\r\n : freezeDraftable(options.initialState)\r\n\r\n const reducers = options.reducers || {}\r\n\r\n const reducerNames = Object.keys(reducers)\r\n\r\n const sliceCaseReducersByName: Record = {}\r\n const sliceCaseReducersByType: Record = {}\r\n const actionCreators: Record = {}\r\n\r\n reducerNames.forEach((reducerName) => {\r\n const maybeReducerWithPrepare = reducers[reducerName]\r\n const type = getType(name, reducerName)\r\n\r\n let caseReducer: CaseReducer\r\n let prepareCallback: PrepareAction | undefined\r\n\r\n if ('reducer' in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer\r\n prepareCallback = maybeReducerWithPrepare.prepare\r\n } else {\r\n caseReducer = maybeReducerWithPrepare\r\n }\r\n\r\n sliceCaseReducersByName[reducerName] = caseReducer\r\n sliceCaseReducersByType[type] = caseReducer\r\n actionCreators[reducerName] = prepareCallback\r\n ? createAction(type, prepareCallback)\r\n : createAction(type)\r\n })\r\n\r\n function buildReducer() {\r\n const [\r\n extraReducers = {},\r\n actionMatchers = [],\r\n defaultCaseReducer = undefined,\r\n ] =\r\n typeof options.extraReducers === 'function'\r\n ? executeReducerBuilderCallback(options.extraReducers)\r\n : [options.extraReducers]\r\n\r\n const finalCaseReducers = { ...extraReducers, ...sliceCaseReducersByType }\r\n return createReducer(\r\n initialState,\r\n finalCaseReducers as any,\r\n actionMatchers,\r\n defaultCaseReducer\r\n )\r\n }\r\n\r\n let _reducer: ReducerWithInitialState\r\n\r\n return {\r\n name,\r\n reducer(state, action) {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer(state, action)\r\n },\r\n actions: actionCreators as any,\r\n caseReducers: sliceCaseReducersByName as any,\r\n getInitialState() {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer.getInitialState()\r\n },\r\n }\r\n}\r\n","import type { EntityState } from './models'\r\n\r\nexport function getInitialEntityState(): EntityState {\r\n return {\r\n ids: [],\r\n entities: {},\r\n }\r\n}\r\n\r\nexport function createInitialStateFactory() {\r\n function getInitialState(): EntityState\r\n function getInitialState(\r\n additionalState: S\r\n ): EntityState & S\r\n function getInitialState(additionalState: any = {}): any {\r\n return Object.assign(getInitialEntityState(), additionalState)\r\n }\r\n\r\n return { getInitialState }\r\n}\r\n","import type { Selector } from 'reselect'\r\nimport { createDraftSafeSelector } from '../createDraftSafeSelector'\r\nimport type {\r\n EntityState,\r\n EntitySelectors,\r\n Dictionary,\r\n EntityId,\r\n} from './models'\r\n\r\nexport function createSelectorsFactory() {\r\n function getSelectors(): EntitySelectors>\r\n function getSelectors(\r\n selectState: (state: V) => EntityState\r\n ): EntitySelectors\r\n function getSelectors(\r\n selectState?: (state: V) => EntityState\r\n ): EntitySelectors {\r\n const selectIds = (state: EntityState) => state.ids\r\n\r\n const selectEntities = (state: EntityState) => state.entities\r\n\r\n const selectAll = createDraftSafeSelector(\r\n selectIds,\r\n selectEntities,\r\n (ids, entities): T[] => ids.map((id) => entities[id]!)\r\n )\r\n\r\n const selectId = (_: unknown, id: EntityId) => id\r\n\r\n const selectById = (entities: Dictionary, id: EntityId) => entities[id]\r\n\r\n const selectTotal = createDraftSafeSelector(selectIds, (ids) => ids.length)\r\n\r\n if (!selectState) {\r\n return {\r\n selectIds,\r\n selectEntities,\r\n selectAll,\r\n selectTotal,\r\n selectById: createDraftSafeSelector(\r\n selectEntities,\r\n selectId,\r\n selectById\r\n ),\r\n }\r\n }\r\n\r\n const selectGlobalizedEntities = createDraftSafeSelector(\r\n selectState as Selector>,\r\n selectEntities\r\n )\r\n\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(\r\n selectGlobalizedEntities,\r\n selectId,\r\n selectById\r\n ),\r\n }\r\n }\r\n\r\n return { getSelectors }\r\n}\r\n","import createNextState, { isDraft } from 'immer'\r\nimport type { EntityState, PreventAny } from './models'\r\nimport type { PayloadAction } from '../createAction'\r\nimport { isFSA } from '../createAction'\r\nimport { IsAny } from '../tsHelpers'\r\n\r\nexport function createSingleArgumentStateOperator(\r\n mutator: (state: EntityState) => void\r\n) {\r\n const operator = createStateOperator((_: undefined, state: EntityState) =>\r\n mutator(state)\r\n )\r\n\r\n return function operation>(\r\n state: PreventAny\r\n ): S {\r\n return operator(state as S, undefined)\r\n }\r\n}\r\n\r\nexport function createStateOperator(\r\n mutator: (arg: R, state: EntityState) => void\r\n) {\r\n return function operation>(\r\n state: S,\r\n arg: R | PayloadAction\r\n ): S {\r\n function isPayloadActionArgument(\r\n arg: R | PayloadAction\r\n ): arg is PayloadAction {\r\n return isFSA(arg)\r\n }\r\n\r\n const runMutator = (draft: EntityState) => {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft)\r\n } else {\r\n mutator(arg, draft)\r\n }\r\n }\r\n\r\n if (isDraft(state)) {\r\n // we must already be inside a `createNextState` call, likely because\r\n // this is being wrapped in `createReducer` or `createSlice`.\r\n // It's safe to just pass the draft to the mutator.\r\n runMutator(state)\r\n\r\n // since it's a draft, we'll just return it\r\n return state\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(state, runMutator)\r\n }\r\n }\r\n}\r\n","import type { EntityState, IdSelector, Update, EntityId } from './models'\r\n\r\nexport function selectIdValue(entity: T, selectId: IdSelector) {\r\n const key = selectId(entity)\r\n\r\n if (process.env.NODE_ENV !== 'production' && key === undefined) {\r\n console.warn(\r\n 'The entity passed to the `selectId` implementation returned undefined.',\r\n 'You should probably provide your own `selectId` implementation.',\r\n 'The entity that was passed:',\r\n entity,\r\n 'The `selectId` implementation:',\r\n selectId.toString()\r\n )\r\n }\r\n\r\n return key\r\n}\r\n\r\nexport function ensureEntitiesArray(\r\n entities: readonly T[] | Record\r\n): readonly T[] {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities)\r\n }\r\n\r\n return entities\r\n}\r\n\r\nexport function splitAddedUpdatedEntities(\r\n newEntities: readonly T[] | Record,\r\n selectId: IdSelector,\r\n state: EntityState\r\n): [T[], Update[]] {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n\r\n const added: T[] = []\r\n const updated: Update[] = []\r\n\r\n for (const entity of newEntities) {\r\n const id = selectIdValue(entity, selectId)\r\n if (id in state.entities) {\r\n updated.push({ id, changes: entity })\r\n } else {\r\n added.push(entity)\r\n }\r\n }\r\n return [added, updated]\r\n}\r\n","import type {\r\n EntityState,\r\n EntityStateAdapter,\r\n IdSelector,\r\n Update,\r\n EntityId,\r\n} from './models'\r\nimport {\r\n createStateOperator,\r\n createSingleArgumentStateOperator,\r\n} from './state_adapter'\r\nimport {\r\n selectIdValue,\r\n ensureEntitiesArray,\r\n splitAddedUpdatedEntities,\r\n} from './utils'\r\n\r\nexport function createUnsortedStateAdapter(\r\n selectId: IdSelector\r\n): EntityStateAdapter {\r\n type R = EntityState\r\n\r\n function addOneMutably(entity: T, state: R): void {\r\n const key = selectIdValue(entity, selectId)\r\n\r\n if (key in state.entities) {\r\n return\r\n }\r\n\r\n state.ids.push(key)\r\n state.entities[key] = entity\r\n }\r\n\r\n function addManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n\r\n for (const entity of newEntities) {\r\n addOneMutably(entity, state)\r\n }\r\n }\r\n\r\n function setOneMutably(entity: T, state: R): void {\r\n const key = selectIdValue(entity, selectId)\r\n if (!(key in state.entities)) {\r\n state.ids.push(key)\r\n }\r\n state.entities[key] = entity\r\n }\r\n\r\n function setManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n for (const entity of newEntities) {\r\n setOneMutably(entity, state)\r\n }\r\n }\r\n\r\n function setAllMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n\r\n state.ids = []\r\n state.entities = {}\r\n\r\n addManyMutably(newEntities, state)\r\n }\r\n\r\n function removeOneMutably(key: EntityId, state: R): void {\r\n return removeManyMutably([key], state)\r\n }\r\n\r\n function removeManyMutably(keys: readonly EntityId[], state: R): void {\r\n let didMutate = false\r\n\r\n keys.forEach((key) => {\r\n if (key in state.entities) {\r\n delete state.entities[key]\r\n didMutate = true\r\n }\r\n })\r\n\r\n if (didMutate) {\r\n state.ids = state.ids.filter((id) => id in state.entities)\r\n }\r\n }\r\n\r\n function removeAllMutably(state: R): void {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {},\r\n })\r\n }\r\n\r\n function takeNewKey(\r\n keys: { [id: string]: EntityId },\r\n update: Update,\r\n state: R\r\n ): boolean {\r\n const original = state.entities[update.id]\r\n const updated: T = Object.assign({}, original, update.changes)\r\n const newKey = selectIdValue(updated, selectId)\r\n const hasNewKey = newKey !== update.id\r\n\r\n if (hasNewKey) {\r\n keys[update.id] = newKey\r\n delete state.entities[update.id]\r\n }\r\n\r\n state.entities[newKey] = updated\r\n\r\n return hasNewKey\r\n }\r\n\r\n function updateOneMutably(update: Update, state: R): void {\r\n return updateManyMutably([update], state)\r\n }\r\n\r\n function updateManyMutably(\r\n updates: ReadonlyArray>,\r\n state: R\r\n ): void {\r\n const newKeys: { [id: string]: EntityId } = {}\r\n\r\n const updatesPerEntity: { [id: string]: Update } = {}\r\n\r\n updates.forEach((update) => {\r\n // Only apply updates to entities that currently exist\r\n if (update.id in state.entities) {\r\n // If there are multiple updates to one entity, merge them together\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n // Spreads ignore falsy values, so this works even if there isn't\r\n // an existing update already at this key\r\n changes: {\r\n ...(updatesPerEntity[update.id]\r\n ? updatesPerEntity[update.id].changes\r\n : null),\r\n ...update.changes,\r\n },\r\n }\r\n }\r\n })\r\n\r\n updates = Object.values(updatesPerEntity)\r\n\r\n const didMutateEntities = updates.length > 0\r\n\r\n if (didMutateEntities) {\r\n const didMutateIds =\r\n updates.filter((update) => takeNewKey(newKeys, update, state)).length >\r\n 0\r\n\r\n if (didMutateIds) {\r\n state.ids = state.ids.map((id) => newKeys[id] || id)\r\n }\r\n }\r\n }\r\n\r\n function upsertOneMutably(entity: T, state: R): void {\r\n return upsertManyMutably([entity], state)\r\n }\r\n\r\n function upsertManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n const [added, updated] = splitAddedUpdatedEntities(\r\n newEntities,\r\n selectId,\r\n state\r\n )\r\n\r\n updateManyMutably(updated, state)\r\n addManyMutably(added, state)\r\n }\r\n\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably),\r\n }\r\n}\r\n","import type {\r\n EntityState,\r\n IdSelector,\r\n Comparer,\r\n EntityStateAdapter,\r\n Update,\r\n EntityId,\r\n} from './models'\r\nimport { createStateOperator } from './state_adapter'\r\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter'\r\nimport {\r\n selectIdValue,\r\n ensureEntitiesArray,\r\n splitAddedUpdatedEntities,\r\n} from './utils'\r\n\r\nexport function createSortedStateAdapter(\r\n selectId: IdSelector,\r\n sort: Comparer\r\n): EntityStateAdapter {\r\n type R = EntityState\r\n\r\n const { removeOne, removeMany, removeAll } =\r\n createUnsortedStateAdapter(selectId)\r\n\r\n function addOneMutably(entity: T, state: R): void {\r\n return addManyMutably([entity], state)\r\n }\r\n\r\n function addManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n\r\n const models = newEntities.filter(\r\n (model) => !(selectIdValue(model, selectId) in state.entities)\r\n )\r\n\r\n if (models.length !== 0) {\r\n merge(models, state)\r\n }\r\n }\r\n\r\n function setOneMutably(entity: T, state: R): void {\r\n return setManyMutably([entity], state)\r\n }\r\n\r\n function setManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state)\r\n }\r\n }\r\n\r\n function setAllMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n newEntities = ensureEntitiesArray(newEntities)\r\n state.entities = {}\r\n state.ids = []\r\n\r\n addManyMutably(newEntities, state)\r\n }\r\n\r\n function updateOneMutably(update: Update, state: R): void {\r\n return updateManyMutably([update], state)\r\n }\r\n\r\n function updateManyMutably(\r\n updates: ReadonlyArray>,\r\n state: R\r\n ): void {\r\n let appliedUpdates = false\r\n\r\n for (let update of updates) {\r\n const entity = state.entities[update.id]\r\n if (!entity) {\r\n continue\r\n }\r\n\r\n appliedUpdates = true\r\n\r\n Object.assign(entity, update.changes)\r\n const newId = selectId(entity)\r\n if (update.id !== newId) {\r\n delete state.entities[update.id]\r\n state.entities[newId] = entity\r\n }\r\n }\r\n\r\n if (appliedUpdates) {\r\n resortEntities(state)\r\n }\r\n }\r\n\r\n function upsertOneMutably(entity: T, state: R): void {\r\n return upsertManyMutably([entity], state)\r\n }\r\n\r\n function upsertManyMutably(\r\n newEntities: readonly T[] | Record,\r\n state: R\r\n ): void {\r\n const [added, updated] = splitAddedUpdatedEntities(\r\n newEntities,\r\n selectId,\r\n state\r\n )\r\n\r\n updateManyMutably(updated, state)\r\n addManyMutably(added, state)\r\n }\r\n\r\n function areArraysEqual(a: readonly unknown[], b: readonly unknown[]) {\r\n if (a.length !== b.length) {\r\n return false\r\n }\r\n\r\n for (let i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue\r\n }\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n function merge(models: readonly T[], state: R): void {\r\n // Insert/overwrite all new/updated\r\n models.forEach((model) => {\r\n state.entities[selectId(model)] = model\r\n })\r\n\r\n resortEntities(state)\r\n }\r\n\r\n function resortEntities(state: R) {\r\n const allEntities = Object.values(state.entities) as T[]\r\n allEntities.sort(sort)\r\n\r\n const newSortedIds = allEntities.map(selectId)\r\n const { ids } = state\r\n\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds\r\n }\r\n }\r\n\r\n return {\r\n removeOne,\r\n removeMany,\r\n removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n }\r\n}\r\n","import type {\r\n EntityDefinition,\r\n Comparer,\r\n IdSelector,\r\n EntityAdapter,\r\n} from './models'\r\nimport { createInitialStateFactory } from './entity_state'\r\nimport { createSelectorsFactory } from './state_selectors'\r\nimport { createSortedStateAdapter } from './sorted_state_adapter'\r\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter'\r\n\r\n/**\r\n *\r\n * @param options\r\n *\r\n * @public\r\n */\r\nexport function createEntityAdapter(\r\n options: {\r\n selectId?: IdSelector\r\n sortComparer?: false | Comparer\r\n } = {}\r\n): EntityAdapter {\r\n const { selectId, sortComparer }: EntityDefinition = {\r\n sortComparer: false,\r\n selectId: (instance: any) => instance.id,\r\n ...options,\r\n }\r\n\r\n const stateFactory = createInitialStateFactory()\r\n const selectorsFactory = createSelectorsFactory()\r\n const stateAdapter = sortComparer\r\n ? createSortedStateAdapter(selectId, sortComparer)\r\n : createUnsortedStateAdapter(selectId)\r\n\r\n return {\r\n selectId,\r\n sortComparer,\r\n ...stateFactory,\r\n ...selectorsFactory,\r\n ...stateAdapter,\r\n }\r\n}\r\n","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\r\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\r\n// optimize the gzip compression for this alphabet.\r\nlet urlAlphabet =\r\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\r\n\r\n/**\r\n *\r\n * @public\r\n */\r\nexport let nanoid = (size = 21) => {\r\n let id = ''\r\n // A compact alternative for `for (var i = 0; i < step; i++)`.\r\n let i = size\r\n while (i--) {\r\n // `| 0` is more compact and faster than `Math.floor()`.\r\n id += urlAlphabet[(Math.random() * 64) | 0]\r\n }\r\n return id\r\n}\r\n","import type { Dispatch, AnyAction } from 'redux'\r\nimport type {\r\n PayloadAction,\r\n ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport type { FallbackIfUnknown, IsAny, IsUnknown } from './tsHelpers'\r\nimport { nanoid } from './nanoid'\r\n\r\n// @ts-ignore we need the import of these types due to a bundling issue.\r\ntype _Keep = PayloadAction | ActionCreatorWithPreparedPayload\r\n\r\nexport type BaseThunkAPI<\r\n S,\r\n E,\r\n D extends Dispatch = Dispatch,\r\n RejectedValue = undefined,\r\n RejectedMeta = unknown,\r\n FulfilledMeta = unknown\r\n> = {\r\n dispatch: D\r\n getState: () => S\r\n extra: E\r\n requestId: string\r\n signal: AbortSignal\r\n rejectWithValue: IsUnknown<\r\n RejectedMeta,\r\n (value: RejectedValue) => RejectWithValue,\r\n (\r\n value: RejectedValue,\r\n meta: RejectedMeta\r\n ) => RejectWithValue\r\n >\r\n fulfillWithValue: IsUnknown<\r\n FulfilledMeta,\r\n (\r\n value: FulfilledValue\r\n ) => FulfillWithMeta,\r\n (\r\n value: FulfilledValue,\r\n meta: FulfilledMeta\r\n ) => FulfillWithMeta\r\n >\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SerializedError {\r\n name?: string\r\n message?: string\r\n stack?: string\r\n code?: string\r\n}\r\n\r\nconst commonProperties: Array = [\r\n 'name',\r\n 'message',\r\n 'stack',\r\n 'code',\r\n]\r\n\r\nclass RejectWithValue {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'RejectWithValue'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: RejectedMeta\r\n ) {}\r\n}\r\n\r\nclass FulfillWithMeta {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'FulfillWithMeta'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: FulfilledMeta\r\n ) {}\r\n}\r\n\r\n/**\r\n * Serializes an error into a plain object.\r\n * Reworked from https://github.com/sindresorhus/serialize-error\r\n *\r\n * @public\r\n */\r\nexport const miniSerializeError = (value: any): SerializedError => {\r\n if (typeof value === 'object' && value !== null) {\r\n const simpleError: SerializedError = {}\r\n for (const property of commonProperties) {\r\n if (typeof value[property] === 'string') {\r\n simpleError[property] = value[property]\r\n }\r\n }\r\n\r\n return simpleError\r\n }\r\n\r\n return { message: String(value) }\r\n}\r\n\r\ntype AsyncThunkConfig = {\r\n state?: unknown\r\n dispatch?: Dispatch\r\n extra?: unknown\r\n rejectValue?: unknown\r\n serializedErrorType?: unknown\r\n pendingMeta?: unknown\r\n fulfilledMeta?: unknown\r\n rejectedMeta?: unknown\r\n}\r\n\r\ntype GetState = ThunkApiConfig extends {\r\n state: infer State\r\n}\r\n ? State\r\n : unknown\r\ntype GetExtra = ThunkApiConfig extends { extra: infer Extra }\r\n ? Extra\r\n : unknown\r\ntype GetDispatch = ThunkApiConfig extends {\r\n dispatch: infer Dispatch\r\n}\r\n ? FallbackIfUnknown<\r\n Dispatch,\r\n ThunkDispatch<\r\n GetState,\r\n GetExtra,\r\n AnyAction\r\n >\r\n >\r\n : ThunkDispatch, GetExtra, AnyAction>\r\n\r\ntype GetThunkAPI = BaseThunkAPI<\r\n GetState,\r\n GetExtra,\r\n GetDispatch,\r\n GetRejectValue,\r\n GetRejectedMeta,\r\n GetFulfilledMeta\r\n>\r\n\r\ntype GetRejectValue = ThunkApiConfig extends {\r\n rejectValue: infer RejectValue\r\n}\r\n ? RejectValue\r\n : unknown\r\n\r\ntype GetPendingMeta = ThunkApiConfig extends {\r\n pendingMeta: infer PendingMeta\r\n}\r\n ? PendingMeta\r\n : unknown\r\n\r\ntype GetFulfilledMeta = ThunkApiConfig extends {\r\n fulfilledMeta: infer FulfilledMeta\r\n}\r\n ? FulfilledMeta\r\n : unknown\r\n\r\ntype GetRejectedMeta = ThunkApiConfig extends {\r\n rejectedMeta: infer RejectedMeta\r\n}\r\n ? RejectedMeta\r\n : unknown\r\n\r\ntype GetSerializedErrorType = ThunkApiConfig extends {\r\n serializedErrorType: infer GetSerializedErrorType\r\n}\r\n ? GetSerializedErrorType\r\n : SerializedError\r\n\r\ntype MaybePromise = T | Promise | (T extends any ? Promise : never)\r\n\r\n/**\r\n * A type describing the return value of the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreatorReturnValue<\r\n Returned,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = MaybePromise<\r\n | IsUnknown<\r\n GetFulfilledMeta,\r\n Returned,\r\n FulfillWithMeta>\r\n >\r\n | RejectWithValue<\r\n GetRejectValue,\r\n GetRejectedMeta\r\n >\r\n>\r\n/**\r\n * A type describing the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = (\r\n arg: ThunkArg,\r\n thunkAPI: GetThunkAPI\r\n) => AsyncThunkPayloadCreatorReturnValue\r\n\r\n/**\r\n * A ThunkAction created by `createAsyncThunk`.\r\n * Dispatching it returns a Promise for either a\r\n * fulfilled or rejected action.\r\n * Also, the returned value contains an `abort()` method\r\n * that allows the asyncAction to be cancelled from the outside.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkAction<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = (\r\n dispatch: GetDispatch,\r\n getState: () => GetState,\r\n extra: GetExtra\r\n) => Promise<\r\n | ReturnType>\r\n | ReturnType>\r\n> & {\r\n abort: (reason?: string) => void\r\n requestId: string\r\n arg: ThunkArg\r\n unwrap: () => Promise\r\n}\r\n\r\ntype AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = IsAny<\r\n ThunkArg,\r\n // any handling\r\n (arg: ThunkArg) => AsyncThunkAction,\r\n // unknown handling\r\n unknown extends ThunkArg\r\n ? (arg: ThunkArg) => AsyncThunkAction // argument not specified or specified as void or undefined\r\n : [ThunkArg] extends [void] | [undefined]\r\n ? () => AsyncThunkAction // argument contains void\r\n : [void] extends [ThunkArg] // make optional\r\n ? (arg?: ThunkArg) => AsyncThunkAction // argument contains undefined\r\n : [undefined] extends [ThunkArg]\r\n ? WithStrictNullChecks<\r\n // with strict nullChecks: make optional\r\n (\r\n arg?: ThunkArg\r\n ) => AsyncThunkAction,\r\n // without strict null checks this will match everything, so don't make it optional\r\n (arg: ThunkArg) => AsyncThunkAction\r\n > // default case: normal argument\r\n : (arg: ThunkArg) => AsyncThunkAction\r\n>\r\n\r\n/**\r\n * Options object for `createAsyncThunk`.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkOptions<\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = {\r\n /**\r\n * A method to control whether the asyncThunk should be executed. Has access to the\r\n * `arg`, `api.getState()` and `api.extra` arguments.\r\n *\r\n * @returns `false` if it should be skipped\r\n */\r\n condition?(\r\n arg: ThunkArg,\r\n api: Pick, 'getState' | 'extra'>\r\n ): MaybePromise\r\n /**\r\n * If `condition` returns `false`, the asyncThunk will be skipped.\r\n * This option allows you to control whether a `rejected` action with `meta.condition == false`\r\n * will be dispatched or not.\r\n *\r\n * @default `false`\r\n */\r\n dispatchConditionRejection?: boolean\r\n\r\n serializeError?: (x: unknown) => GetSerializedErrorType\r\n\r\n /**\r\n * A function to use when generating the `requestId` for the request sequence.\r\n *\r\n * @default `nanoid`\r\n */\r\n idGenerator?: (arg: ThunkArg) => string\r\n} & IsUnknown<\r\n GetPendingMeta,\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n *\r\n * Using this optional overload will not modify the types correctly, this overload is only in place to support JavaScript users.\r\n * Please use the `ThunkApiConfig` parameter `pendingMeta` to get access to a correctly typed overload\r\n */\r\n getPendingMeta?(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n },\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n */\r\n getPendingMeta(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n }\r\n>\r\n\r\nexport type AsyncThunkPendingActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [string, ThunkArg, GetPendingMeta?],\r\n undefined,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'pending'\r\n } & GetPendingMeta\r\n>\r\n\r\nexport type AsyncThunkRejectedActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [\r\n Error | null,\r\n string,\r\n ThunkArg,\r\n GetRejectValue?,\r\n GetRejectedMeta?\r\n ],\r\n GetRejectValue | undefined,\r\n string,\r\n GetSerializedErrorType,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'rejected'\r\n aborted: boolean\r\n condition: boolean\r\n } & (\r\n | ({ rejectedWithValue: false } & {\r\n [K in keyof GetRejectedMeta]?: undefined\r\n })\r\n | ({ rejectedWithValue: true } & GetRejectedMeta)\r\n )\r\n>\r\n\r\nexport type AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [Returned, string, ThunkArg, GetFulfilledMeta?],\r\n Returned,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'fulfilled'\r\n } & GetFulfilledMeta\r\n>\r\n\r\n/**\r\n * A type describing the return value of `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = AsyncThunkActionCreator & {\r\n pending: AsyncThunkPendingActionCreator\r\n rejected: AsyncThunkRejectedActionCreator\r\n fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >\r\n typePrefix: string\r\n}\r\n\r\n/**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n// separate signature without `AsyncThunkConfig` for better inference\r\nexport function createAsyncThunk(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator,\r\n options?: AsyncThunkOptions\r\n): AsyncThunk\r\n\r\n/**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\nexport function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n>(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator,\r\n options?: AsyncThunkOptions\r\n): AsyncThunk\r\n\r\nexport function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n>(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator,\r\n options?: AsyncThunkOptions\r\n): AsyncThunk {\r\n type RejectedValue = GetRejectValue\r\n type PendingMeta = GetPendingMeta\r\n type FulfilledMeta = GetFulfilledMeta\r\n type RejectedMeta = GetRejectedMeta\r\n\r\n const fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n > = createAction(\r\n typePrefix + '/fulfilled',\r\n (\r\n payload: Returned,\r\n requestId: string,\r\n arg: ThunkArg,\r\n meta?: FulfilledMeta\r\n ) => ({\r\n payload,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'fulfilled' as const,\r\n },\r\n })\r\n )\r\n\r\n const pending: AsyncThunkPendingActionCreator =\r\n createAction(\r\n typePrefix + '/pending',\r\n (requestId: string, arg: ThunkArg, meta?: PendingMeta) => ({\r\n payload: undefined,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'pending' as const,\r\n },\r\n })\r\n )\r\n\r\n const rejected: AsyncThunkRejectedActionCreator =\r\n createAction(\r\n typePrefix + '/rejected',\r\n (\r\n error: Error | null,\r\n requestId: string,\r\n arg: ThunkArg,\r\n payload?: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => ({\r\n payload,\r\n error: ((options && options.serializeError) || miniSerializeError)(\r\n error || 'Rejected'\r\n ) as GetSerializedErrorType,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: 'rejected' as const,\r\n aborted: error?.name === 'AbortError',\r\n condition: error?.name === 'ConditionError',\r\n },\r\n })\r\n )\r\n\r\n let displayedWarning = false\r\n\r\n const AC =\r\n typeof AbortController !== 'undefined'\r\n ? AbortController\r\n : class implements AbortController {\r\n signal = {\r\n aborted: false,\r\n addEventListener() {},\r\n dispatchEvent() {\r\n return false\r\n },\r\n onabort() {},\r\n removeEventListener() {},\r\n reason: undefined,\r\n throwIfAborted() {},\r\n }\r\n abort() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!displayedWarning) {\r\n displayedWarning = true\r\n console.info(\r\n `This platform does not implement AbortController. \r\nIf you want to use the AbortController to react to \\`abort\\` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.`\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n function actionCreator(\r\n arg: ThunkArg\r\n ): AsyncThunkAction {\r\n return (dispatch, getState, extra) => {\r\n const requestId = options?.idGenerator\r\n ? options.idGenerator(arg)\r\n : nanoid()\r\n\r\n const abortController = new AC()\r\n let abortReason: string | undefined\r\n\r\n const abortedPromise = new Promise((_, reject) =>\r\n abortController.signal.addEventListener('abort', () =>\r\n reject({ name: 'AbortError', message: abortReason || 'Aborted' })\r\n )\r\n )\r\n\r\n let started = false\r\n function abort(reason?: string) {\r\n if (started) {\r\n abortReason = reason\r\n abortController.abort()\r\n }\r\n }\r\n\r\n const promise = (async function () {\r\n let finalAction: ReturnType\r\n try {\r\n let conditionResult = options?.condition?.(arg, { getState, extra })\r\n if (isThenable(conditionResult)) {\r\n conditionResult = await conditionResult\r\n }\r\n if (conditionResult === false) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw {\r\n name: 'ConditionError',\r\n message: 'Aborted due to condition callback returning false.',\r\n }\r\n }\r\n started = true\r\n dispatch(\r\n pending(\r\n requestId,\r\n arg,\r\n options?.getPendingMeta?.({ requestId, arg }, { getState, extra })\r\n )\r\n )\r\n finalAction = await Promise.race([\r\n abortedPromise,\r\n Promise.resolve(\r\n payloadCreator(arg, {\r\n dispatch,\r\n getState,\r\n extra,\r\n requestId,\r\n signal: abortController.signal,\r\n rejectWithValue: ((\r\n value: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => {\r\n return new RejectWithValue(value, meta)\r\n }) as any,\r\n fulfillWithValue: ((value: unknown, meta?: FulfilledMeta) => {\r\n return new FulfillWithMeta(value, meta)\r\n }) as any,\r\n })\r\n ).then((result) => {\r\n if (result instanceof RejectWithValue) {\r\n throw result\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta)\r\n }\r\n return fulfilled(result as any, requestId, arg)\r\n }),\r\n ])\r\n } catch (err) {\r\n finalAction =\r\n err instanceof RejectWithValue\r\n ? rejected(null, requestId, arg, err.payload, err.meta)\r\n : rejected(err as any, requestId, arg)\r\n }\r\n // We dispatch the result action _after_ the catch, to avoid having any errors\r\n // here get swallowed by the try/catch block,\r\n // per https://twitter.com/dan_abramov/status/770914221638942720\r\n // and https://github.com/reduxjs/redux-toolkit/blob/e85eb17b39a2118d859f7b7746e0f3fee523e089/docs/tutorials/advanced-tutorial.md#async-error-handling-logic-in-thunks\r\n\r\n const skipDispatch =\r\n options &&\r\n !options.dispatchConditionRejection &&\r\n rejected.match(finalAction) &&\r\n (finalAction as any).meta.condition\r\n\r\n if (!skipDispatch) {\r\n dispatch(finalAction)\r\n }\r\n return finalAction\r\n })()\r\n return Object.assign(promise as Promise, {\r\n abort,\r\n requestId,\r\n arg,\r\n unwrap() {\r\n return promise.then(unwrapResult)\r\n },\r\n })\r\n }\r\n }\r\n\r\n return Object.assign(\r\n actionCreator as AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n {\r\n pending,\r\n rejected,\r\n fulfilled,\r\n typePrefix,\r\n }\r\n )\r\n}\r\n\r\ninterface UnwrappableAction {\r\n payload: any\r\n meta?: any\r\n error?: any\r\n}\r\n\r\ntype UnwrappedActionPayload = Exclude<\r\n T,\r\n { error: any }\r\n>['payload']\r\n\r\n/**\r\n * @public\r\n */\r\nexport function unwrapResult(\r\n action: R\r\n): UnwrappedActionPayload {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload\r\n }\r\n if (action.error) {\r\n throw action.error\r\n }\r\n return action.payload\r\n}\r\n\r\ntype WithStrictNullChecks = undefined extends boolean\r\n ? False\r\n : True\r\n\r\nfunction isThenable(value: any): value is PromiseLike {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n typeof value.then === 'function'\r\n )\r\n}\r\n","import type { Middleware } from 'redux'\r\nimport type { MiddlewareArray } from './utils'\r\n\r\n/**\r\n * return True if T is `any`, otherwise return False\r\n * taken from https://github.com/joonhocho/tsdef\r\n *\r\n * @internal\r\n */\r\nexport type IsAny =\r\n // test if we are going the left AND right path in the condition\r\n true | false extends (T extends never ? true : false) ? True : False\r\n\r\n/**\r\n * return True if T is `unknown`, otherwise return False\r\n * taken from https://github.com/joonhocho/tsdef\r\n *\r\n * @internal\r\n */\r\nexport type IsUnknown = unknown extends T\r\n ? IsAny\r\n : False\r\n\r\nexport type FallbackIfUnknown = IsUnknown\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type IfMaybeUndefined = [undefined] extends [P]\r\n ? True\r\n : False\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type IfVoid = [void] extends [P] ? True : False\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type IsEmptyObj = T extends any\r\n ? keyof T extends never\r\n ? IsUnknown>>\r\n : False\r\n : never\r\n\r\n/**\r\n * returns True if TS version is above 3.5, False if below.\r\n * uses feature detection to detect TS version >= 3.5\r\n * * versions below 3.5 will return `{}` for unresolvable interference\r\n * * versions above will return `unknown`\r\n *\r\n * @internal\r\n */\r\nexport type AtLeastTS35 = [True, False][IsUnknown<\r\n ReturnType<() => T>,\r\n 0,\r\n 1\r\n>]\r\n\r\n/**\r\n * @internal\r\n */\r\nexport type IsUnknownOrNonInferrable = AtLeastTS35<\r\n IsUnknown,\r\n IsEmptyObj>\r\n>\r\n\r\n// Appears to have a convenient side effect of ignoring `never` even if that's not what you specified\r\nexport type ExcludeFromTuple = T extends [\r\n infer Head,\r\n ...infer Tail\r\n]\r\n ? ExcludeFromTuple\r\n : Acc\r\n\r\ntype ExtractDispatchFromMiddlewareTuple<\r\n MiddlewareTuple extends any[],\r\n Acc extends {}\r\n> = MiddlewareTuple extends [infer Head, ...infer Tail]\r\n ? ExtractDispatchFromMiddlewareTuple<\r\n Tail,\r\n Acc & (Head extends Middleware ? IsAny : {})\r\n >\r\n : Acc\r\n\r\nexport type ExtractDispatchExtensions = M extends MiddlewareArray<\r\n infer MiddlewareTuple\r\n>\r\n ? ExtractDispatchFromMiddlewareTuple\r\n : M extends Middleware[]\r\n ? ExtractDispatchFromMiddlewareTuple<[...M], {}>\r\n : never\r\n\r\n/**\r\n * Convert a Union type `(A|B)` to an intersection type `(A&B)`\r\n */\r\nexport type UnionToIntersection = (\r\n U extends any ? (k: U) => void : never\r\n) extends (k: infer I) => void\r\n ? I\r\n : never\r\n\r\n/**\r\n * Helper type. Passes T out again, but boxes it in a way that it cannot\r\n * \"widen\" the type by accident if it is a generic that should be inferred\r\n * from elsewhere.\r\n *\r\n * @internal\r\n */\r\nexport type NoInfer = [T][T extends any ? 0 : never]\r\n\r\nexport type Omit = Pick>\r\n\r\nexport interface TypeGuard {\r\n (value: any): value is T\r\n}\r\n\r\nexport interface HasMatchFunction {\r\n match: TypeGuard\r\n}\r\n\r\nexport const hasMatchFunction = (\r\n v: Matcher\r\n): v is HasMatchFunction => {\r\n return v && typeof (v as HasMatchFunction).match === 'function'\r\n}\r\n\r\n/** @public */\r\nexport type Matcher = HasMatchFunction | TypeGuard\r\n\r\n/** @public */\r\nexport type ActionFromMatcher> = M extends Matcher<\r\n infer T\r\n>\r\n ? T\r\n : never\r\n","import type {\r\n ActionFromMatcher,\r\n Matcher,\r\n UnionToIntersection,\r\n} from './tsHelpers'\r\nimport { hasMatchFunction } from './tsHelpers'\r\nimport type {\r\n AsyncThunk,\r\n AsyncThunkFulfilledActionCreator,\r\n AsyncThunkPendingActionCreator,\r\n AsyncThunkRejectedActionCreator,\r\n} from './createAsyncThunk'\r\n\r\n/** @public */\r\nexport type ActionMatchingAnyOf<\r\n Matchers extends [Matcher, ...Matcher[]]\r\n> = ActionFromMatcher\r\n\r\n/** @public */\r\nexport type ActionMatchingAllOf<\r\n Matchers extends [Matcher, ...Matcher[]]\r\n> = UnionToIntersection>\r\n\r\nconst matches = (matcher: Matcher, action: any) => {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action)\r\n } else {\r\n return matcher(action)\r\n }\r\n}\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action matches any one of the supplied type guards or action\r\n * creators.\r\n *\r\n * @param matchers The type guards or action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isAnyOf, ...Matcher[]]>(\r\n ...matchers: Matchers\r\n) {\r\n return (action: any): action is ActionMatchingAnyOf => {\r\n return matchers.some((matcher) => matches(matcher, action))\r\n }\r\n}\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action matches all of the supplied type guards or action\r\n * creators.\r\n *\r\n * @param matchers The type guards or action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isAllOf, ...Matcher[]]>(\r\n ...matchers: Matchers\r\n) {\r\n return (action: any): action is ActionMatchingAllOf => {\r\n return matchers.every((matcher) => matches(matcher, action))\r\n }\r\n}\r\n\r\n/**\r\n * @param action A redux action\r\n * @param validStatus An array of valid meta.requestStatus values\r\n *\r\n * @internal\r\n */\r\nexport function hasExpectedRequestMetadata(\r\n action: any,\r\n validStatus: readonly string[]\r\n) {\r\n if (!action || !action.meta) return false\r\n\r\n const hasValidRequestId = typeof action.meta.requestId === 'string'\r\n const hasValidRequestStatus =\r\n validStatus.indexOf(action.meta.requestStatus) > -1\r\n\r\n return hasValidRequestId && hasValidRequestStatus\r\n}\r\n\r\nfunction isAsyncThunkArray(a: [any] | AnyAsyncThunk[]): a is AnyAsyncThunk[] {\r\n return (\r\n typeof a[0] === 'function' &&\r\n 'pending' in a[0] &&\r\n 'fulfilled' in a[0] &&\r\n 'rejected' in a[0]\r\n )\r\n}\r\n\r\nexport type UnknownAsyncThunkPendingAction = ReturnType<\r\n AsyncThunkPendingActionCreator\r\n>\r\n\r\nexport type PendingActionFromAsyncThunk =\r\n ActionFromMatcher\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action was created by an async thunk action creator, and that\r\n * the action is pending.\r\n *\r\n * @public\r\n */\r\nexport function isPending(): (\r\n action: any\r\n) => action is UnknownAsyncThunkPendingAction\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action belongs to one of the provided async thunk action creators,\r\n * and that the action is pending.\r\n *\r\n * @param asyncThunks (optional) The async thunk action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isPending<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(\r\n ...asyncThunks: AsyncThunks\r\n): (action: any) => action is PendingActionFromAsyncThunk\r\n/**\r\n * Tests if `action` is a pending thunk action\r\n * @public\r\n */\r\nexport function isPending(action: any): action is UnknownAsyncThunkPendingAction\r\nexport function isPending<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(...asyncThunks: AsyncThunks | [any]) {\r\n if (asyncThunks.length === 0) {\r\n return (action: any) => hasExpectedRequestMetadata(action, ['pending'])\r\n }\r\n\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0])\r\n }\r\n\r\n return (\r\n action: any\r\n ): action is PendingActionFromAsyncThunk => {\r\n // note: this type will be correct because we have at least 1 asyncThunk\r\n const matchers: [Matcher, ...Matcher[]] = asyncThunks.map(\r\n (asyncThunk) => asyncThunk.pending\r\n ) as any\r\n\r\n const combinedMatcher = isAnyOf(...matchers)\r\n\r\n return combinedMatcher(action)\r\n }\r\n}\r\n\r\nexport type UnknownAsyncThunkRejectedAction = ReturnType<\r\n AsyncThunkRejectedActionCreator\r\n>\r\n\r\nexport type RejectedActionFromAsyncThunk =\r\n ActionFromMatcher\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action was created by an async thunk action creator, and that\r\n * the action is rejected.\r\n *\r\n * @public\r\n */\r\nexport function isRejected(): (\r\n action: any\r\n) => action is UnknownAsyncThunkRejectedAction\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action belongs to one of the provided async thunk action creators,\r\n * and that the action is rejected.\r\n *\r\n * @param asyncThunks (optional) The async thunk action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isRejected<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(\r\n ...asyncThunks: AsyncThunks\r\n): (action: any) => action is RejectedActionFromAsyncThunk\r\n/**\r\n * Tests if `action` is a rejected thunk action\r\n * @public\r\n */\r\nexport function isRejected(\r\n action: any\r\n): action is UnknownAsyncThunkRejectedAction\r\nexport function isRejected<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(...asyncThunks: AsyncThunks | [any]) {\r\n if (asyncThunks.length === 0) {\r\n return (action: any) => hasExpectedRequestMetadata(action, ['rejected'])\r\n }\r\n\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0])\r\n }\r\n\r\n return (\r\n action: any\r\n ): action is RejectedActionFromAsyncThunk => {\r\n // note: this type will be correct because we have at least 1 asyncThunk\r\n const matchers: [Matcher, ...Matcher[]] = asyncThunks.map(\r\n (asyncThunk) => asyncThunk.rejected\r\n ) as any\r\n\r\n const combinedMatcher = isAnyOf(...matchers)\r\n\r\n return combinedMatcher(action)\r\n }\r\n}\r\n\r\nexport type UnknownAsyncThunkRejectedWithValueAction = ReturnType<\r\n AsyncThunkRejectedActionCreator\r\n>\r\n\r\nexport type RejectedWithValueActionFromAsyncThunk =\r\n ActionFromMatcher &\r\n (T extends AsyncThunk\r\n ? { payload: RejectedValue }\r\n : unknown)\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action was created by an async thunk action creator, and that\r\n * the action is rejected with value.\r\n *\r\n * @public\r\n */\r\nexport function isRejectedWithValue(): (\r\n action: any\r\n) => action is UnknownAsyncThunkRejectedAction\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action belongs to one of the provided async thunk action creators,\r\n * and that the action is rejected with value.\r\n *\r\n * @param asyncThunks (optional) The async thunk action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isRejectedWithValue<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(\r\n ...asyncThunks: AsyncThunks\r\n): (\r\n action: any\r\n) => action is RejectedWithValueActionFromAsyncThunk\r\n/**\r\n * Tests if `action` is a rejected thunk action with value\r\n * @public\r\n */\r\nexport function isRejectedWithValue(\r\n action: any\r\n): action is UnknownAsyncThunkRejectedAction\r\nexport function isRejectedWithValue<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(...asyncThunks: AsyncThunks | [any]) {\r\n const hasFlag = (action: any): action is any => {\r\n return action && action.meta && action.meta.rejectedWithValue\r\n }\r\n\r\n if (asyncThunks.length === 0) {\r\n return (action: any) => {\r\n const combinedMatcher = isAllOf(isRejected(...asyncThunks), hasFlag)\r\n\r\n return combinedMatcher(action)\r\n }\r\n }\r\n\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0])\r\n }\r\n\r\n return (\r\n action: any\r\n ): action is RejectedActionFromAsyncThunk => {\r\n const combinedMatcher = isAllOf(isRejected(...asyncThunks), hasFlag)\r\n\r\n return combinedMatcher(action)\r\n }\r\n}\r\n\r\nexport type UnknownAsyncThunkFulfilledAction = ReturnType<\r\n AsyncThunkFulfilledActionCreator\r\n>\r\n\r\nexport type FulfilledActionFromAsyncThunk =\r\n ActionFromMatcher\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action was created by an async thunk action creator, and that\r\n * the action is fulfilled.\r\n *\r\n * @public\r\n */\r\nexport function isFulfilled(): (\r\n action: any\r\n) => action is UnknownAsyncThunkFulfilledAction\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action belongs to one of the provided async thunk action creators,\r\n * and that the action is fulfilled.\r\n *\r\n * @param asyncThunks (optional) The async thunk action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isFulfilled<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(\r\n ...asyncThunks: AsyncThunks\r\n): (action: any) => action is FulfilledActionFromAsyncThunk\r\n/**\r\n * Tests if `action` is a fulfilled thunk action\r\n * @public\r\n */\r\nexport function isFulfilled(\r\n action: any\r\n): action is UnknownAsyncThunkFulfilledAction\r\nexport function isFulfilled<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(...asyncThunks: AsyncThunks | [any]) {\r\n if (asyncThunks.length === 0) {\r\n return (action: any) => hasExpectedRequestMetadata(action, ['fulfilled'])\r\n }\r\n\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0])\r\n }\r\n\r\n return (\r\n action: any\r\n ): action is FulfilledActionFromAsyncThunk => {\r\n // note: this type will be correct because we have at least 1 asyncThunk\r\n const matchers: [Matcher, ...Matcher[]] = asyncThunks.map(\r\n (asyncThunk) => asyncThunk.fulfilled\r\n ) as any\r\n\r\n const combinedMatcher = isAnyOf(...matchers)\r\n\r\n return combinedMatcher(action)\r\n }\r\n}\r\n\r\nexport type UnknownAsyncThunkAction =\r\n | UnknownAsyncThunkPendingAction\r\n | UnknownAsyncThunkRejectedAction\r\n | UnknownAsyncThunkFulfilledAction\r\n\r\nexport type AnyAsyncThunk = {\r\n pending: { match: (action: any) => action is any }\r\n fulfilled: { match: (action: any) => action is any }\r\n rejected: { match: (action: any) => action is any }\r\n}\r\n\r\nexport type ActionsFromAsyncThunk =\r\n | ActionFromMatcher\r\n | ActionFromMatcher\r\n | ActionFromMatcher\r\n\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action was created by an async thunk action creator.\r\n *\r\n * @public\r\n */\r\nexport function isAsyncThunkAction(): (\r\n action: any\r\n) => action is UnknownAsyncThunkAction\r\n/**\r\n * A higher-order function that returns a function that may be used to check\r\n * whether an action belongs to one of the provided async thunk action creators.\r\n *\r\n * @param asyncThunks (optional) The async thunk action creators to match against.\r\n *\r\n * @public\r\n */\r\nexport function isAsyncThunkAction<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(\r\n ...asyncThunks: AsyncThunks\r\n): (action: any) => action is ActionsFromAsyncThunk\r\n/**\r\n * Tests if `action` is a thunk action\r\n * @public\r\n */\r\nexport function isAsyncThunkAction(\r\n action: any\r\n): action is UnknownAsyncThunkAction\r\nexport function isAsyncThunkAction<\r\n AsyncThunks extends [AnyAsyncThunk, ...AnyAsyncThunk[]]\r\n>(...asyncThunks: AsyncThunks | [any]) {\r\n if (asyncThunks.length === 0) {\r\n return (action: any) =>\r\n hasExpectedRequestMetadata(action, ['pending', 'fulfilled', 'rejected'])\r\n }\r\n\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0])\r\n }\r\n\r\n return (\r\n action: any\r\n ): action is ActionsFromAsyncThunk => {\r\n // note: this type will be correct because we have at least 1 asyncThunk\r\n const matchers: [Matcher, ...Matcher[]] = [] as any\r\n\r\n for (const asyncThunk of asyncThunks) {\r\n matchers.push(\r\n asyncThunk.pending,\r\n asyncThunk.rejected,\r\n asyncThunk.fulfilled\r\n )\r\n }\r\n\r\n const combinedMatcher = isAnyOf(...matchers)\r\n\r\n return combinedMatcher(action)\r\n }\r\n}\r\n","import type { AbortSignalWithReason } from './types'\r\n\r\nexport const assertFunction: (\r\n func: unknown,\r\n expected: string\r\n) => asserts func is (...args: unknown[]) => unknown = (\r\n func: unknown,\r\n expected: string\r\n) => {\r\n if (typeof func !== 'function') {\r\n throw new TypeError(`${expected} is not a function`)\r\n }\r\n}\r\n\r\nexport const noop = () => {}\r\n\r\nexport const catchRejection = (\r\n promise: Promise,\r\n onError = noop\r\n): Promise => {\r\n promise.catch(onError)\r\n\r\n return promise\r\n}\r\n\r\nexport const addAbortSignalListener = (\r\n abortSignal: AbortSignal,\r\n callback: (evt: Event) => void\r\n) => {\r\n abortSignal.addEventListener('abort', callback, { once: true })\r\n}\r\n\r\n/**\r\n * Calls `abortController.abort(reason)` and patches `signal.reason`.\r\n * if it is not supported.\r\n *\r\n * At the time of writing `signal.reason` is available in FF chrome, edge node 17 and deno.\r\n * @param abortController\r\n * @param reason\r\n * @returns\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason\r\n */\r\nexport const abortControllerWithReason = (\r\n abortController: AbortController,\r\n reason: T\r\n): void => {\r\n type Consumer = (val: T) => void\r\n\r\n const signal = abortController.signal as AbortSignalWithReason\r\n\r\n if (signal.aborted) {\r\n return\r\n }\r\n\r\n // Patch `reason` if necessary.\r\n // - We use defineProperty here because reason is a getter of `AbortSignal.__proto__`.\r\n // - We need to patch 'reason' before calling `.abort()` because listeners to the 'abort'\r\n // event are are notified immediately.\r\n if (!('reason' in signal)) {\r\n Object.defineProperty(signal, 'reason', {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true,\r\n })\r\n }\r\n\r\n ;(abortController.abort as Consumer)(reason)\r\n}\r\n","import type { SerializedError } from '@reduxjs/toolkit'\r\n\r\nconst task = 'task'\r\nconst listener = 'listener'\r\nconst completed = 'completed'\r\nconst cancelled = 'cancelled'\r\n\r\n/* TaskAbortError error codes */\r\nexport const taskCancelled = `task-${cancelled}` as const\r\nexport const taskCompleted = `task-${completed}` as const\r\nexport const listenerCancelled = `${listener}-${cancelled}` as const\r\nexport const listenerCompleted = `${listener}-${completed}` as const\r\n\r\nexport class TaskAbortError implements SerializedError {\r\n name = 'TaskAbortError'\r\n message: string\r\n constructor(public code: string | undefined) {\r\n this.message = `${task} ${cancelled} (reason: ${code})`\r\n }\r\n}\r\n","import { TaskAbortError } from './exceptions'\r\nimport type { AbortSignalWithReason, TaskResult } from './types'\r\nimport { addAbortSignalListener, catchRejection } from './utils'\r\n\r\n/**\r\n * Synchronously raises {@link TaskAbortError} if the task tied to the input `signal` has been cancelled.\r\n * @param signal\r\n * @param reason\r\n * @see {TaskAbortError}\r\n */\r\nexport const validateActive = (signal: AbortSignal): void => {\r\n if (signal.aborted) {\r\n throw new TaskAbortError((signal as AbortSignalWithReason).reason)\r\n }\r\n}\r\n\r\n/**\r\n * Returns a promise that will reject {@link TaskAbortError} if the task is cancelled.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const promisifyAbortSignal = (\r\n signal: AbortSignalWithReason\r\n): Promise => {\r\n return catchRejection(\r\n new Promise((_, reject) => {\r\n const notifyRejection = () => reject(new TaskAbortError(signal.reason))\r\n\r\n if (signal.aborted) {\r\n notifyRejection()\r\n } else {\r\n addAbortSignalListener(signal, notifyRejection)\r\n }\r\n })\r\n )\r\n}\r\n\r\n/**\r\n * Runs a task and returns promise that resolves to {@link TaskResult}.\r\n * Second argument is an optional `cleanUp` function that always runs after task.\r\n *\r\n * **Note:** `runTask` runs the executor in the next microtask.\r\n * @returns\r\n */\r\nexport const runTask = async (\r\n task: () => Promise,\r\n cleanUp?: () => void\r\n): Promise> => {\r\n try {\r\n await Promise.resolve()\r\n const value = await task()\r\n return {\r\n status: 'ok',\r\n value,\r\n }\r\n } catch (error: any) {\r\n return {\r\n status: error instanceof TaskAbortError ? 'cancelled' : 'rejected',\r\n error,\r\n }\r\n } finally {\r\n cleanUp?.()\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and a promise returns another promise that resolves\r\n * as soon the input promise is provided or rejects as soon as\r\n * `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createPause = (signal: AbortSignal) => {\r\n return (promise: Promise): Promise => {\r\n return catchRejection(\r\n Promise.race([promisifyAbortSignal(signal), promise]).then((output) => {\r\n validateActive(signal)\r\n return output\r\n })\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * Given an input `AbortSignal` and `timeoutMs` returns a promise that resolves\r\n * after `timeoutMs` or rejects as soon as `AbortSignal.abort` is `true`.\r\n * @param signal\r\n * @returns\r\n */\r\nexport const createDelay = (signal: AbortSignal) => {\r\n const pause = createPause(signal)\r\n return (timeoutMs: number): Promise => {\r\n return pause(new Promise((resolve) => setTimeout(resolve, timeoutMs)))\r\n }\r\n}\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n promisifyAbortSignal,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (parentAbortSignal: AbortSignalWithReason) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (taskExecutor: ForkedTaskExecutor): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

>(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n unsubscribe = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n promisifyAbortSignal(signal),\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await Promise.race(promises)\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { createAction } from \"@reduxjs/toolkit\";\n\nconst RequestState = {\n pending: \"pending\",\n success: \"success\",\n failure: \"failure\"\n};\n\nfunction createAsyncAction(type, payloadCreator, trackPending = true) {\n return (...props) => {\n const request = createAction(type, () => ({\n payload: {\n requestState: RequestState.pending,\n trackPending\n }\n }));\n const success = createAction(type, (response) => ({\n payload: {\n response,\n requestState: RequestState.success,\n trackPending\n }\n }));\n const failure = createAction(type, (errorData) => ({\n payload: {\n errorData,\n requestState: RequestState.failure,\n trackPending\n }\n }));\n\n return async (dispatch) => {\n dispatch(request());\n try {\n const response = await payloadCreator(...props);\n dispatch(success(response));\n\n return Promise.resolve(response);\n } catch (errorData) {\n dispatch(failure(errorData));\n\n return Promise.reject(errorData);\n }\n };\n };\n}\n\nfunction parseRequestAction(action, responseBodyParser) {\n let responseBody;\n\n if (action.payload.requestState === RequestState.success) {\n responseBody = responseBodyParser(action.payload.response);\n }\n\n return responseBody;\n}\n\nfunction isPending(action) {\n return action.payload.requestState === RequestState.pending;\n}\n\nfunction isSuccess(action) {\n return action.payload.requestState === RequestState.success;\n}\n\nfunction isFailure(action) {\n return action.payload.requestState === RequestState.failure;\n}\n\nfunction isTracked(action) {\n return action.payload && action.payload.trackPending;\n}\n\nfunction getRequestState(action) {\n const { requestState } = action.payload;\n\n switch (requestState) {\n case RequestState.pending:\n return { pending: true };\n case RequestState.success:\n return { success: true };\n case RequestState.failure:\n return {\n failure: true,\n errorData: action.payload.errorData\n };\n default:\n return { pending: true };\n }\n}\n\nexport {\n RequestState,\n createAsyncAction,\n parseRequestAction,\n isPending,\n isSuccess,\n isFailure,\n getRequestState,\n isTracked\n};\n","import { isSuccess } from \"./createAsyncAction\";\n\nconst defaultResponseParser = (response) => response;\n\nfunction reduceSuccessResponse(\n state,\n action,\n responseParser = defaultResponseParser\n) {\n if (isSuccess(action)) {\n return {\n ...state,\n ...responseParser(action.payload.response, state)\n };\n }\n return state;\n}\n\nexport { reduceSuccessResponse };\n","// for react-router-dom useNavigate only!\nexport const routes = {\n ROOT: \"/\",\n LOGIN: \"/auth/login\",\n REGISTER: \"/auth/register\",\n FORGOT_PASSWORD: \"/auth/forgot-password\",\n RESET_PASSWORD: \"/auth/forgot-password/reset\",\n RESET_PASSWORD_SUCCESS: \"/auth/forgot-password/success\",\n REGISTER_CONFIRMATION: \"/auth/register/confirmation\",\n MFA: \"/auth/mfa\",\n MFA_SETUP_SUCCESS: \"/auth/mfa-setup-success\",\n MFA_ENABLE: \"/mfa-enable\",\n MFA_DISABLE: \"/mfa-disable\",\n MFA_ENABLE_SUCCESS: \"/mfa-enable-success\",\n MFA_DISABLE_SUCCESS: \"/mfa-disable-success\",\n START_ORDER: \"/start-order\",\n NEW_ORDER_CASA: \"/new-order-casa\",\n NEW_ORDER: \"/new-order\",\n ORDER_CASA_APPLICATION_INFO: \"/order-casa/:id/application-info\",\n ORDER_CASA_ASSESSMENT_INFO: \"/order-casa/:id/assessment-info\",\n ORDER_CASA_SOURCE_CODE_INFO: \"/order-casa/:id/source-code-info\",\n ORDER_CASA_SUCCESS: \"/order-casa/:id/success\",\n ORDER_CASA_BY_ID: \"/order-casa/:id\",\n ORDER_CASA_PAYMENT: \"/order-casa/:id/payment\",\n ORDER_CASA_PAYMENT_TYPE: \"/order-casa/:id/payment-type\",\n ORDER_CASA_AGREEMENT: \"/order-casa/:id/agreement\",\n ORDER_CASA_SUCCESS_PAYMENT: \"/order-casa/:id/payment-success\",\n ORDER_CASA_SUCCESS_INVOICE: \"/order-casa/:id/invoice-success\",\n PROJECT_DETAILS: \"/project-details/:id\",\n ORDER_BY_ID: \"/order/:id\",\n FAQ: \"/faq\",\n SETTINGS: \"/settings\",\n PROJECTS: \"/projects\",\n PROJECT_PROGRESS: \"/project-progress/:id\",\n ORDER_APPLICATION_INFO: \"/order/:id/application-info\",\n ORDER_VERIFY: \"/order/:id/verify\",\n OTP_CONFIRMATION: \"/order/:id/otp\",\n AGREEMENT: \"/order/:id/agreement\",\n CART: \"/order/:id/cart\",\n ORDER_PAYMENT: \"/order/:id/payment\",\n ORDER_PAYMENT_SUCCESS: \"/order/:id/payment-success\",\n ORDER_SUCCESS_INVOICE: \"/order/:id/invoice-success\",\n PRIVACY_POLICY: \"/privacy\",\n TERMS: \"/terms\",\n CHANGE_PASSWORD: \"/change-password\",\n CHANGE_PASSWORD_SUCCESS: \"/change-password/success\"\n};\n","export const lsKeys = {\n AUTHORIZATION_TOKEN: \"authorization_token\",\n MFA_SESSION: \"mfa_session\",\n AUTH_TYPE: \"auth_type\",\n MFA_CHALLENGE: \"mfa_challenge\",\n MFA_SETUP_DETAILS: \"mfa_setup_details\"\n};\n","export const StatusCodes = {\n _403: 403,\n _401: 401,\n _200: 200,\n _400: 400\n};\n","export const ContactTypes = {\n INDIVIDUAL: \"individual\",\n ORGANIZATION: \"organization\"\n};\n","import { routes } from \"@/constants/routes\";\n\nexport const routeTitles = {\n [routes.ROOT]: \"Main\",\n [routes.LOGIN]: \"Sign in\",\n [routes.REGISTER]: \"Sign up\",\n [routes.REGISTER_CONFIRMATION]: \"Register confirmation\",\n [routes.FORGOT_PASSWORD]: \"Forgot password\",\n [routes.RESET_PASSWORD]: \"Reset password\",\n [routes.MFA]: \"Multi-Factor Authentication\",\n [routes.MFA_SETUP_SUCCESS]: \"Multi-Factor Authentication\",\n [routes.MFA_ENABLE]: \"Multi-Factor Authentication\",\n [routes.MFA_DISABLE]: \"Disable Multi-Factor Authentication\",\n [routes.MFA_ENABLE_SUCCESS]: \"Multi-Factor Authentication\",\n [routes.MFA_DISABLE_SUCCESS]: \"Disable Multi-Factor Authentication\",\n [routes.NEW_ORDER]: \"New Order\",\n [routes.ORDER_BY_ID]: \"Order\",\n [routes.ORDER_APPLICATION_INFO]: \"Testing details\",\n [routes.ORDER_CASA_BY_ID]: \"Order\",\n [routes.ORDER_CASA_ASSESSMENT_INFO]: \"Assessment info\",\n [routes.ORDER_CASA_APPLICATION_INFO]: \"Application info\",\n [routes.ORDER_CASA_SOURCE_CODE_INFO]: \"Application info\",\n [routes.ORDER_CASA_SUCCESS]: \"Successfully submitted\",\n [routes.FAQ]: \"Frequently Asked Question\",\n [routes.PROJECTS]: \"Projects\",\n [routes.ORDER_VERIFY]: \"Verification\",\n [routes.OTP_CONFIRMATION]: \"OTP\",\n [routes.AGREEMENT]: \"Agreement\",\n [routes.ORDER_PAYMENT_SUCCESS]: \"Payment status\",\n [routes.CHANGE_PASSWORD]: \"Change password\",\n [routes.ORDER_CASA_PAYMENT]: \"Plans and pricing\",\n [routes.ORDER_CASA_PAYMENT_TYPE]: \"Select your payment method\",\n [routes.ORDER_CASA_SUCCESS_PAYMENT]: \"Successfully paid\",\n [routes.ORDER_CASA_SUCCESS_INVOICE]: \"Invoicing information received\",\n [routes.ORDER_CASA_AGREEMENT]: \"Agreement\"\n};\n\nexport const routesToPropsMap = {\n [routes.LOGIN]: {\n title: \"Sign in\"\n },\n [routes.REGISTER]: {\n title: \"Sign up\"\n },\n [routes.MFA]: {\n title: \"Multi-Factor Authentication\"\n },\n [routes.MFA_SETUP_SUCCESS]: {\n title: \"Multi-Factor Authentication\"\n },\n [routes.MFA_ENABLE]: {\n title: \"Multi-Factor Authentication\",\n label:\n \"Secure your account by adding multi-factor authentication. Follow the instructions below to complete the setup. You will be asked to provide a one-time code next time you login.\"\n },\n [routes.MFA_DISABLE]: {\n title: \"Disable Multi-Factor Authentication\"\n },\n [routes.MFA_ENABLE_SUCCESS]: {\n title: \"Multi-Factor Authentication\"\n },\n [routes.MFA_DISABLE_SUCCESS]: {\n title: \"Multi-Factor Authentication\"\n },\n [routes.REGISTER_CONFIRMATION]: {\n title: \"Register confirmation\"\n },\n [routes.FORGOT_PASSWORD]: {\n title: \"Forgot password\"\n },\n [routes.RESET_PASSWORD]: {\n title: \"Reset password\"\n },\n [routes.START_ORDER]: {\n title: \"Start a new assesment\",\n label:\n \"Select validation scheme against which your application will be assessed.\"\n },\n [routes.NEW_ORDER_CASA]: {\n title: \"Start a new assesment\",\n label: \"Please provide the information below to start CASA\"\n },\n [routes.ORDER_CASA_APPLICATION_INFO]: {\n title: \"Application details\"\n },\n [routes.ORDER_CASA_BY_ID]: {\n title: \"Application details\"\n },\n [routes.ORDER_CASA_ASSESSMENT_INFO]: {\n title: \"Assessment details\"\n },\n [routes.ORDER_CASA_SOURCE_CODE_INFO]: {\n title: \"Source code details\",\n label:\n \"Please provide at least two metrics under each category to help us understand the complexity and health of your code. Select metrics that are commonly used in your Software Development Life Cycle (SDLC) and are readily available or calculable.\"\n },\n [routes.NEW_ORDER]: {\n title: \"Start a new assesment\",\n label: \"Please provide the necessary information to proceed with MASA\"\n },\n [routes.ORDER_BY_ID]: {\n title: \"Application details\"\n },\n [routes.ORDER_APPLICATION_INFO]: {\n title: \"Testing details\",\n label: \"Please provide the information about the application\"\n },\n [routes.AGREEMENT]: {\n title: \"Agreement\",\n label:\n \"Please review and accept our terms and conditions to proceed with the assessment\"\n },\n [routes.CART]: {\n title: \"Cart\"\n },\n [routes.FAQ]: {\n title: \"Frequently Asked Question\"\n },\n [routes.PROJECTS]: {\n title: \"Sign in\"\n },\n [routes.ORDER_PAYMENT]: {\n title: \"Select your payment method\",\n label:\n \"Use our secure online payment gateway for instant transactions, or choose invoice for traditional payment processing.\"\n },\n [routes.ORDER_VERIFY]: {\n title: \"Verification\"\n },\n [routes.OTP_CONFIRMATION]: {\n title: \"Verification\"\n },\n [routes.CHANGE_PASSWORD]: {\n title: \"Change password\",\n label: \"Change your password here\"\n },\n [routes.ORDER_CASA_PAYMENT]: {\n title: \"Plans and pricing\",\n label: \"Choose your plan and get started with CASA.\"\n },\n [routes.ORDER_CASA_PAYMENT_TYPE]: {\n title: \"Select your payment method\",\n label:\n \"Use our secure online payment gateway for instant transactions, or choose invoice for traditional payment processing.\"\n },\n [routes.ORDER_CASA_AGREEMENT]: {\n title: \"Agreement\",\n label:\n \"Please review and accept our terms and conditions to proceed with the assessment\"\n }\n};\n","export const AuthTypes = {\n USER_SRP_AUTH: \"USER_SRP_AUTH\",\n EMAIL_PASSWORD: \"EMAIL_PASSWORD\"\n};\n","export const FederatedLoginProviders = {\n FACEBOOK: \"Facebook\",\n GOOGLE: \"Google\",\n COGNITO: \"COGNITO\",\n AMAZON: \"LoginWithAmazon\",\n APPLE: \"SignInWithApple\"\n};\n","export const PlanTypes = {\n REGULAR: \"Regular\",\n EXPRESS: \"Express\"\n};\n\nexport const PlanTypeProperties = {\n [PlanTypes.REGULAR]: {\n amountInUsd: 3000\n },\n [PlanTypes.EXPRESS]: {\n amountInUsd: 1000\n }\n};\n","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.5001 6.99999L24.0001 6.99999C24.8285 6.99999 25.5001 7.67156 25.5001 8.49999L25.5001 22C25.5001 22.8284 24.8285 23.5 24.0001 23.5C23.1717 23.5 22.5001 22.8284 22.5001 22V12.1213L9.06077 25.5607L6.93945 23.4393L20.3788 9.99999L10.5001 9.99999C9.67169 9.99999 9.00011 9.32842 9.00011 8.49999C9.00011 7.67156 9.67169 6.99999 10.5001 6.99999Z\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrow);\nexport default __webpack_public_path__ + \"static/media/arrow.bacd068607f5c81a6b17ac2594c5774f.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogout(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_434_5905)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.16665 18.3333C3.94563 18.3333 3.73367 18.2455 3.57739 18.0893C3.42111 17.933 3.33331 17.721 3.33331 17.5V2.5C3.33331 2.27899 3.42111 2.06702 3.57739 1.91074C3.73367 1.75446 3.94563 1.66667 4.16665 1.66667H15.8333C16.0543 1.66667 16.2663 1.75446 16.4226 1.91074C16.5788 2.06702 16.6666 2.27899 16.6666 2.5V5H15V3.33333H4.99998V16.6667H15V15H16.6666V17.5C16.6666 17.721 16.5788 17.933 16.4226 18.0893C16.2663 18.2455 16.0543 18.3333 15.8333 18.3333H4.16665ZM15 13.3333V10.8333H9.16665V9.16667H15V6.66667L19.1666 10L15 13.3333Z\",\n fill: \"#333333\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_434_5905\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogout);\nexport default __webpack_public_path__ + \"static/media/logout.f44bf634f3e4d2626d71adbe2cbeb948.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 4,\n viewBox: \"0 0 9 4\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.17678 2.17678C8.27441 2.07915 8.27441 1.92086 8.17678 1.82322L6.58579 0.232234C6.48816 0.134603 6.32986 0.134603 6.23223 0.232234C6.1346 0.329865 6.1346 0.488156 6.23223 0.585787L7.64645 2L6.23223 3.41421C6.1346 3.51185 6.1346 3.67014 6.23223 3.76777C6.32986 3.8654 6.48816 3.8654 6.58579 3.76777L8.17678 2.17678ZM-1.87882e-08 2.25L8 2.25L8 1.75L1.87882e-08 1.75L-1.87882e-08 2.25Z\",\n fill: \"#111111\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/arrow-right.5e6d4df303e02b001ad0df34e299a64e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconBack(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 5,\n height: 6,\n viewBox: \"0 0 5 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57746e-08 3L4.5 0.401924L4.5 5.59808L3.57746e-08 3Z\",\n fill: \"#999999\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconBack);\nexport default __webpack_public_path__ + \"static/media/icon-back.dbb0f64be3d050edb70fcc87e9513699.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconForward(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 5,\n height: 6,\n viewBox: \"0 0 5 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 3L0.5 5.59808L0.5 0.401924L5 3Z\",\n fill: \"#999999\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconForward);\nexport default __webpack_public_path__ + \"static/media/icon-forward.090db62bbe60e93ae523c750398fd20d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheck(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 9,\n viewBox: \"0 0 10 9\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.7103 0L10 0.907725L4.40808 9H3.11838L0 4.61588L1.2897 3.4088L3.76323 5.7264L8.7103 0Z\",\n fill: \"#259D22\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheck);\nexport default __webpack_public_path__ + \"static/media/check.cf792949a894b82ceae99be1ab10871c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadCloudIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 20.981C5.63405 20.8761 4.33616 20.3423 3.29165 19.4559C2.24715 18.5694 1.50944 17.3756 1.18385 16.0449C0.858269 14.7141 0.961464 13.3146 1.4787 12.046C1.99594 10.7774 2.90077 9.7047 4.064 8.98101C4.31151 7.0511 5.25379 5.27751 6.71451 3.99217C8.17523 2.70682 10.0543 1.9978 12 1.9978C13.9457 1.9978 15.8248 2.70682 17.2855 3.99217C18.7462 5.27751 19.6885 7.0511 19.936 8.98101C21.0992 9.7047 22.0041 10.7774 22.5213 12.046C23.0385 13.3146 23.1417 14.7141 22.8161 16.0449C22.4906 17.3756 21.7528 18.5694 20.7083 19.4559C19.6638 20.3423 18.3659 20.8761 17 20.981V21H7V20.981ZM13 13H16L12 8.00001L8 13H11V17H13V13Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadCloudIcon);\nexport default __webpack_public_path__ + \"static/media/upload-cloud-icon.ca7ae627db99df7ca931f54a5c340eaa.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAssessmentInProgress(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#334983\",\n fillOpacity: 0.05\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 12L31.217 13.826C31.674 13.928 32 14.333 32 14.802V24.789C32 26.795 30.997 28.669 29.328 29.781L23 34L16.672 29.781C15.002 28.668 14 26.795 14 24.79V14.802C14 14.333 14.326 13.928 14.783 13.826L23 12ZM23 14.049L16 15.604V24.789C16 26.126 16.668 27.375 17.781 28.117L23 31.597L28.219 28.117C29.332 27.375 30 26.127 30 24.79V15.604L23 14.05V14.049ZM27.452 19.222L28.867 20.636L22.503 27L18.26 22.757L19.674 21.343L22.502 24.171L27.452 19.221V19.222Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAssessmentInProgress);\nexport default __webpack_public_path__ + \"static/media/assessment-in-progress.f0bfefeacb16a7ce2c01c78fa740a4c0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheckCircleDisabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM9.003 14L16.073 6.929L14.659 5.515L9.003 11.172L6.174 8.343L4.76 9.757L9.003 14Z\",\n fill: \"#D7D7D7\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckCircleDisabled);\nexport default __webpack_public_path__ + \"static/media/check-circle-disabled.60999bc4e9e56dbf8d97ca66ff5839d6.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheckCircleSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM9.003 14L16.073 6.929L14.659 5.515L9.003 11.172L6.174 8.343L4.76 9.757L9.003 14Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckCircleSuccess);\nexport default __webpack_public_path__ + \"static/media/check-circle-success.dcc4cfa9558504a2834d267fcda2119b.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCircleProgress(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1191_4446)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 1.66666C10.221 1.66666 10.433 1.75445 10.5893 1.91073C10.7456 2.06701 10.8334 2.27898 10.8334 2.49999V4.99999C10.8334 5.221 10.7456 5.43297 10.5893 5.58925C10.433 5.74553 10.221 5.83332 10 5.83332C9.77901 5.83332 9.56705 5.74553 9.41077 5.58925C9.25448 5.43297 9.16669 5.221 9.16669 4.99999V2.49999C9.16669 2.27898 9.25448 2.06701 9.41077 1.91073C9.56705 1.75445 9.77901 1.66666 10 1.66666V1.66666ZM10 14.1667C10.221 14.1667 10.433 14.2545 10.5893 14.4107C10.7456 14.567 10.8334 14.779 10.8334 15V17.5C10.8334 17.721 10.7456 17.933 10.5893 18.0892C10.433 18.2455 10.221 18.3333 10 18.3333C9.77901 18.3333 9.56705 18.2455 9.41077 18.0892C9.25448 17.933 9.16669 17.721 9.16669 17.5V15C9.16669 14.779 9.25448 14.567 9.41077 14.4107C9.56705 14.2545 9.77901 14.1667 10 14.1667V14.1667ZM18.3334 9.99999C18.3334 10.221 18.2456 10.433 18.0893 10.5892C17.933 10.7455 17.721 10.8333 17.5 10.8333H15C14.779 10.8333 14.567 10.7455 14.4108 10.5892C14.2545 10.433 14.1667 10.221 14.1667 9.99999C14.1667 9.77898 14.2545 9.56702 14.4108 9.41073C14.567 9.25445 14.779 9.16666 15 9.16666H17.5C17.721 9.16666 17.933 9.25445 18.0893 9.41073C18.2456 9.56702 18.3334 9.77898 18.3334 9.99999ZM5.83335 9.99999C5.83335 10.221 5.74556 10.433 5.58928 10.5892C5.433 10.7455 5.22103 10.8333 5.00002 10.8333H2.50002C2.27901 10.8333 2.06704 10.7455 1.91076 10.5892C1.75448 10.433 1.66669 10.221 1.66669 9.99999C1.66669 9.77898 1.75448 9.56702 1.91076 9.41073C2.06704 9.25445 2.27901 9.16666 2.50002 9.16666H5.00002C5.22103 9.16666 5.433 9.25445 5.58928 9.41073C5.74556 9.56702 5.83335 9.77898 5.83335 9.99999ZM15.8925 15.8925C15.7362 16.0487 15.5243 16.1365 15.3034 16.1365C15.0824 16.1365 14.8705 16.0487 14.7142 15.8925L12.9467 14.125C12.7949 13.9678 12.7109 13.7573 12.7128 13.5388C12.7147 13.3203 12.8023 13.1113 12.9568 12.9568C13.1113 12.8023 13.3204 12.7147 13.5389 12.7128C13.7574 12.7109 13.9679 12.7949 14.125 12.9467L15.8925 14.7133C15.97 14.7907 16.0315 14.8826 16.0734 14.9838C16.1153 15.085 16.1369 15.1934 16.1369 15.3029C16.1369 15.4124 16.1153 15.5209 16.0734 15.622C16.0315 15.7232 15.97 15.8151 15.8925 15.8925V15.8925ZM7.05335 7.05332C6.89708 7.20955 6.68516 7.29731 6.46419 7.29731C6.24322 7.29731 6.03129 7.20955 5.87502 7.05332L4.10835 5.28666C3.95199 5.1304 3.8641 4.91843 3.86402 4.69737C3.86394 4.47631 3.95168 4.26427 4.10794 4.10791C4.26419 3.95154 4.47617 3.86365 4.69723 3.86357C4.91828 3.86349 5.13032 3.95123 5.28669 4.10749L7.05335 5.87499C7.20958 6.03126 7.29734 6.24319 7.29734 6.46416C7.29734 6.68513 7.20958 6.89705 7.05335 7.05332V7.05332ZM4.10835 15.8925C3.95213 15.7362 3.86437 15.5243 3.86437 15.3033C3.86437 15.0824 3.95213 14.8704 4.10835 14.7142L5.87585 12.9467C5.95273 12.8671 6.04468 12.8036 6.14635 12.7599C6.24802 12.7162 6.35737 12.6932 6.46802 12.6923C6.57867 12.6913 6.6884 12.7124 6.79082 12.7543C6.89323 12.7962 6.98627 12.8581 7.06452 12.9363C7.14276 13.0146 7.20464 13.1076 7.24654 13.21C7.28844 13.3124 7.30952 13.4222 7.30856 13.5328C7.3076 13.6435 7.28461 13.7528 7.24094 13.8545C7.19726 13.9562 7.13378 14.0481 7.05419 14.125L5.28752 15.8925C5.21013 15.97 5.11822 16.0314 5.01705 16.0734C4.91589 16.1153 4.80745 16.1369 4.69794 16.1369C4.58842 16.1369 4.47999 16.1153 4.37882 16.0734C4.27766 16.0314 4.18575 15.97 4.10835 15.8925V15.8925ZM12.9467 7.05332C12.7905 6.89705 12.7027 6.68513 12.7027 6.46416C12.7027 6.24319 12.7905 6.03126 12.9467 5.87499L14.7134 4.10749C14.8696 3.95112 15.0816 3.86323 15.3026 3.86315C15.5237 3.86308 15.7357 3.95082 15.8921 4.10707C16.0485 4.26333 16.1364 4.4753 16.1364 4.69636C16.1365 4.91742 16.0488 5.12946 15.8925 5.28582L14.125 7.05332C13.9687 7.20955 13.7568 7.29731 13.5359 7.29731C13.3149 7.29731 13.103 7.20955 12.9467 7.05332V7.05332Z\",\n fill: \"#F2994A\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1191_4446\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCircleProgress);\nexport default __webpack_public_path__ + \"static/media/circle-progress.350879e1c9025253896bea9d93667919.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCircleWarning(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM9 13V15H11V13H9ZM9 5V11H11V5H9Z\",\n fill: \"#FC8E51\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCircleWarning);\nexport default __webpack_public_path__ + \"static/media/circle-warning.e77a010be5755ef8c15c3309c3bf24cd.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFixIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#334983\",\n fillOpacity: 0.05\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.2128 25.0598C12.9252 23.7015 12.9252 22.298 13.2128 20.9398C14.3228 21.0698 15.2928 20.7028 15.6088 19.9388C15.9258 19.1738 15.5008 18.2288 14.6228 17.5358C15.3798 16.3721 16.3721 15.3798 17.5358 14.6228C18.2278 15.4998 19.1738 15.9258 19.9388 15.6088C20.7038 15.2918 21.0708 14.3228 20.9398 13.2128C22.298 12.9252 23.7015 12.9252 25.0598 13.2128C24.9298 14.3228 25.2968 15.2928 26.0608 15.6088C26.8258 15.9258 27.7708 15.5008 28.4638 14.6228C29.6274 15.3798 30.6197 16.3721 31.3768 17.5358C30.4998 18.2278 30.0738 19.1738 30.3908 19.9388C30.7078 20.7038 31.6768 21.0708 32.7868 20.9398C33.0744 22.298 33.0744 23.7015 32.7868 25.0598C31.6768 24.9298 30.7068 25.2968 30.3908 26.0608C30.0738 26.8258 30.4988 27.7708 31.3768 28.4638C30.6197 29.6274 29.6274 30.6197 28.4638 31.3768C27.7718 30.4998 26.8258 30.0738 26.0608 30.3908C25.2958 30.7078 24.9288 31.6768 25.0598 32.7868C23.7015 33.0744 22.298 33.0744 20.9398 32.7868C21.0698 31.6768 20.7028 30.7068 19.9388 30.3908C19.1738 30.0738 18.2288 30.4988 17.5358 31.3768C16.3721 30.6197 15.3798 29.6274 14.6228 28.4638C15.4998 27.7718 15.9258 26.8258 15.6088 26.0608C15.2918 25.2958 14.3228 24.9288 13.2128 25.0598ZM14.9998 23.2098C16.0998 23.5148 17.0068 24.2118 17.4568 25.2958C17.9058 26.3808 17.7568 27.5158 17.1948 28.5078C17.2908 28.6098 17.3898 28.7088 17.4918 28.8048C18.4848 28.2428 19.6188 28.0948 20.7038 28.5428C21.7878 28.9928 22.4848 29.8998 22.7898 30.9998C22.9298 31.0038 23.0698 31.0038 23.2098 30.9998C23.5148 29.8998 24.2118 28.9928 25.2958 28.5428C26.3808 28.0938 27.5158 28.2428 28.5078 28.8048C28.6098 28.7088 28.7088 28.6098 28.8048 28.5078C28.2428 27.5148 28.0948 26.3808 28.5428 25.2958C28.9928 24.2118 29.8998 23.5148 30.9998 23.2098C31.0038 23.0698 31.0038 22.9298 30.9998 22.7898C29.8998 22.4848 28.9928 21.7878 28.5428 20.7038C28.0938 19.6188 28.2428 18.4838 28.8048 17.4918C28.7084 17.3902 28.6094 17.2911 28.5078 17.1948C27.5148 17.7568 26.3808 17.9048 25.2958 17.4568C24.2118 17.0068 23.5148 16.0998 23.2098 14.9998C23.0698 14.9961 22.9297 14.9961 22.7898 14.9998C22.4848 16.0998 21.7878 17.0068 20.7038 17.4568C19.6188 17.9058 18.4838 17.7568 17.4918 17.1948C17.3898 17.2908 17.2908 17.3898 17.1948 17.4918C17.7568 18.4848 17.9048 19.6188 17.4568 20.7038C17.0068 21.7878 16.0998 22.4848 14.9998 22.7898C14.9958 22.9298 14.9958 23.0698 14.9998 23.2098ZM22.9998 25.9998C22.2041 25.9998 21.4411 25.6837 20.8784 25.1211C20.3158 24.5585 19.9998 23.7954 19.9998 22.9998C19.9998 22.2041 20.3158 21.4411 20.8784 20.8784C21.4411 20.3158 22.2041 19.9998 22.9998 19.9998C23.7954 19.9998 24.5585 20.3158 25.1211 20.8784C25.6837 21.4411 25.9998 22.2041 25.9998 22.9998C25.9998 23.7954 25.6837 24.5585 25.1211 25.1211C24.5585 25.6837 23.7954 25.9998 22.9998 25.9998ZM22.9998 23.9998C23.265 23.9998 23.5193 23.8944 23.7069 23.7069C23.8944 23.5193 23.9998 23.265 23.9998 22.9998C23.9998 22.7345 23.8944 22.4802 23.7069 22.2927C23.5193 22.1051 23.265 21.9998 22.9998 21.9998C22.7345 21.9998 22.4802 22.1051 22.2927 22.2927C22.1051 22.4802 21.9998 22.7345 21.9998 22.9998C21.9998 23.265 22.1051 23.5193 22.2927 23.7069C22.4802 23.8944 22.7345 23.9998 22.9998 23.9998Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFixIcon);\nexport default __webpack_public_path__ + \"static/media/fix-icon.6f4a4e2b2b0a1b111ebb244d814e48a5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMinusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5V7H0V5H12Z\",\n fill: \"#111111\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMinusIcon);\nexport default __webpack_public_path__ + \"static/media/minus-icon.29e7b0a6d3ec2735a36b3bc55d301e4b.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMoreInfo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#FC8E51\",\n fillOpacity: 0.05\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 33C17.477 33 13 28.523 13 23C13 17.477 17.477 13 23 13C28.523 13 33 17.477 33 23C33 28.523 28.523 33 23 33ZM23 31C25.1217 31 27.1566 30.1571 28.6569 28.6569C30.1571 27.1566 31 25.1217 31 23C31 20.8783 30.1571 18.8434 28.6569 17.3431C27.1566 15.8429 25.1217 15 23 15C20.8783 15 18.8434 15.8429 17.3431 17.3431C15.8429 18.8434 15 20.8783 15 23C15 25.1217 15.8429 27.1566 17.3431 28.6569C18.8434 30.1571 20.8783 31 23 31ZM22 26H24V28H22V26ZM24 24.355V25H22V23.5C22 23.2348 22.1054 22.9804 22.2929 22.7929C22.4804 22.6054 22.7348 22.5 23 22.5C23.2841 22.5 23.5623 22.4193 23.8023 22.2673C24.0423 22.1154 24.2343 21.8984 24.3558 21.6416C24.4773 21.3848 24.5234 21.0988 24.4887 20.8168C24.454 20.5349 24.34 20.2686 24.1598 20.0489C23.9797 19.8292 23.7409 19.6652 23.4712 19.576C23.2015 19.4867 22.912 19.4759 22.6364 19.5447C22.3608 19.6135 22.1104 19.7592 21.9144 19.9648C21.7183 20.1704 21.5847 20.4274 21.529 20.706L19.567 20.313C19.6886 19.7051 19.9695 19.1404 20.3809 18.6766C20.7923 18.2128 21.3195 17.8666 21.9086 17.6733C22.4977 17.4801 23.1275 17.4467 23.7337 17.5766C24.3399 17.7065 24.9007 17.9951 25.3588 18.4128C25.8169 18.8305 26.1559 19.3624 26.3411 19.9541C26.5263 20.5457 26.5511 21.1759 26.4129 21.7803C26.2747 22.3847 25.9785 22.9415 25.5545 23.3939C25.1306 23.8462 24.5941 24.1779 24 24.355Z\",\n fill: \"#FC8E51\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoreInfo);\nexport default __webpack_public_path__ + \"static/media/more-info.2ab1674db40e924197f58f782fe4ebc3.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPaymentAbsent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#FC8E51\",\n fillOpacity: 0.05\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 14H32C32.2652 14 32.5196 14.1054 32.7071 14.2929C32.8946 14.4804 33 14.7348 33 15V31C33 31.2652 32.8946 31.5196 32.7071 31.7071C32.5196 31.8946 32.2652 32 32 32H14C13.7348 32 13.4804 31.8946 13.2929 31.7071C13.1054 31.5196 13 31.2652 13 31V15C13 14.7348 13.1054 14.4804 13.2929 14.2929C13.4804 14.1054 13.7348 14 14 14ZM31 23H15V30H31V23ZM31 19V16H15V19H31Z\",\n fill: \"#FC8E51\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPaymentAbsent);\nexport default __webpack_public_path__ + \"static/media/payment-absent.7a2a0845476c86bae81af49888b0d997.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5V7H0V5H12Z\",\n fill: \"#111111\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 12L5 12L5 -8.74228e-08L7 0L7 12Z\",\n fill: \"#111111\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlusIcon);\nexport default __webpack_public_path__ + \"static/media/plus-icon.3da1d7c1ff146e7f4ac9571a94b006e5.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVerificationAbsent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#FC8E51\",\n fillOpacity: 0.05\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.783 13.826L23 12L31.217 13.826C31.4391 13.8754 31.6377 13.999 31.78 14.1764C31.9224 14.3538 32 14.5745 32 14.802V24.789C31.9999 25.7767 31.756 26.7492 31.2899 27.62C30.8238 28.4908 30.1499 29.2331 29.328 29.781L23 34L16.672 29.781C15.8503 29.2332 15.1765 28.4911 14.7103 27.6205C14.2442 26.7498 14.0002 25.7776 14 24.79V14.802C14 14.5745 14.0776 14.3538 14.22 14.1764C14.3623 13.999 14.5609 13.8754 14.783 13.826ZM16 15.604V24.789C16 25.4475 16.1626 26.0957 16.4733 26.6763C16.7839 27.2568 17.2332 27.7517 17.781 28.117L23 31.597L28.219 28.117C28.7667 27.7518 29.2158 27.2571 29.5265 26.6767C29.8372 26.0964 29.9998 25.4483 30 24.79V15.604L23 14.05L16 15.604ZM23 22C22.337 22 21.7011 21.7366 21.2322 21.2678C20.7634 20.7989 20.5 20.163 20.5 19.5C20.5 18.837 20.7634 18.2011 21.2322 17.7322C21.7011 17.2634 22.337 17 23 17C23.663 17 24.2989 17.2634 24.7678 17.7322C25.2366 18.2011 25.5 18.837 25.5 19.5C25.5 20.163 25.2366 20.7989 24.7678 21.2678C24.2989 21.7366 23.663 22 23 22ZM18.527 27C18.6482 25.8984 19.1717 24.8803 19.9971 24.1407C20.8225 23.4012 21.8918 22.9922 23 22.9922C24.1082 22.9922 25.1775 23.4012 26.0029 24.1407C26.8283 24.8803 27.3518 25.8984 27.473 27H18.527Z\",\n fill: \"#FC8E51\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVerificationAbsent);\nexport default __webpack_public_path__ + \"static/media/verification-absent.f4495fb4ef4a1076c2989dba29023108.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAssessmentSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#ECFBF2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 12L31.217 13.826C31.674 13.928 32 14.333 32 14.802V24.789C32 26.795 30.997 28.669 29.328 29.781L23 34L16.672 29.781C15.002 28.668 14 26.795 14 24.79V14.802C14 14.333 14.326 13.928 14.783 13.826L23 12ZM23 14.049L16 15.604V24.789C16 26.126 16.668 27.375 17.781 28.117L23 31.597L28.219 28.117C29.332 27.375 30 26.127 30 24.79V15.604L23 14.05V14.049ZM27.452 19.222L28.867 20.636L22.503 27L18.26 22.757L19.674 21.343L22.502 24.171L27.452 19.221V19.222Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAssessmentSuccess);\nexport default __webpack_public_path__ + \"static/media/assessment-success.c5d3ebf0e42033d4165c77a3946ac7f8.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMitigationsSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#ECFBF2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.213 25.0598C12.9254 23.7015 12.9254 22.298 13.213 20.9398C14.323 21.0698 15.293 20.7028 15.609 19.9388C15.926 19.1738 15.501 18.2288 14.623 17.5358C15.38 16.3721 16.3723 15.3798 17.536 14.6228C18.228 15.4998 19.174 15.9258 19.939 15.6088C20.704 15.2918 21.071 14.3228 20.94 13.2128C22.2983 12.9252 23.7017 12.9252 25.06 13.2128C24.93 14.3228 25.297 15.2928 26.061 15.6088C26.826 15.9258 27.771 15.5008 28.464 14.6228C29.6277 15.3798 30.62 16.3721 31.377 17.5358C30.5 18.2278 30.074 19.1738 30.391 19.9388C30.708 20.7038 31.677 21.0708 32.787 20.9398C33.0746 22.298 33.0746 23.7015 32.787 25.0598C31.677 24.9298 30.707 25.2968 30.391 26.0608C30.074 26.8258 30.499 27.7708 31.377 28.4638C30.62 29.6274 29.6277 30.6197 28.464 31.3768C27.772 30.4998 26.826 30.0738 26.061 30.3908C25.296 30.7078 24.929 31.6768 25.06 32.7868C23.7017 33.0744 22.2983 33.0744 20.94 32.7868C21.07 31.6768 20.703 30.7068 19.939 30.3908C19.174 30.0738 18.229 30.4988 17.536 31.3768C16.3723 30.6197 15.38 29.6274 14.623 28.4638C15.5 27.7718 15.926 26.8258 15.609 26.0608C15.292 25.2958 14.323 24.9288 13.213 25.0598ZM15 23.2098C16.1 23.5148 17.007 24.2118 17.457 25.2958C17.906 26.3808 17.757 27.5158 17.195 28.5078C17.291 28.6098 17.39 28.7088 17.492 28.8048C18.485 28.2428 19.619 28.0948 20.704 28.5428C21.788 28.9928 22.485 29.8998 22.79 30.9998C22.93 31.0038 23.07 31.0038 23.21 30.9998C23.515 29.8998 24.212 28.9928 25.296 28.5428C26.381 28.0938 27.516 28.2428 28.508 28.8048C28.61 28.7088 28.709 28.6098 28.805 28.5078C28.243 27.5148 28.095 26.3808 28.543 25.2958C28.993 24.2118 29.9 23.5148 31 23.2098C31.004 23.0698 31.004 22.9298 31 22.7898C29.9 22.4848 28.993 21.7878 28.543 20.7038C28.094 19.6188 28.243 18.4838 28.805 17.4918C28.7086 17.3902 28.6096 17.2911 28.508 17.1948C27.515 17.7568 26.381 17.9048 25.296 17.4568C24.212 17.0068 23.515 16.0998 23.21 14.9998C23.07 14.9961 22.93 14.9961 22.79 14.9998C22.485 16.0998 21.788 17.0068 20.704 17.4568C19.619 17.9058 18.484 17.7568 17.492 17.1948C17.39 17.2908 17.291 17.3898 17.195 17.4918C17.757 18.4848 17.905 19.6188 17.457 20.7038C17.007 21.7878 16.1 22.4848 15 22.7898C14.996 22.9298 14.996 23.0698 15 23.2098ZM23 25.9998C22.2044 25.9998 21.4413 25.6837 20.8787 25.1211C20.3161 24.5585 20 23.7954 20 22.9998C20 22.2041 20.3161 21.4411 20.8787 20.8784C21.4413 20.3158 22.2044 19.9998 23 19.9998C23.7957 19.9998 24.5587 20.3158 25.1213 20.8784C25.6839 21.4411 26 22.2041 26 22.9998C26 23.7954 25.6839 24.5585 25.1213 25.1211C24.5587 25.6837 23.7957 25.9998 23 25.9998ZM23 23.9998C23.2652 23.9998 23.5196 23.8944 23.7071 23.7069C23.8946 23.5193 24 23.265 24 22.9998C24 22.7345 23.8946 22.4802 23.7071 22.2927C23.5196 22.1051 23.2652 21.9998 23 21.9998C22.7348 21.9998 22.4804 22.1051 22.2929 22.2927C22.1054 22.4802 22 22.7345 22 22.9998C22 23.265 22.1054 23.5193 22.2929 23.7069C22.4804 23.8944 22.7348 23.9998 23 23.9998Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMitigationsSuccess);\nexport default __webpack_public_path__ + \"static/media/mitigations-success.585eb8ebb756e655f7f572d0d0b6cb39.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMoreInfoSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#ECFBF2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 33C17.477 33 13 28.523 13 23C13 17.477 17.477 13 23 13C28.523 13 33 17.477 33 23C33 28.523 28.523 33 23 33ZM23 31C25.1217 31 27.1566 30.1571 28.6569 28.6569C30.1571 27.1566 31 25.1217 31 23C31 20.8783 30.1571 18.8434 28.6569 17.3431C27.1566 15.8429 25.1217 15 23 15C20.8783 15 18.8434 15.8429 17.3431 17.3431C15.8429 18.8434 15 20.8783 15 23C15 25.1217 15.8429 27.1566 17.3431 28.6569C18.8434 30.1571 20.8783 31 23 31ZM22 26H24V28H22V26ZM24 24.355V25H22V23.5C22 23.2348 22.1054 22.9804 22.2929 22.7929C22.4804 22.6054 22.7348 22.5 23 22.5C23.2841 22.5 23.5623 22.4193 23.8023 22.2673C24.0423 22.1154 24.2343 21.8984 24.3558 21.6416C24.4773 21.3848 24.5234 21.0988 24.4887 20.8168C24.454 20.5349 24.34 20.2686 24.1598 20.0489C23.9797 19.8292 23.7409 19.6652 23.4712 19.576C23.2015 19.4867 22.912 19.4759 22.6364 19.5447C22.3608 19.6135 22.1104 19.7592 21.9144 19.9648C21.7183 20.1704 21.5847 20.4274 21.529 20.706L19.567 20.313C19.6886 19.7051 19.9695 19.1404 20.3809 18.6766C20.7923 18.2128 21.3195 17.8666 21.9086 17.6733C22.4977 17.4801 23.1275 17.4467 23.7337 17.5766C24.3399 17.7065 24.9007 17.9951 25.3588 18.4128C25.8169 18.8305 26.1559 19.3624 26.3411 19.9541C26.5263 20.5457 26.5511 21.1759 26.4129 21.7803C26.2747 22.3847 25.9785 22.9415 25.5545 23.3939C25.1306 23.8462 24.5941 24.1779 24 24.355Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMoreInfoSuccess);\nexport default __webpack_public_path__ + \"static/media/more-info-success.b5ea4522c30bb983a365eb4b3d482612.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPaymentSucceed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#ECFBF2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 14H32C32.2652 14 32.5196 14.1054 32.7071 14.2929C32.8946 14.4804 33 14.7348 33 15V31C33 31.2652 32.8946 31.5196 32.7071 31.7071C32.5196 31.8946 32.2652 32 32 32H14C13.7348 32 13.4804 31.8946 13.2929 31.7071C13.1054 31.5196 13 31.2652 13 31V15C13 14.7348 13.1054 14.4804 13.2929 14.2929C13.4804 14.1054 13.7348 14 14 14ZM31 23H15V30H31V23ZM31 19V16H15V19H31Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPaymentSucceed);\nexport default __webpack_public_path__ + \"static/media/payment-succeed.57573a6b788618b4fec03851ad0dc2e6.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVerificationSuccess(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 46,\n height: 46,\n viewBox: \"0 0 46 46\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 46,\n height: 46,\n rx: 23,\n fill: \"#44D27D\",\n fillOpacity: 0.1\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.783 13.826L23 12L31.217 13.826C31.4391 13.8754 31.6377 13.999 31.78 14.1764C31.9224 14.3538 32 14.5745 32 14.802V24.789C31.9999 25.7767 31.756 26.7492 31.2899 27.62C30.8238 28.4908 30.1499 29.2331 29.328 29.781L23 34L16.672 29.781C15.8503 29.2332 15.1765 28.4911 14.7103 27.6205C14.2442 26.7498 14.0002 25.7776 14 24.79V14.802C14 14.5745 14.0776 14.3538 14.22 14.1764C14.3623 13.999 14.5609 13.8754 14.783 13.826ZM16 15.604V24.789C16 25.4475 16.1626 26.0957 16.4733 26.6763C16.7839 27.2568 17.2332 27.7517 17.781 28.117L23 31.597L28.219 28.117C28.7667 27.7518 29.2158 27.2571 29.5265 26.6767C29.8372 26.0964 29.9998 25.4483 30 24.79V15.604L23 14.05L16 15.604ZM23 22C22.337 22 21.7011 21.7366 21.2322 21.2678C20.7634 20.7989 20.5 20.163 20.5 19.5C20.5 18.837 20.7634 18.2011 21.2322 17.7322C21.7011 17.2634 22.337 17 23 17C23.663 17 24.2989 17.2634 24.7678 17.7322C25.2366 18.2011 25.5 18.837 25.5 19.5C25.5 20.163 25.2366 20.7989 24.7678 21.2678C24.2989 21.7366 23.663 22 23 22ZM18.527 27C18.6482 25.8984 19.1717 24.8803 19.9971 24.1407C20.8225 23.4012 21.8918 22.9922 23 22.9922C24.1082 22.9922 25.1775 23.4012 26.0029 24.1407C26.8283 24.8803 27.3518 25.8984 27.473 27H18.527Z\",\n fill: \"#44D27D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVerificationSuccess);\nexport default __webpack_public_path__ + \"static/media/verification-success.607f09bb60b341f56920f16be0afe343.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRemoveIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n \"data-v-6a943414\": \"\",\n width: 24,\n height: 24,\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"close-icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-v-6a943414\": \"\",\n d: \"M6.414 5A1 1 0 105 6.414L10.586 12 5 17.586A1 1 0 106.414 19L12 13.414 17.586 19A1 1 0 1019 17.586L13.414 12 19 6.414A1 1 0 1017.586 5L12 10.586 6.414 5z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemoveIcon);\nexport default __webpack_public_path__ + \"static/media/remove-icon.445fec876a83d5fa63e4a9c88c3e4982.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCrossRedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM10 8.586L7.172 5.757L5.757 7.172L8.586 10L5.757 12.828L7.172 14.243L10 11.414L12.828 14.243L14.243 12.828L11.414 10L14.243 7.172L12.828 5.757L10 8.586Z\",\n fill: \"#FF4242\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCrossRedIcon);\nexport default __webpack_public_path__ + \"static/media/cross-red-icon.d0c2384cd80c1d15403b31e18593e2bf.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEye(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-labelledby\": titleId,\n strokeWidth: 1,\n strokeLinecap: \"square\",\n strokeLinejoin: \"miter\",\n fill: \"none\",\n ref: svgRef\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId || \"eyeCrossedIconTitle\"\n }, \"Hidden (crossed eye)\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId || \"eyeCrossedIconTitle\"\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 12C22 12 19 18 12 18C5 18 2 12 2 12C2 12 5 6 12 6C19 6 22 12 22 12Z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 3\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEye);\nexport default __webpack_public_path__ + \"static/media/eye.064a804525e6e7990478ac087c19a826.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _circle, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEyeCrossed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-labelledby\": titleId,\n strokeWidth: 1,\n strokeLinecap: \"square\",\n strokeLinejoin: \"miter\",\n fill: \"none\",\n ref: svgRef\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId || \"eyeCrossedIconTitle\"\n }, \"Hidden (crossed eye)\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId || \"eyeCrossedIconTitle\"\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 12C22 12 19 18 12 18C5 18 2 12 2 12C2 12 5 6 12 6C19 6 22 12 22 12Z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 3\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 21L20 4\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEyeCrossed);\nexport default __webpack_public_path__ + \"static/media/eye-crossed.e0451a831204c639e7e8844cead0e04d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAmazonLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.2188 16.147C9.12286 20 4.09841 16.7763 0.882106 14.8183C0.683083 14.6949 0.344812 14.8472 0.638308 15.1843C1.70982 16.4835 5.22139 19.6151 9.80502 19.6151C14.3918 19.6151 17.1205 17.1123 17.4619 16.6757C17.8009 16.2428 17.5614 16.004 17.2187 16.147H17.2188ZM19.4926 14.8913C19.2751 14.6082 18.1706 14.5555 17.4754 14.6409C16.7792 14.7238 15.7341 15.1493 15.825 15.4048C15.8716 15.5005 15.9668 15.4576 16.445 15.4146C16.9246 15.3667 18.2682 15.1971 18.5481 15.5631C18.8294 15.9316 18.1196 17.6871 17.99 17.9702C17.8647 18.2533 18.0378 18.3263 18.2731 18.1377C18.5051 17.9492 18.9252 17.4611 19.2071 16.7703C19.487 16.0758 19.6577 15.1069 19.4925 14.8913H19.4926Z\",\n fill: \"#FF9900\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7752 8.28499C11.7752 9.29595 11.8007 10.1391 11.2898 11.0369C10.8773 11.7669 10.224 12.2158 9.49408 12.2158C8.49766 12.2158 7.91736 11.4566 7.91736 10.3362C7.91736 8.12435 9.89913 7.72292 11.7752 7.72292V8.28499ZM14.3921 14.61C14.2205 14.7633 13.9723 14.7743 13.7789 14.6721C12.9176 13.9567 12.7642 13.6246 12.2898 12.9421C10.8664 14.3947 9.85905 14.829 8.01229 14.829C5.82972 14.829 4.12891 13.4822 4.12891 10.7851C4.12891 8.67919 5.27135 7.24479 6.89539 6.54409C8.30425 5.92355 10.2715 5.81408 11.7752 5.6426V5.30679C11.7752 4.68994 11.8226 3.96001 11.4613 3.42718C11.1437 2.94904 10.5379 2.75194 10.005 2.75194C9.01595 2.75194 8.13269 3.25923 7.91736 4.31036C7.87351 4.544 7.70202 4.77395 7.46846 4.78488L4.95008 4.51485C4.73844 4.4673 4.50487 4.29582 4.56327 3.97094C5.14357 0.919802 7.89905 0 10.3663 0C11.6291 0 13.2788 0.335809 14.2752 1.29208C15.538 2.47091 15.4176 4.04394 15.4176 5.75569V9.79963C15.4176 11.015 15.9212 11.5478 16.3957 12.2048C16.5635 12.4384 16.6001 12.7195 16.3884 12.8946C15.8591 13.3362 14.9175 14.1575 14.3993 14.6174L14.392 14.61\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.2188 16.147C9.12286 20 4.09841 16.7763 0.882106 14.8183C0.683083 14.6949 0.344812 14.8472 0.638308 15.1843C1.70982 16.4835 5.22139 19.6151 9.80502 19.6151C14.3918 19.6151 17.1205 17.1123 17.4619 16.6757C17.8009 16.2428 17.5614 16.004 17.2187 16.147H17.2188ZM19.4926 14.8913C19.2751 14.6082 18.1706 14.5555 17.4754 14.6409C16.7792 14.7238 15.7341 15.1493 15.825 15.4048C15.8716 15.5005 15.9668 15.4576 16.445 15.4146C16.9246 15.3667 18.2682 15.1971 18.5481 15.5631C18.8294 15.9316 18.1196 17.6871 17.99 17.9702C17.8647 18.2533 18.0378 18.3263 18.2731 18.1377C18.5051 17.9492 18.9252 17.4611 19.2071 16.7703C19.487 16.0758 19.6577 15.1069 19.4925 14.8913H19.4926Z\",\n fill: \"#FF9900\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7752 8.28499C11.7752 9.29595 11.8007 10.1391 11.2898 11.0369C10.8773 11.7669 10.224 12.2158 9.49408 12.2158C8.49766 12.2158 7.91736 11.4566 7.91736 10.3362C7.91736 8.12435 9.89913 7.72292 11.7752 7.72292V8.28499ZM14.3921 14.61C14.2205 14.7633 13.9723 14.7743 13.7789 14.6721C12.9176 13.9567 12.7642 13.6246 12.2898 12.9421C10.8664 14.3947 9.85905 14.829 8.01229 14.829C5.82972 14.829 4.12891 13.4822 4.12891 10.7851C4.12891 8.67919 5.27135 7.24479 6.89539 6.54409C8.30425 5.92355 10.2715 5.81408 11.7752 5.6426V5.30679C11.7752 4.68994 11.8226 3.96001 11.4613 3.42718C11.1437 2.94904 10.5379 2.75194 10.005 2.75194C9.01595 2.75194 8.13269 3.25923 7.91736 4.31036C7.87351 4.544 7.70202 4.77395 7.46846 4.78488L4.95008 4.51485C4.73844 4.4673 4.50487 4.29582 4.56327 3.97094C5.14357 0.919802 7.89905 0 10.3663 0C11.6291 0 13.2788 0.335809 14.2752 1.29208C15.538 2.47091 15.4176 4.04394 15.4176 5.75569V9.79963C15.4176 11.015 15.9212 11.5478 16.3957 12.2048C16.5635 12.4384 16.6001 12.7195 16.3884 12.8946C15.8591 13.3362 14.9175 14.1575 14.3993 14.6174L14.392 14.61\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAmazonLogo);\nexport default __webpack_public_path__ + \"static/media/amazon-logo.94210010103eebf1f0ff1a22d89f9b3a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _g7, _g8, _g9, _g10, _g11, _g12, _g13, _g14, _g15, _g16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAppleLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 22.773 22.773\",\n style: {\n enableBackground: \"new 0 0 22.773 22.773\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.769,0c0.053,0,0.106,0,0.162,0c0.13,1.606-0.483,2.806-1.228,3.675c-0.731,0.863-1.732,1.7-3.351,1.573 c-0.108-1.583,0.506-2.694,1.25-3.561C13.292,0.879,14.557,0.16,15.769,0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.67,16.716c0,0.016,0,0.03,0,0.045c-0.455,1.378-1.104,2.559-1.896,3.655c-0.723,0.995-1.609,2.334-3.191,2.334 c-1.367,0-2.275-0.879-3.676-0.903c-1.482-0.024-2.297,0.735-3.652,0.926c-0.155,0-0.31,0-0.462,0 c-0.995-0.144-1.798-0.932-2.383-1.642c-1.725-2.098-3.058-4.808-3.306-8.276c0-0.34,0-0.679,0-1.019 c0.105-2.482,1.311-4.5,2.914-5.478c0.846-0.52,2.009-0.963,3.304-0.765c0.555,0.086,1.122,0.276,1.619,0.464 c0.471,0.181,1.06,0.502,1.618,0.485c0.378-0.011,0.754-0.208,1.135-0.347c1.116-0.403,2.21-0.865,3.652-0.648 c1.733,0.262,2.963,1.032,3.723,2.22c-1.466,0.933-2.625,2.339-2.427,4.74C17.818,14.688,19.086,15.964,20.67,16.716z\"\n })), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"g\", null))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null)), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null)), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null)), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", null)), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", null)), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", null)), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", null)), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", null)), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", null)), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", null)), _g12 || (_g12 = /*#__PURE__*/React.createElement(\"g\", null)), _g13 || (_g13 = /*#__PURE__*/React.createElement(\"g\", null)), _g14 || (_g14 = /*#__PURE__*/React.createElement(\"g\", null)), _g15 || (_g15 = /*#__PURE__*/React.createElement(\"g\", null)), _g16 || (_g16 = /*#__PURE__*/React.createElement(\"g\", null)));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppleLogo);\nexport default __webpack_public_path__ + \"static/media/apple-logo.6d21f71c9ecb575dbf970f2facbe7ab4.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGoogleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1726 8.36788H17.5013V8.33329H10.0013V11.6666H14.7109C14.0238 13.607 12.1776 15 10.0013 15C7.24005 15 5.0013 12.7612 5.0013 9.99996C5.0013 7.23871 7.24005 4.99996 10.0013 4.99996C11.2759 4.99996 12.4355 5.48079 13.3184 6.26621L15.6755 3.90913C14.1871 2.52204 12.1963 1.66663 10.0013 1.66663C5.39922 1.66663 1.66797 5.39788 1.66797 9.99996C1.66797 14.602 5.39922 18.3333 10.0013 18.3333C14.6034 18.3333 18.3346 14.602 18.3346 9.99996C18.3346 9.44121 18.2771 8.89579 18.1726 8.36788Z\",\n fill: \"#FFC107\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.62891 6.12121L5.36682 8.12913C6.10766 6.29496 7.90182 4.99996 10.0014 4.99996C11.276 4.99996 12.4356 5.48079 13.3185 6.26621L15.6756 3.90913C14.1872 2.52204 12.1964 1.66663 10.0014 1.66663C6.80057 1.66663 4.02474 3.47371 2.62891 6.12121Z\",\n fill: \"#FF3D00\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0008 18.3334C12.1533 18.3334 14.1091 17.5096 15.5879 16.17L13.0087 13.9875C12.1439 14.6452 11.0872 15.0009 10.0008 15C7.83328 15 5.99286 13.618 5.29953 11.6892L2.58203 13.783C3.9612 16.4817 6.76203 18.3334 10.0008 18.3334Z\",\n fill: \"#4CAF50\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1712 8.36796H17.5V8.33337H10V11.6667H14.7096C14.3809 12.5902 13.7889 13.3972 13.0067 13.988L13.0079 13.9871L15.5871 16.1696C15.4046 16.3355 18.3333 14.1667 18.3333 10C18.3333 9.44129 18.2758 8.89587 18.1712 8.36796Z\",\n fill: \"#1976D2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGoogleIcon);\nexport default __webpack_public_path__ + \"static/media/google-icon.5246270bc99da0269b3af3e680f5e79a.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInfoIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_434_5895)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 18.3334C5.39752 18.3334 1.66669 14.6025 1.66669 10C1.66669 5.39752 5.39752 1.66669 10 1.66669C14.6025 1.66669 18.3334 5.39752 18.3334 10C18.3334 14.6025 14.6025 18.3334 10 18.3334ZM10 16.6667C11.7681 16.6667 13.4638 15.9643 14.7141 14.7141C15.9643 13.4638 16.6667 11.7681 16.6667 10C16.6667 8.23191 15.9643 6.53622 14.7141 5.28598C13.4638 4.03573 11.7681 3.33335 10 3.33335C8.23191 3.33335 6.53622 4.03573 5.28598 5.28598C4.03573 6.53622 3.33335 8.23191 3.33335 10C3.33335 11.7681 4.03573 13.4638 5.28598 14.7141C6.53622 15.9643 8.23191 16.6667 10 16.6667ZM9.16669 5.83335H10.8334V7.50002H9.16669V5.83335ZM9.16669 9.16669H10.8334V14.1667H9.16669V9.16669Z\",\n fill: \"#000921\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_434_5895\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfoIcon);\nexport default __webpack_public_path__ + \"static/media/info-icon.390ae4be0ca5732a9cbf2a6de67443cf.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotification(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n width: 16,\n height: 16,\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#334983\",\n d: \"M14.667 13.333H1.333V12H2V7.354c0-3.325 2.687-6.02 6-6.02s6 2.695 6 6.02V12h.667v1.333ZM3.333 12h9.334V7.354c0-2.589-2.09-4.687-4.667-4.687S3.333 4.765 3.333 7.354V12Zm3 2h3.334a1.667 1.667 0 0 1-3.334 0Z\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M0 0h16v16H0z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotification);\nexport default __webpack_public_path__ + \"static/media/notification.fc6793c274677ae16d9eb2e7133e3666.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDashboard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1132_8348)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.8333 17.5V9.16667H17.5V17.5H10.8333ZM2.5 10.8333V2.5H9.16667V10.8333H2.5ZM7.5 9.16667V4.16667H4.16667V9.16667H7.5ZM2.5 17.5V12.5H9.16667V17.5H2.5ZM4.16667 15.8333H7.5V14.1667H4.16667V15.8333ZM12.5 15.8333H15.8333V10.8333H12.5V15.8333ZM10.8333 2.5H17.5V7.5H10.8333V2.5ZM12.5 4.16667V5.83333H15.8333V4.16667H12.5Z\",\n fill: \"#000921\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1132_8348\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDashboard);\nexport default __webpack_public_path__ + \"static/media/dashboard.5e2b3ab49ab32d8d03432452fa94579f.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSettings(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_434_5887)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.23836 3.33336L9.41086 1.16086C9.56713 1.00463 9.77905 0.91687 10 0.91687C10.221 0.91687 10.4329 1.00463 10.5892 1.16086L12.7617 3.33336H15.8334C16.0544 3.33336 16.2663 3.42116 16.4226 3.57744C16.5789 3.73372 16.6667 3.94568 16.6667 4.16669V7.23836L18.8392 9.41086C18.9954 9.56713 19.0832 9.77905 19.0832 10C19.0832 10.221 18.9954 10.4329 18.8392 10.5892L16.6667 12.7617V15.8334C16.6667 16.0544 16.5789 16.2663 16.4226 16.4226C16.2663 16.5789 16.0544 16.6667 15.8334 16.6667H12.7617L10.5892 18.8392C10.4329 18.9954 10.221 19.0832 10 19.0832C9.77905 19.0832 9.56713 18.9954 9.41086 18.8392L7.23836 16.6667H4.16669C3.94568 16.6667 3.73372 16.5789 3.57744 16.4226C3.42116 16.2663 3.33336 16.0544 3.33336 15.8334V12.7617L1.16086 10.5892C1.00463 10.4329 0.91687 10.221 0.91687 10C0.91687 9.77905 1.00463 9.56713 1.16086 9.41086L3.33336 7.23836V4.16669C3.33336 3.94568 3.42116 3.73372 3.57744 3.57744C3.73372 3.42116 3.94568 3.33336 4.16669 3.33336H7.23836ZM5.00003 5.00003V7.92919L2.92919 10L5.00003 12.0709V15H7.92919L10 17.0709L12.0709 15H15V12.0709L17.0709 10L15 7.92919V5.00003H12.0709L10 2.92919L7.92919 5.00003H5.00003ZM10 13.3334C9.11597 13.3334 8.26812 12.9822 7.643 12.357C7.01788 11.7319 6.66669 10.8841 6.66669 10C6.66669 9.11597 7.01788 8.26812 7.643 7.643C8.26812 7.01788 9.11597 6.66669 10 6.66669C10.8841 6.66669 11.7319 7.01788 12.357 7.643C12.9822 8.26812 13.3334 9.11597 13.3334 10C13.3334 10.8841 12.9822 11.7319 12.357 12.357C11.7319 12.9822 10.8841 13.3334 10 13.3334ZM10 11.6667C10.4421 11.6667 10.866 11.4911 11.1785 11.1785C11.4911 10.866 11.6667 10.4421 11.6667 10C11.6667 9.558 11.4911 9.13407 11.1785 8.82151C10.866 8.50895 10.4421 8.33336 10 8.33336C9.558 8.33336 9.13407 8.50895 8.82151 8.82151C8.50895 9.13407 8.33336 9.558 8.33336 10C8.33336 10.4421 8.50895 10.866 8.82151 11.1785C9.13407 11.4911 9.558 11.6667 10 11.6667Z\",\n fill: \"#000921\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_434_5887\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSettings);\nexport default __webpack_public_path__ + \"static/media/settings.2dc1aa179e45aa9bcb7ad958a7e992dd.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQuestionMarkIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99992 13.6667C3.31792 13.6667 0.333252 10.682 0.333252 7.00004C0.333252 3.31804 3.31792 0.333374 6.99992 0.333374C10.6819 0.333374 13.6666 3.31804 13.6666 7.00004C13.6666 10.682 10.6819 13.6667 6.99992 13.6667ZM6.33325 9.00004V10.3334H7.66659V9.00004H6.33325ZM7.66659 7.90337C8.20237 7.74189 8.66232 7.39334 8.96269 6.9212C9.26306 6.44906 9.38385 5.88474 9.30307 5.33102C9.2223 4.77729 8.94532 4.271 8.52259 3.90435C8.09986 3.53769 7.5595 3.33507 6.99992 3.33337C6.46049 3.33333 5.93769 3.52014 5.52045 3.86204C5.1032 4.20393 4.81726 4.67979 4.71125 5.20871L6.01925 5.47071C6.05637 5.285 6.14546 5.11364 6.27616 4.97658C6.40686 4.83953 6.57379 4.7424 6.75754 4.69651C6.94128 4.65062 7.13427 4.65785 7.31407 4.71735C7.49386 4.77686 7.65306 4.8862 7.77314 5.03265C7.89322 5.1791 7.96925 5.35663 7.99237 5.5446C8.0155 5.73257 7.98477 5.92324 7.90377 6.09443C7.82276 6.26562 7.69481 6.41028 7.5348 6.51159C7.37479 6.6129 7.1893 6.6667 6.99992 6.66671C6.82311 6.66671 6.65354 6.73695 6.52851 6.86197C6.40349 6.98699 6.33325 7.15656 6.33325 7.33337V8.33337H7.66659V7.90337Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuestionMarkIcon);\nexport default __webpack_public_path__ + \"static/media/question-mark-icon.fc6b21158d67260798df5dff795be3d5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLockIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 15,\n viewBox: \"0 0 12 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 5.33329H11.3333C11.5101 5.33329 11.6797 5.40353 11.8047 5.52855C11.9298 5.65358 12 5.82315 12 5.99996V14C12 14.1768 11.9298 14.3463 11.8047 14.4714C11.6797 14.5964 11.5101 14.6666 11.3333 14.6666H0.666667C0.489856 14.6666 0.320286 14.5964 0.195262 14.4714C0.0702379 14.3463 0 14.1768 0 14V5.99996C0 5.82315 0.0702379 5.65358 0.195262 5.52855C0.320286 5.40353 0.489856 5.33329 0.666667 5.33329H2V4.66663C2 3.60576 2.42143 2.58834 3.17157 1.8382C3.92172 1.08805 4.93913 0.666626 6 0.666626C7.06087 0.666626 8.07828 1.08805 8.82843 1.8382C9.57857 2.58834 10 3.60576 10 4.66663V5.33329ZM5.33333 10.488V12H6.66667V10.488C6.92086 10.3412 7.11952 10.1147 7.23184 9.8435C7.34416 9.57233 7.36387 9.27168 7.2879 8.98817C7.21193 8.70466 7.04454 8.45413 6.81168 8.27545C6.57882 8.09678 6.29351 7.99993 6 7.99993C5.70649 7.99993 5.42118 8.09678 5.18832 8.27545C4.95546 8.45413 4.78807 8.70466 4.7121 8.98817C4.63613 9.27168 4.65584 9.57233 4.76816 9.8435C4.88048 10.1147 5.07914 10.3412 5.33333 10.488ZM8.66667 5.33329V4.66663C8.66667 3.95938 8.38572 3.2811 7.88562 2.78101C7.38552 2.28091 6.70724 1.99996 6 1.99996C5.29276 1.99996 4.61448 2.28091 4.11438 2.78101C3.61428 3.2811 3.33333 3.95938 3.33333 4.66663V5.33329H8.66667Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLockIcon);\nexport default __webpack_public_path__ + \"static/media/lock-icon.43523dda93da69bc9d02def1aed97752.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotificationInvertedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 15,\n viewBox: \"0 0 12 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 0.333374C9.31333 0.333374 12 3.02871 12 6.35404V12.3334H0V6.35404C0 3.02871 2.68667 0.333374 6 0.333374ZM4.33333 13H7.66667C7.66667 13.4421 7.49107 13.866 7.17851 14.1786C6.86595 14.4911 6.44203 14.6667 6 14.6667C5.55797 14.6667 5.13405 14.4911 4.82149 14.1786C4.50893 13.866 4.33333 13.4421 4.33333 13Z\",\n fill: \"#334983\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotificationInvertedIcon);\nexport default __webpack_public_path__ + \"static/media/notification-inverted-icon.551a92855e78cb67f2c7d68687fa8753.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTrashIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3334 3.66671V13C12.3334 13.1769 12.2631 13.3464 12.1381 13.4714C12.0131 13.5965 11.8435 13.6667 11.6667 13.6667H2.33337C2.15656 13.6667 1.98699 13.5965 1.86197 13.4714C1.73695 13.3464 1.66671 13.1769 1.66671 13V3.66671H0.333374V2.33337H13.6667V3.66671H12.3334ZM6.33337 5.00004V6.33337H7.66671V5.00004H6.33337ZM6.33337 7.00004V8.33337H7.66671V7.00004H6.33337ZM6.33337 9.00004V10.3334H7.66671V9.00004H6.33337ZM3.66671 0.333374H10.3334V1.66671H3.66671V0.333374Z\",\n fill: \"#FF4242\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrashIcon);\nexport default __webpack_public_path__ + \"static/media/trash-icon.47dc38d9485648bf561c8fd6e55d2960.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTrashInvertedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 14,\n viewBox: \"0 0 15 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.16665 1.66665V0.333313H10.8333V1.66665H14.1666V2.99998H12.8333V13C12.8333 13.1768 12.7631 13.3464 12.6381 13.4714C12.513 13.5964 12.3435 13.6666 12.1666 13.6666H2.83331C2.6565 13.6666 2.48693 13.5964 2.36191 13.4714C2.23688 13.3464 2.16665 13.1768 2.16665 13V2.99998H0.833313V1.66665H4.16665ZM3.49998 2.99998V12.3333H11.5V2.99998H3.49998ZM5.49998 4.99998H6.83331V10.3333H5.49998V4.99998ZM8.16665 4.99998H9.49998V10.3333H8.16665V4.99998Z\",\n fill: \"#FF4646\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrashInvertedIcon);\nexport default __webpack_public_path__ + \"static/media/trash-inverted-icon.2ec1702f2b0adb8afa064eb15b3cf51f.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMailFill(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_167_17156)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.50002 3H17.5C17.721 3 17.933 3.0878 18.0893 3.24408C18.2456 3.40036 18.3334 3.61232 18.3334 3.83333V17.1667C18.3334 17.3877 18.2456 17.5996 18.0893 17.7559C17.933 17.9122 17.721 18 17.5 18H2.50002C2.27901 18 2.06704 17.9122 1.91076 17.7559C1.75448 17.5996 1.66669 17.3877 1.66669 17.1667V3.83333C1.66669 3.61232 1.75448 3.40036 1.91076 3.24408C2.06704 3.0878 2.27901 3 2.50002 3ZM10.05 10.2358L4.70669 5.69833L3.62752 6.96833L10.0609 12.4308L16.3784 6.96417L15.2884 5.70333L10.0509 10.2358H10.05Z\",\n fill: \"#334983\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_167_17156\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\",\n transform: \"translate(0 0.5)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMailFill);\nexport default __webpack_public_path__ + \"static/media/mail-fill.18c1a9a4c0906e58eee513929c31fb53.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDelete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_96_5744)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.83317 3.33329V1.66663H14.1665V3.33329H18.3332V4.99996H16.6665V17.5C16.6665 17.721 16.5787 17.9329 16.4224 18.0892C16.2661 18.2455 16.0542 18.3333 15.8332 18.3333H4.1665C3.94549 18.3333 3.73353 18.2455 3.57725 18.0892C3.42097 17.9329 3.33317 17.721 3.33317 17.5V4.99996H1.6665V3.33329H5.83317ZM4.99984 4.99996V16.6666H14.9998V4.99996H4.99984ZM7.49984 7.49996H9.1665V14.1666H7.49984V7.49996ZM10.8332 7.49996H12.4998V14.1666H10.8332V7.49996Z\",\n fill: \"#EB5757\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_96_5744\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDelete);\nexport default __webpack_public_path__ + \"static/media/delete.3145b392a3c0cfdf746a90dd86c68998.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.50002 1.66913V1.66663H16.665C17.125 1.66663 17.5 2.04579 17.5 2.49329V17.5066C17.4998 17.7259 17.4125 17.9362 17.2574 18.0912C17.1022 18.2462 16.8918 18.3333 16.6725 18.3333H3.32752C3.21808 18.3325 3.10987 18.3102 3.00906 18.2676C2.90825 18.225 2.81681 18.163 2.73997 18.0851C2.66313 18.0072 2.60239 17.9149 2.56122 17.8135C2.52005 17.7121 2.49925 17.6036 2.50002 17.4941V6.66663L7.50002 1.66913ZM4.85835 6.66663H7.50002V4.02496L4.85835 6.66663ZM9.16669 3.33329V7.49996C9.16669 7.72097 9.07889 7.93293 8.92261 8.08922C8.76633 8.2455 8.55437 8.33329 8.33335 8.33329H4.16669V16.6666H15.8334V3.33329H9.16669Z\",\n fill: \"#717786\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFile);\nexport default __webpack_public_path__ + \"static/media/file.77e1b9e78ecbe683dce8c0783282fa73.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 16,\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_701_1128)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.16683 12.6667H13.8335V8H15.1668V13.3333C15.1668 13.5101 15.0966 13.6797 14.9716 13.8047C14.8465 13.9298 14.677 14 14.5002 14H2.50016C2.32335 14 2.15378 13.9298 2.02876 13.8047C1.90373 13.6797 1.8335 13.5101 1.8335 13.3333V8H3.16683V12.6667ZM9.8335 6H13.1668L8.50016 10.6667L3.8335 6H7.16683V2H9.8335V6Z\",\n fill: \"#334983\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_701_1128\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 16,\n height: 16,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownload);\nexport default __webpack_public_path__ + \"static/media/download.31fefc8599b49c22e069c07e9761752b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClock(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.6813 4.97331L15.8921 3.76248L17.0705 4.94081L15.8596 6.15165C17.0561 7.64929 17.6337 9.54821 17.4739 11.4584C17.314 13.3686 16.4288 15.1451 15.0001 16.4231C13.5713 17.701 11.7074 18.3834 9.7913 18.33C7.87515 18.2767 6.05215 17.4917 4.6967 16.1363C3.34125 14.7808 2.55625 12.9578 2.50291 11.0417C2.44957 9.12551 3.13193 7.26166 4.40987 5.83291C5.68782 4.40415 7.46432 3.51894 9.37453 3.35908C11.2847 3.19922 13.1837 3.77684 14.6813 4.97331V4.97331ZM9.99964 16.6666C10.7657 16.6666 11.5242 16.5158 12.232 16.2226C12.9397 15.9295 13.5828 15.4998 14.1244 14.9581C14.6661 14.4164 15.0958 13.7734 15.3889 13.0656C15.6821 12.3579 15.833 11.5994 15.833 10.8333C15.833 10.0673 15.6821 9.30873 15.3889 8.60099C15.0958 7.89326 14.6661 7.2502 14.1244 6.70852C13.5828 6.16685 12.9397 5.73717 12.232 5.44402C11.5242 5.15086 10.7657 4.99998 9.99964 4.99998C8.45255 4.99998 6.96882 5.61456 5.87485 6.70852C4.78089 7.80249 4.16631 9.28622 4.16631 10.8333C4.16631 12.3804 4.78089 13.8641 5.87485 14.9581C6.96882 16.0521 8.45255 16.6666 9.99964 16.6666V16.6666ZM9.16631 6.66665H10.833V11.6666H9.16631V6.66665ZM6.66631 0.833313H13.333V2.49998H6.66631V0.833313Z\",\n fill: \"#090C15\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClock);\nexport default __webpack_public_path__ + \"static/media/clock.660f90c597003ab2e16bca08c8d47279.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHashtag(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1191_9622)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.48634 11.6667L6.83634 8.33333H3.33301V6.66667H7.01217L7.44967 2.5H9.12551L8.68801 6.66667H12.0122L12.4497 2.5H14.1255L13.688 6.66667H16.6663V8.33333H13.513L13.163 11.6667H16.6663V13.3333H12.9872L12.5497 17.5H10.8738L11.3113 13.3333H7.98717L7.54967 17.5H5.87384L6.31134 13.3333H3.33301V11.6667H6.48634ZM8.16217 11.6667H11.4872L11.8372 8.33333H8.51217L8.16217 11.6667Z\",\n fill: \"#090C15\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1191_9622\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHashtag);\nexport default __webpack_public_path__ + \"static/media/hashtag.8e5062a091becbf1189e5db9dc8687d4.svg\";\nexport { ForwardRef as ReactComponent };","export { ReactComponent as ArrowIcon } from \"./arrow.svg\";\nexport { ReactComponent as LogoutIcon } from \"./logout.svg\";\nexport { ReactComponent as ArrowRightIcon } from \"./arrow-right.svg\";\nexport { ReactComponent as IconBack } from \"./icon-back.svg\";\nexport { ReactComponent as IconForward } from \"./icon-forward.svg\";\nexport { ReactComponent as CheckIcon } from \"./check.svg\";\nexport { ReactComponent as UploadIcon } from \"./upload-cloud-icon.svg\";\nexport { ReactComponent as AssessmentProgressIcon } from \"./assessment-in-progress.svg\";\nexport { ReactComponent as CheckCircleDisabledIcon } from \"./check-circle-disabled.svg\";\nexport { ReactComponent as CheckCircleSuccessIcon } from \"./check-circle-success.svg\";\nexport { ReactComponent as CircleProgressIcon } from \"./circle-progress.svg\";\nexport { ReactComponent as CircleWarningIcon } from \"./circle-warning.svg\";\nexport { ReactComponent as FixIcon } from \"./fix-icon.svg\";\nexport { ReactComponent as MinusIcon } from \"./minus-icon.svg\";\nexport { ReactComponent as MoreInfoIcon } from \"./more-info.svg\";\nexport { ReactComponent as PaymentAbsentIcon } from \"./payment-absent.svg\";\nexport { ReactComponent as PlusIcon } from \"./plus-icon.svg\";\nexport { ReactComponent as VerificationAbsentIcon } from \"./verification-absent.svg\";\nexport { ReactComponent as AssessmentSuccessIcon } from \"./assessment-success.svg\";\nexport { ReactComponent as MitigationsSuccessIcon } from \"./mitigations-success.svg\";\nexport { ReactComponent as MoreInfoSuccessIcon } from \"./more-info-success.svg\";\nexport { ReactComponent as PaymentSuccessIcon } from \"./payment-succeed.svg\";\nexport { ReactComponent as VerificationSuccessIcon } from \"./verification-success.svg\";\nexport { ReactComponent as RemoveIcon } from \"./remove-icon.svg\";\nexport { ReactComponent as CrossRedIcon } from \"./cross-red-icon.svg\";\nexport { ReactComponent as EyeIcon } from \"./eye.svg\";\nexport { ReactComponent as EyeCrossedIcon } from \"./eye-crossed.svg\";\nexport { ReactComponent as AmazonIcon } from \"./amazon-logo.svg\";\nexport { ReactComponent as AppleLogo } from \"./apple-logo.svg\";\nexport { ReactComponent as GoogleIcon } from \"./google-icon.svg\";\nexport { ReactComponent as InfoIcon } from \"./info-icon.svg\";\nexport { ReactComponent as NotificationIcon } from \"./notification.svg\";\nexport { ReactComponent as DashboardIcon } from \"./dashboard.svg\";\nexport { ReactComponent as SettingsIcon } from \"./settings.svg\";\nexport { ReactComponent as QuestionMarkIcon } from \"./question-mark-icon.svg\";\nexport { ReactComponent as LockIcon } from \"./lock-icon.svg\";\nexport { ReactComponent as NotificationInvertedIcon } from \"./notification-inverted-icon.svg\";\nexport { ReactComponent as TrashIcon } from \"./trash-icon.svg\";\nexport { ReactComponent as TrashInvertedIcon } from \"./trash-inverted-icon.svg\";\nexport { ReactComponent as MailIcon } from \"./mail-fill.svg\";\nexport { ReactComponent as DeleteIcon } from \"./delete.svg\";\nexport { ReactComponent as FileIcon } from \"./file.svg\";\nexport { ReactComponent as DownloadIcon } from \"./download.svg\";\nexport { ReactComponent as ClockIcon } from \"./clock.svg\";\nexport { ReactComponent as TagIcon } from \"./hashtag.svg\";\n","import React from \"react\";\nimport {\n CheckCircleDisabledIcon,\n CheckCircleSuccessIcon,\n CircleWarningIcon\n} from \"@/icons\";\n\nexport const OrderInfoType = {\n INFO_DEVELOPER: \"INFO_DEVELOPER\",\n INFO_APP: \"INFO_APP\",\n VERIFICATION: \"VERIFICATION\",\n PAYMENT: \"PAYMENT\",\n ADDITIONAL_INFO: \"ADDITIONAL_INFO\",\n ASSESSMENT_IN_PROGRESS: \"ASSESSMENT_IN_PROGRESS\",\n MITIGATIONS_NEEDED: \"MITIGATIONS_NEEDED\",\n ASSESSMENT_COMPLETED: \"ASSESSMENT_COMPLETED\"\n};\n\nexport const OrderInfoTypeProperties = {\n [OrderInfoType.INFO_DEVELOPER]: {\n title: \"Developer details\",\n description: \"Information about you, contact details\",\n icon: \n },\n [OrderInfoType.INFO_APP]: {\n title: \"Application details\",\n description: \"Application and package details, app review information\",\n icon: \n },\n [OrderInfoType.VERIFICATION]: {\n title: \"Verification\",\n description:\n \"We need to assess your authority over the application to start the assessment\",\n icon: \n },\n [OrderInfoType.PAYMENT]: {\n title: \"Payment\",\n description: \"Choose your plan for the assessment\",\n icon: \n },\n [OrderInfoType.ADDITIONAL_INFO]: {\n title: \"Additional information\",\n description:\n \"We might request additional information before performing the assessment\",\n icon: \n },\n [OrderInfoType.ASSESSMENT_IN_PROGRESS]: {\n title: \"Assessment in progress\",\n description:\n \"Sit back and relax, your application’s assessment is underway!\",\n icon: \n },\n [OrderInfoType.MITIGATIONS_NEEDED]: {\n title: \"Mitigations needed\",\n description:\n \"We found vulnerabilities or misconfigurations that need to be fixed to complete the assessment\",\n icon: \n },\n [OrderInfoType.ASSESSMENT_COMPLETED]: {\n title: \"Assessment completed\",\n description: \"You can download the report here\",\n icon: \n }\n};\n","export const MAX_APK_FILE_SIZE_IN_BYTES =\n 1024 *\n 1024 *\n (parseInt(process.env.REACT_APP_MAX_APK_SIZE_IN_MEGABYTES, 10) || 150);\n\nexport const MAX_APK_FILE_SIZE_IN_MEGABYTES =\n parseInt(process.env.REACT_APP_MAX_APK_SIZE_IN_MEGABYTES, 10) || 150;\n\nexport const APK_CHUNK_SIZE_IN_BYTES =\n 1024 *\n 1024 *\n (parseInt(process.env.REACT_APP_APK_CHUNK_SIZE_IN_MEGABYTES, 10) ?? 1);\n\nexport const APK_UPLOAD_TIMEOUT_IN_MS =\n (parseInt(process.env.REACT_APP_APK_UPLOAD_TIMEOUT_IN_SECONDS, 10) || 10) *\n 1000;\n\nexport const UPLOAD_MAX_CHUNK_RETRIES_COUNT =\n parseInt(process.env.REACT_APP_UPLOAD_MAX_CHUNK_RETRIES, 10) || 5;\n\nexport const MAX_TXT_FILE_SIZE_IN_MEGABYTES =\n parseInt(process.env.REACT_APP_MAX_TXT_FILE_SIZE_IN_MEGABYTES, 10) || 5;\n\nexport const MAX_SCREENSHOT_FILE_SIZE_IN_MEGABYTES =\n parseInt(process.env.REACT_APP_MAX_SCREENSHOT_FILE_SIZE_IN_MEGABYTES, 10) ||\n 10;\n\nexport const MAX_DOC_FILE_SIZE_IN_MEGABYTES =\n parseInt(process.env.REACT_APP_MAX_DOC_FILE_SIZE_IN_MEGABYTES, 10) || 10;\n","export const ExternalLinks = {\n TERMS: \"https://themasa.io/terms\",\n GOOGLE_AUTHENTICATOR:\n \"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en&gl=US\",\n MICROSOFT_AUTHENTICATOR:\n \"https://play.google.com/store/apps/details?id=com.azure.authenticator&hl=en&gl=US\"\n};\n","export const MFAChallengeTypes = {\n MFA_SETUP: \"mfa_setup\",\n MFA_REQUIRED: \"mfa_required\"\n};\n","export const RequestConstants = {\n FILE_REQUESTS_TIMEOUT_IN_SECONDS:\n (parseInt(process.env.REACT_APP_FILE_REQUESTS_TIMEOUT_IN_SECONDS, 10) ||\n 10) * 1000\n};\n","export * from \"./routes\";\nexport * from \"./localStorageKeys\";\nexport * from \"./statusCodes\";\nexport * from \"./contactTypes\";\nexport * from \"./routeProps\";\nexport * from \"./authTypes\";\nexport * from \"./federatedLoginProviders\";\nexport * from \"./planTypes\";\nexport * from \"./orderInfoType\";\nexport * from \"./fileConstants\";\nexport * from \"./externalLinks\";\nexport * from \"./mfaChallengeTypes\";\nexport * from \"./requestConstants\";\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport {\n\tICookieStorageData,\n\tICognitoStorage,\n} from 'amazon-cognito-identity-js';\n\n/**\n * Parameters for user sign up\n */\nexport interface SignUpParams {\n\tusername: string;\n\tpassword: string;\n\tattributes?: object;\n\tvalidationData?: { [key: string]: any };\n\tclientMetadata?: { [key: string]: string };\n\tautoSignIn?: AutoSignInOptions;\n}\n\nexport interface AuthCache {\n\tsetItem();\n\tgetItem();\n\tremoveItem();\n}\n\n/**\n * Auth instance options\n */\nexport interface AuthOptions {\n\tuserPoolId?: string;\n\tuserPoolWebClientId?: string;\n\tidentityPoolId?: string;\n\tregion?: string;\n\tmandatorySignIn?: boolean;\n\tcookieStorage?: ICookieStorageData;\n\toauth?: OAuthOpts;\n\trefreshHandlers?: object;\n\tstorage?: ICognitoStorage;\n\tauthenticationFlowType?: string;\n\tidentityPoolRegion?: string;\n\tclientMetadata?: any;\n\tendpoint?: string;\n\tsignUpVerificationMethod?: 'code' | 'link';\n}\n\nexport enum CognitoHostedUIIdentityProvider {\n\tCognito = 'COGNITO',\n\tGoogle = 'Google',\n\tFacebook = 'Facebook',\n\tAmazon = 'LoginWithAmazon',\n\tApple = 'SignInWithApple',\n}\n\nexport type LegacyProvider =\n\t| 'google'\n\t| 'facebook'\n\t| 'amazon'\n\t| 'developer'\n\t| string;\n\nexport type FederatedSignInOptions = {\n\tprovider: CognitoHostedUIIdentityProvider;\n\tcustomState?: string;\n};\n\nexport type FederatedSignInOptionsCustom = {\n\tcustomProvider: string;\n\tcustomState?: string;\n};\n\nexport function isFederatedSignInOptions(\n\tobj: any\n): obj is FederatedSignInOptions {\n\tconst keys: (keyof FederatedSignInOptions)[] = ['provider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function isFederatedSignInOptionsCustom(\n\tobj: any\n): obj is FederatedSignInOptionsCustom {\n\tconst keys: (keyof FederatedSignInOptionsCustom)[] = ['customProvider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function hasCustomState(obj: any): boolean {\n\tconst keys: (keyof (\n\t\t| FederatedSignInOptions\n\t\t| FederatedSignInOptionsCustom\n\t))[] = ['customState'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\n/**\n * Details for multi-factor authentication\n */\nexport interface MfaRequiredDetails {\n\tchallengeName: any;\n\tchallengeParameters: any;\n}\n\n/**\n * interface for federatedResponse\n */\nexport interface FederatedResponse {\n\t// access token\n\ttoken: string;\n\t// identity id\n\tidentity_id?: string;\n\t// the universal time when token expired\n\texpires_at: number;\n}\n\n/**\n * interface for federatedUser\n */\nexport interface FederatedUser {\n\tname: string;\n\temail?: string;\n\tpicture?: string;\n}\n\nexport interface AwsCognitoOAuthOpts {\n\tdomain: string;\n\tscope: Array;\n\tredirectSignIn: string;\n\tredirectSignOut: string;\n\tresponseType: string;\n\toptions?: object;\n\turlOpener?: (url: string, redirectUrl: string) => Promise;\n}\n\nexport function isCognitoHostedOpts(\n\toauth: OAuthOpts\n): oauth is AwsCognitoOAuthOpts {\n\treturn (oauth).redirectSignIn !== undefined;\n}\n\nexport interface Auth0OAuthOpts {\n\tdomain: string;\n\tclientID: string;\n\tscope: string;\n\tredirectUri: string;\n\taudience: string;\n\tresponseType: string;\n\treturnTo: string;\n\turlOpener?: (url: string, redirectUrl: string) => Promise;\n}\n\n// Replacing to fix typings\n// export interface OAuth {\n// awsCognito?: awsCognitoOAuthOpts,\n// auth0?: any\n// }\n\nexport type OAuthOpts = AwsCognitoOAuthOpts | Auth0OAuthOpts;\n\nexport interface ConfirmSignUpOptions {\n\tforceAliasCreation?: boolean;\n\tclientMetadata?: ClientMetaData;\n}\n\nexport interface SignOutOpts {\n\tglobal?: boolean;\n}\n\nexport interface CurrentUserOpts {\n\tbypassCache: boolean;\n}\n\nexport interface GetPreferredMFAOpts {\n\tbypassCache: boolean;\n}\n\nexport type UsernamePasswordOpts = {\n\tusername: string;\n\tpassword: string;\n\tvalidationData?: { [key: string]: any };\n};\n\nexport enum AuthErrorTypes {\n\tNoConfig = 'noConfig',\n\tMissingAuthConfig = 'missingAuthConfig',\n\tEmptyUsername = 'emptyUsername',\n\tInvalidUsername = 'invalidUsername',\n\tEmptyPassword = 'emptyPassword',\n\tEmptyCode = 'emptyCode',\n\tSignUpError = 'signUpError',\n\tNoMFA = 'noMFA',\n\tInvalidMFA = 'invalidMFA',\n\tEmptyChallengeResponse = 'emptyChallengeResponse',\n\tNoUserSession = 'noUserSession',\n\tDefault = 'default',\n\tDeviceConfig = 'deviceConfig',\n\tNetworkError = 'networkError',\n\tAutoSignInError = 'autoSignInError',\n}\n\nexport type AuthErrorMessages = { [key in AuthErrorTypes]: AuthErrorMessage };\n\nexport interface AuthErrorMessage {\n\tmessage: string;\n\tlog?: string;\n}\n\n// We can extend this in the future if needed\nexport type SignInOpts = UsernamePasswordOpts;\n\nexport type ClientMetaData =\n\t| {\n\t\t\t[key: string]: string;\n\t }\n\t| undefined;\n\nexport function isUsernamePasswordOpts(obj: any): obj is UsernamePasswordOpts {\n\treturn !!(obj as UsernamePasswordOpts).username;\n}\n\nexport interface IAuthDevice {\n\tid: string;\n\tname: string;\n}\n\nexport interface AutoSignInOptions {\n\tenabled: boolean;\n\tclientMetaData?: ClientMetaData;\n\tvalidationData?: { [key: string]: any };\n}\n\nexport enum GRAPHQL_AUTH_MODE {\n\tAPI_KEY = 'API_KEY',\n\tAWS_IAM = 'AWS_IAM',\n\tOPENID_CONNECT = 'OPENID_CONNECT',\n\tAMAZON_COGNITO_USER_POOLS = 'AMAZON_COGNITO_USER_POOLS',\n\tAWS_LAMBDA = 'AWS_LAMBDA',\n}\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\n// Logging constants\nconst AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nconst AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nconst AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nconst AWS_CLOUDWATCH_CATEGORY = 'Logging';\nconst AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nconst NO_CREDS_ERROR_STRING = 'No credentials';\nconst RETRY_ERROR_CODES = [\n\t'ResourceNotFoundException',\n\t'InvalidSequenceTokenException',\n];\n\nexport {\n\tAWS_CLOUDWATCH_BASE_BUFFER_SIZE,\n\tAWS_CLOUDWATCH_CATEGORY,\n\tAWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE,\n\tAWS_CLOUDWATCH_MAX_EVENT_SIZE,\n\tAWS_CLOUDWATCH_PROVIDER_NAME,\n\tNO_CREDS_ERROR_STRING,\n\tRETRY_ERROR_CODES,\n};\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { InputLogEvent } from '@aws-sdk/client-cloudwatch-logs';\nimport { LoggingProvider } from '../types';\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nimport { Logger } from './logger-interface';\n\nconst LOG_LEVELS = {\n\tVERBOSE: 1,\n\tDEBUG: 2,\n\tINFO: 3,\n\tWARN: 4,\n\tERROR: 5,\n};\n\nexport enum LOG_TYPE {\n\tDEBUG = 'DEBUG',\n\tERROR = 'ERROR',\n\tINFO = 'INFO',\n\tWARN = 'WARN',\n\tVERBOSE = 'VERBOSE',\n}\n\n/**\n * Write logs\n * @class Logger\n */\nexport class ConsoleLogger implements Logger {\n\tname: string;\n\tlevel: LOG_TYPE | string;\n\tprivate _pluggables: LoggingProvider[];\n\tprivate _config: object;\n\n\t/**\n\t * @constructor\n\t * @param {string} name - Name of the logger\n\t */\n\tconstructor(name: string, level: LOG_TYPE | string = LOG_TYPE.WARN) {\n\t\tthis.name = name;\n\t\tthis.level = level;\n\t\tthis._pluggables = [];\n\t}\n\n\tstatic LOG_LEVEL = null;\n\n\t_padding(n) {\n\t\treturn n < 10 ? '0' + n : '' + n;\n\t}\n\n\t_ts() {\n\t\tconst dt = new Date();\n\t\treturn (\n\t\t\t[this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(\n\t\t\t\t':'\n\t\t\t) +\n\t\t\t'.' +\n\t\t\tdt.getMilliseconds()\n\t\t);\n\t}\n\n\tconfigure(config?: object) {\n\t\tif (!config) return this._config;\n\n\t\tthis._config = config;\n\n\t\treturn this._config;\n\t}\n\n\t/**\n\t * Write log\n\t * @method\n\t * @memeberof Logger\n\t * @param {LOG_TYPE|string} type - log type, default INFO\n\t * @param {string|object} msg - Logging message or object\n\t */\n\t_log(type: LOG_TYPE | string, ...msg) {\n\t\tlet logger_level_name = this.level;\n\t\tif (ConsoleLogger.LOG_LEVEL) {\n\t\t\tlogger_level_name = ConsoleLogger.LOG_LEVEL;\n\t\t}\n\t\tif (typeof (window) !== 'undefined' && (window).LOG_LEVEL) {\n\t\t\tlogger_level_name = (window).LOG_LEVEL;\n\t\t}\n\t\tconst logger_level = LOG_LEVELS[logger_level_name];\n\t\tconst type_level = LOG_LEVELS[type];\n\t\tif (!(type_level >= logger_level)) {\n\t\t\t// Do nothing if type is not greater than or equal to logger level (handle undefined)\n\t\t\treturn;\n\t\t}\n\n\t\tlet log = console.log.bind(console);\n\t\tif (type === LOG_TYPE.ERROR && console.error) {\n\t\t\tlog = console.error.bind(console);\n\t\t}\n\t\tif (type === LOG_TYPE.WARN && console.warn) {\n\t\t\tlog = console.warn.bind(console);\n\t\t}\n\n\t\tconst prefix = `[${type}] ${this._ts()} ${this.name}`;\n\t\tlet message = '';\n\n\t\tif (msg.length === 1 && typeof msg[0] === 'string') {\n\t\t\tmessage = `${prefix} - ${msg[0]}`;\n\t\t\tlog(message);\n\t\t} else if (msg.length === 1) {\n\t\t\tmessage = `${prefix} ${msg[0]}`;\n\t\t\tlog(prefix, msg[0]);\n\t\t} else if (typeof msg[0] === 'string') {\n\t\t\tlet obj = msg.slice(1);\n\t\t\tif (obj.length === 1) {\n\t\t\t\tobj = obj[0];\n\t\t\t}\n\t\t\tmessage = `${prefix} - ${msg[0]} ${obj}`;\n\t\t\tlog(`${prefix} - ${msg[0]}`, obj);\n\t\t} else {\n\t\t\tmessage = `${prefix} ${msg}`;\n\t\t\tlog(prefix, msg);\n\t\t}\n\n\t\tfor (const plugin of this._pluggables) {\n\t\t\tconst logEvent: InputLogEvent = { message, timestamp: Date.now() };\n\t\t\tplugin.pushLogs([logEvent]);\n\t\t}\n\t}\n\n\t/**\n\t * Write General log. Default to INFO\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tlog(...msg) {\n\t\tthis._log(LOG_TYPE.INFO, ...msg);\n\t}\n\n\t/**\n\t * Write INFO log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tinfo(...msg) {\n\t\tthis._log(LOG_TYPE.INFO, ...msg);\n\t}\n\n\t/**\n\t * Write WARN log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\twarn(...msg) {\n\t\tthis._log(LOG_TYPE.WARN, ...msg);\n\t}\n\n\t/**\n\t * Write ERROR log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\terror(...msg) {\n\t\tthis._log(LOG_TYPE.ERROR, ...msg);\n\t}\n\n\t/**\n\t * Write DEBUG log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tdebug(...msg) {\n\t\tthis._log(LOG_TYPE.DEBUG, ...msg);\n\t}\n\n\t/**\n\t * Write VERBOSE log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tverbose(...msg) {\n\t\tthis._log(LOG_TYPE.VERBOSE, ...msg);\n\t}\n\n\taddPluggable(pluggable: LoggingProvider) {\n\t\tif (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n\t\t\tthis._pluggables.push(pluggable);\n\t\t\tpluggable.configure(this._config);\n\t\t}\n\t}\n\n\tlistPluggables() {\n\t\treturn this._pluggables;\n\t}\n}\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { ConsoleLogger as Logger } from './Logger';\n\nconst logger = new Logger('Hub');\n\nconst AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\ntypeof Symbol.for === 'function'\n\t? Symbol.for('amplify_default')\n\t: '@@amplify_default') as Symbol;\ninterface IPattern {\n\tpattern: RegExp;\n\tcallback: HubCallback;\n}\n\ninterface IListener {\n\tname: string;\n\tcallback: HubCallback;\n}\n\nexport type HubCapsule = {\n\tchannel: string;\n\tpayload: HubPayload;\n\tsource: string;\n\tpatternInfo?: string[];\n};\n\nexport type HubPayload = {\n\tevent: string;\n\tdata?: any;\n\tmessage?: string;\n};\n\nexport type HubCallback = (capsule: HubCapsule) => void;\n\nexport type LegacyCallback = { onHubCapsule: HubCallback };\n\nfunction isLegacyCallback(callback: any): callback is LegacyCallback {\n\treturn (callback).onHubCapsule !== undefined;\n}\n\nexport class HubClass {\n\tname: string;\n\tprivate listeners: IListener[] = [];\n\tprivate patterns: IPattern[] = [];\n\n\tprotectedChannels = [\n\t\t'core',\n\t\t'auth',\n\t\t'api',\n\t\t'analytics',\n\t\t'interactions',\n\t\t'pubsub',\n\t\t'storage',\n\t\t'ui',\n\t\t'xr',\n\t];\n\n\tconstructor(name: string) {\n\t\tthis.name = name;\n\t}\n\n\t// Note - Need to pass channel as a reference for removal to work and not anonymous function\n\tremove(channel: string | RegExp, listener: HubCallback) {\n\t\tif (channel instanceof RegExp) {\n\t\t\tconst pattern = this.patterns.find(\n\t\t\t\t({ pattern }) => pattern.source === channel.source\n\t\t\t);\n\t\t\tif (!pattern) {\n\t\t\t\tlogger.warn(`No listeners for ${channel}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.patterns = [...this.patterns.filter(x => x !== pattern)];\n\t\t} else {\n\t\t\tconst holder = this.listeners[channel];\n\t\t\tif (!holder) {\n\t\t\t\tlogger.warn(`No listeners for ${channel}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.listeners[channel] = [\n\t\t\t\t...holder.filter(({ callback }) => callback !== listener),\n\t\t\t];\n\t\t}\n\t}\n\n\tdispatch(\n\t\tchannel: string,\n\t\tpayload: HubPayload,\n\t\tsource: string = '',\n\t\tampSymbol?: Symbol\n\t) {\n\t\tif (this.protectedChannels.indexOf(channel) > -1) {\n\t\t\tconst hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n\n\t\t\tif (!hasAccess) {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst capsule: HubCapsule = {\n\t\t\tchannel,\n\t\t\tpayload: { ...payload },\n\t\t\tsource,\n\t\t\tpatternInfo: [],\n\t\t};\n\n\t\ttry {\n\t\t\tthis._toListeners(capsule);\n\t\t} catch (e) {\n\t\t\tlogger.error(e);\n\t\t}\n\t}\n\n\tlisten(\n\t\tchannel: string | RegExp,\n\t\tcallback?: HubCallback | LegacyCallback,\n\t\tlistenerName = 'noname'\n\t) {\n\t\tlet cb: HubCallback;\n\t\t// Check for legacy onHubCapsule callback for backwards compatability\n\t\tif (isLegacyCallback(callback)) {\n\t\t\tlogger.warn(\n\t\t\t\t`WARNING onHubCapsule is Deprecated. Please pass in a callback.`\n\t\t\t);\n\t\t\tcb = callback.onHubCapsule.bind(callback);\n\t\t} else if (typeof callback !== 'function') {\n\t\t\tthrow new Error('No callback supplied to Hub');\n\t\t} else {\n\t\t\tcb = callback;\n\t\t}\n\n\t\tif (channel instanceof RegExp) {\n\t\t\tthis.patterns.push({\n\t\t\t\tpattern: channel,\n\t\t\t\tcallback: cb,\n\t\t\t});\n\t\t} else {\n\t\t\tlet holder = this.listeners[channel];\n\n\t\t\tif (!holder) {\n\t\t\t\tholder = [];\n\t\t\t\tthis.listeners[channel] = holder;\n\t\t\t}\n\n\t\t\tholder.push({\n\t\t\t\tname: listenerName,\n\t\t\t\tcallback: cb,\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis.remove(channel, cb);\n\t\t};\n\t}\n\n\tprivate _toListeners(capsule: HubCapsule) {\n\t\tconst { channel, payload } = capsule;\n\t\tconst holder = this.listeners[channel];\n\n\t\tif (holder) {\n\t\t\tholder.forEach(listener => {\n\t\t\t\tlogger.debug(`Dispatching to ${channel} with `, payload);\n\t\t\t\ttry {\n\t\t\t\t\tlistener.callback(capsule);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.error(e);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.patterns.length > 0) {\n\t\t\tif (!payload.message) {\n\t\t\t\tlogger.warn(`Cannot perform pattern matching without a message key`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst payloadStr = payload.message;\n\n\t\t\tthis.patterns.forEach(pattern => {\n\t\t\t\tconst match = payloadStr.match(pattern.pattern);\n\t\t\t\tif (match) {\n\t\t\t\t\tconst [, ...groups] = match;\n\t\t\t\t\tconst dispatchingCapsule: HubCapsule = {\n\t\t\t\t\t\t...capsule,\n\t\t\t\t\t\tpatternInfo: groups,\n\t\t\t\t\t};\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpattern.callback(dispatchingCapsule);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlogger.error(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\n/*We export a __default__ instance of HubClass to use it as a \npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport const Hub = new HubClass('__default__');\n/**\n * @deprecated use named import\n */\nexport default Hub;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nlet dataMemory = {};\n\n/** @class */\nexport class MemoryStorage {\n\t/**\n\t * This is used to set a specific item in storage\n\t * @param {string} key - the key for the item\n\t * @param {object} value - the value\n\t * @returns {string} value that was set\n\t */\n\tstatic setItem(key: string, value: any) {\n\t\tdataMemory[key] = value;\n\t\treturn dataMemory[key];\n\t}\n\n\t/**\n\t * This is used to get a specific key from storage\n\t * @param {string} key - the key for the item\n\t * This is used to clear the storage\n\t * @returns {string} the data item\n\t */\n\tstatic getItem(key: string) {\n\t\treturn Object.prototype.hasOwnProperty.call(dataMemory, key)\n\t\t\t? dataMemory[key]\n\t\t\t: undefined;\n\t}\n\n\t/**\n\t * This is used to remove an item from storage\n\t * @param {string} key - the key being set\n\t * @returns {string} value - value that was deleted\n\t */\n\tstatic removeItem(key: string) {\n\t\treturn delete dataMemory[key];\n\t}\n\n\t/**\n\t * This is used to clear the storage\n\t * @returns {string} nothing\n\t */\n\tstatic clear() {\n\t\tdataMemory = {};\n\t\treturn dataMemory;\n\t}\n}\n\nexport class StorageHelper {\n\tprivate storageWindow: any;\n\t/**\n\t * This is used to get a storage object\n\t * @returns {object} the storage\n\t */\n\tconstructor() {\n\t\ttry {\n\t\t\tthis.storageWindow = window.localStorage;\n\t\t\tthis.storageWindow.setItem('aws.amplify.test-ls', 1);\n\t\t\tthis.storageWindow.removeItem('aws.amplify.test-ls');\n\t\t} catch (exception) {\n\t\t\tthis.storageWindow = MemoryStorage;\n\t\t}\n\t}\n\n\t/**\n\t * This is used to return the storage\n\t * @returns {object} the storage\n\t */\n\tgetStorage(): any {\n\t\treturn this.storageWindow;\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default StorageHelper;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst MIME_MAP = [\n\t{ type: 'text/plain', ext: 'txt' },\n\t{ type: 'text/html', ext: 'html' },\n\t{ type: 'text/javascript', ext: 'js' },\n\t{ type: 'text/css', ext: 'css' },\n\t{ type: 'text/csv', ext: 'csv' },\n\t{ type: 'text/yaml', ext: 'yml' },\n\t{ type: 'text/yaml', ext: 'yaml' },\n\t{ type: 'text/calendar', ext: 'ics' },\n\t{ type: 'text/calendar', ext: 'ical' },\n\n\t{ type: 'image/apng', ext: 'apng' },\n\t{ type: 'image/bmp', ext: 'bmp' },\n\t{ type: 'image/gif', ext: 'gif' },\n\t{ type: 'image/x-icon', ext: 'ico' },\n\t{ type: 'image/x-icon', ext: 'cur' },\n\t{ type: 'image/jpeg', ext: 'jpg' },\n\t{ type: 'image/jpeg', ext: 'jpeg' },\n\t{ type: 'image/jpeg', ext: 'jfif' },\n\t{ type: 'image/jpeg', ext: 'pjp' },\n\t{ type: 'image/jpeg', ext: 'pjpeg' },\n\t{ type: 'image/png', ext: 'png' },\n\t{ type: 'image/svg+xml', ext: 'svg' },\n\t{ type: 'image/tiff', ext: 'tif' },\n\t{ type: 'image/tiff', ext: 'tiff' },\n\t{ type: 'image/webp', ext: 'webp' },\n\n\t{ type: 'application/json', ext: 'json' },\n\t{ type: 'application/xml', ext: 'xml' },\n\t{ type: 'application/x-sh', ext: 'sh' },\n\t{ type: 'application/zip', ext: 'zip' },\n\t{ type: 'application/x-rar-compressed', ext: 'rar' },\n\t{ type: 'application/x-tar', ext: 'tar' },\n\t{ type: 'application/x-bzip', ext: 'bz' },\n\t{ type: 'application/x-bzip2', ext: 'bz2' },\n\t{ type: 'application/pdf', ext: 'pdf' },\n\t{ type: 'application/java-archive', ext: 'jar' },\n\t{ type: 'application/msword', ext: 'doc' },\n\t{ type: 'application/vnd.ms-excel', ext: 'xls' },\n\t{ type: 'application/vnd.ms-excel', ext: 'xlsx' },\n\n\t{ type: 'message/rfc822', ext: 'eml' },\n];\n\nexport const isEmpty = (obj = {}) => Object.keys(obj).length === 0;\n\nexport const sortByField = (list, field, dir) => {\n\tif (!list || !list.sort) {\n\t\treturn false;\n\t}\n\n\tconst dirX = dir && dir === 'desc' ? -1 : 1;\n\tlist.sort(function(a, b) {\n\t\tconst a_val = a[field];\n\t\tconst b_val = b[field];\n\n\t\tif (typeof b_val === 'undefined') {\n\t\t\treturn typeof a_val === 'undefined' ? 0 : 1 * dirX;\n\t\t}\n\n\t\tif (typeof a_val === 'undefined') {\n\t\t\treturn -1 * dirX;\n\t\t}\n\n\t\tif (a_val < b_val) {\n\t\t\treturn -1 * dirX;\n\t\t}\n\t\tif (a_val > b_val) {\n\t\t\treturn 1 * dirX;\n\t\t}\n\n\t\treturn 0;\n\t});\n\n\treturn true;\n};\n\nexport const objectLessAttributes = (obj, less) => {\n\tconst ret = Object.assign({}, obj);\n\tif (less) {\n\t\tif (typeof less === 'string') {\n\t\t\tdelete ret[less];\n\t\t} else {\n\t\t\tless.forEach(attr => {\n\t\t\t\tdelete ret[attr];\n\t\t\t});\n\t\t}\n\t}\n\n\treturn ret;\n};\n\nexport const filenameToContentType = (\n\tfilename,\n\tdefVal = 'application/octet-stream'\n) => {\n\tconst name = filename.toLowerCase();\n\n\tconst filtered = MIME_MAP.filter(mime => name.endsWith('.' + mime.ext));\n\treturn filtered.length > 0 ? filtered[0].type : defVal;\n};\n\nexport const isTextFile = contentType => {\n\tconst type = contentType.toLowerCase();\n\tif (type.startsWith('text/')) {\n\t\treturn true;\n\t}\n\treturn (\n\t\t'application/json' === type ||\n\t\t'application/xml' === type ||\n\t\t'application/sh' === type\n\t);\n};\n\nexport const generateRandomString = () => {\n\tlet result = '';\n\tconst chars =\n\t\t'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\tfor (let i = 32; i > 0; i -= 1) {\n\t\tresult += chars[Math.floor(Math.random() * chars.length)];\n\t}\n\treturn result;\n};\n\nexport const makeQuerablePromise = promise => {\n\tif (promise.isResolved) return promise;\n\n\tlet isPending = true;\n\tlet isRejected = false;\n\tlet isFullfilled = false;\n\n\tconst result = promise.then(\n\t\tdata => {\n\t\t\tisFullfilled = true;\n\t\t\tisPending = false;\n\t\t\treturn data;\n\t\t},\n\t\te => {\n\t\t\tisRejected = true;\n\t\t\tisPending = false;\n\t\t\tthrow e;\n\t\t}\n\t);\n\n\tresult.isFullfilled = () => isFullfilled;\n\tresult.isPending = () => isPending;\n\tresult.isRejected = () => isRejected;\n\n\treturn result;\n};\n\nexport const isWebWorker = () => {\n\tif (typeof self === 'undefined') {\n\t\treturn false;\n\t}\n\tconst selfContext = self as { WorkerGlobalScope? };\n\treturn typeof selfContext.WorkerGlobalScope !== 'undefined' &&\n\t\tself instanceof selfContext.WorkerGlobalScope;\n};\n\nexport const browserOrNode = () => {\n\tconst isBrowser =\n\t\ttypeof window !== 'undefined' && typeof window.document !== 'undefined';\n\tconst isNode =\n\t\ttypeof process !== 'undefined' &&\n\t\tprocess.versions != null &&\n\t\tprocess.versions.node != null;\n\n\treturn {\n\t\tisBrowser,\n\t\tisNode,\n\t};\n};\n\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport const transferKeyToLowerCase = (\n\tobj,\n\twhiteListForItself = [],\n\twhiteListForChildren = []\n) => {\n\tif (!isStrictObject(obj)) return obj;\n\tconst ret = {};\n\n\tfor (const key in obj) {\n\t\tif (obj.hasOwnProperty(key)) {\n\t\t\tconst transferedKey = whiteListForItself.includes(key)\n\t\t\t\t? key\n\t\t\t\t: key[0].toLowerCase() + key.slice(1);\n\n\t\t\tret[transferedKey] = whiteListForChildren.includes(key)\n\t\t\t\t? obj[key]\n\t\t\t\t: transferKeyToLowerCase(\n\t\t\t\t\t\tobj[key],\n\t\t\t\t\t\twhiteListForItself,\n\t\t\t\t\t\twhiteListForChildren\n\t\t\t\t );\n\t\t}\n\t}\n\n\treturn ret;\n};\n\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport const transferKeyToUpperCase = (\n\tobj,\n\twhiteListForItself = [],\n\twhiteListForChildren = []\n) => {\n\tif (!isStrictObject(obj)) return obj;\n\tconst ret = {};\n\n\tfor (const key in obj) {\n\t\tif (obj.hasOwnProperty(key)) {\n\t\t\tconst transferredKey = whiteListForItself.includes(key)\n\t\t\t\t? key\n\t\t\t\t: key[0].toUpperCase() + key.slice(1);\n\n\t\t\tret[transferredKey] = whiteListForChildren.includes(key)\n\t\t\t\t? obj[key]\n\t\t\t\t: transferKeyToUpperCase(\n\t\t\t\t\t\tobj[key],\n\t\t\t\t\t\twhiteListForItself,\n\t\t\t\t\t\twhiteListForChildren\n\t\t\t\t );\n\t\t}\n\t}\n\treturn ret;\n};\n\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport const isStrictObject = obj => {\n\treturn (\n\t\tobj instanceof Object &&\n\t\t!(obj instanceof Array) &&\n\t\t!(obj instanceof Function) &&\n\t\t!(obj instanceof Number) &&\n\t\t!(obj instanceof String) &&\n\t\t!(obj instanceof Boolean)\n\t);\n};\n\n/**\n * @deprecated use per-function imports\n */\nexport class JS {\n\tstatic isEmpty = isEmpty;\n\tstatic sortByField = sortByField;\n\tstatic objectLessAttributes = objectLessAttributes;\n\tstatic filenameToContentType = filenameToContentType;\n\tstatic isTextFile = isTextFile;\n\tstatic generateRandomString = generateRandomString;\n\tstatic makeQuerablePromise = makeQuerablePromise;\n\tstatic isWebWorker = isWebWorker;\n\tstatic browserOrNode = browserOrNode;\n\tstatic transferKeyToLowerCase = transferKeyToLowerCase;\n\tstatic transferKeyToUpperCase = transferKeyToUpperCase;\n\tstatic isStrictObject = isStrictObject;\n}\n\n/**\n * @deprecated use per-function imports\n */\nexport default JS;\n","import { DelayFunction } from '../types';\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nconst logger = new Logger('Util');\n\nexport class NonRetryableError extends Error {\n\tpublic readonly nonRetryable = true;\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t}\n}\n\nconst isNonRetryableError = (obj: any): obj is NonRetryableError => {\n\tconst key: keyof NonRetryableError = 'nonRetryable';\n\treturn obj && obj[key];\n};\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport async function retry(\n\tfunctionToRetry: Function,\n\targs: any[],\n\tdelayFn: DelayFunction,\n\tattempt: number = 1\n) {\n\tif (typeof functionToRetry !== 'function') {\n\t\tthrow Error('functionToRetry must be a function');\n\t}\n\tlogger.debug(\n\t\t`${\n\t\t\tfunctionToRetry.name\n\t\t} attempt #${attempt} with this vars: ${JSON.stringify(args)}`\n\t);\n\n\ttry {\n\t\treturn await functionToRetry(...args);\n\t} catch (err) {\n\t\tlogger.debug(`error on ${functionToRetry.name}`, err);\n\n\t\tif (isNonRetryableError(err)) {\n\t\t\tlogger.debug(`${functionToRetry.name} non retryable error`, err);\n\t\t\tthrow err;\n\t\t}\n\n\t\tconst retryIn = delayFn(attempt, args, err);\n\t\tlogger.debug(`${functionToRetry.name} retrying in ${retryIn} ms`);\n\n\t\tif (retryIn !== false) {\n\t\t\tawait new Promise(res => setTimeout(res, retryIn));\n\t\t\treturn await retry(functionToRetry, args, delayFn, attempt + 1);\n\t\t} else {\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nconst MAX_DELAY_MS = 5 * 60 * 1000;\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(\n\tmaxDelayMs: number = MAX_DELAY_MS\n): DelayFunction {\n\tconst BASE_TIME_MS = 100;\n\tconst JITTER_FACTOR = 100;\n\n\treturn attempt => {\n\t\tconst delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n\t\treturn delay > maxDelayMs ? false : delay;\n\t};\n}\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport const jitteredExponentialRetry = (\n\tfunctionToRetry: Function,\n\targs: any[],\n\tmaxDelayMs: number = MAX_DELAY_MS\n) => retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\n\nconst logger = new Logger('CognitoCredentials');\n\nconst waitForInit = new Promise((res, rej) => {\n\tif (!browserOrNode().isBrowser) {\n\t\tlogger.debug('not in the browser, directly resolved');\n\t\treturn res();\n\t}\n\tconst ga =\n\t\twindow['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n\tif (ga) {\n\t\tlogger.debug('google api already loaded');\n\t\treturn res();\n\t} else {\n\t\tsetTimeout(() => {\n\t\t\treturn res();\n\t\t}, 2000);\n\t}\n});\n\nexport class GoogleOAuth {\n\tpublic initialized = false;\n\n\tconstructor() {\n\t\tthis.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n\t\tthis._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n\t}\n\n\tpublic async refreshGoogleToken() {\n\t\tif (!this.initialized) {\n\t\t\tlogger.debug('need to wait for the Google SDK loaded');\n\t\t\tawait waitForInit;\n\t\t\tthis.initialized = true;\n\t\t\tlogger.debug('finish waiting');\n\t\t}\n\n\t\treturn this._refreshGoogleTokenImpl();\n\t}\n\n\tprivate _refreshGoogleTokenImpl() {\n\t\tlet ga = null;\n\t\tif (browserOrNode().isBrowser)\n\t\t\tga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n\t\tif (!ga) {\n\t\t\tlogger.debug('no gapi auth2 available');\n\t\t\treturn Promise.reject('no gapi auth2 available');\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tga.getAuthInstance()\n\t\t\t\t.then(googleAuth => {\n\t\t\t\t\tif (!googleAuth) {\n\t\t\t\t\t\tlogger.debug('google Auth undefined');\n\t\t\t\t\t\trej(new NonRetryableError('google Auth undefined'));\n\t\t\t\t\t}\n\n\t\t\t\t\tconst googleUser = googleAuth.currentUser.get();\n\t\t\t\t\t// refresh the token\n\t\t\t\t\tif (googleUser.isSignedIn()) {\n\t\t\t\t\t\tlogger.debug('refreshing the google access token');\n\t\t\t\t\t\tgoogleUser\n\t\t\t\t\t\t\t.reloadAuthResponse()\n\t\t\t\t\t\t\t.then(authResponse => {\n\t\t\t\t\t\t\t\tconst { id_token, expires_at } = authResponse;\n\t\t\t\t\t\t\t\tres({ token: id_token, expires_at });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\tif (err && err.error === 'network_error') {\n\t\t\t\t\t\t\t\t\t// Not using NonRetryableError so handler will be retried\n\t\t\t\t\t\t\t\t\trej('Network error reloading google auth response');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew NonRetryableError(\n\t\t\t\t\t\t\t\t\t\t\t'Failed to reload google auth response'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(new NonRetryableError('User is not signed in with Google'));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tlogger.debug('Failed to refresh google token', err);\n\t\t\t\t\trej(new NonRetryableError('Failed to refresh google token'));\n\t\t\t\t});\n\t\t});\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default GoogleOAuth;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\n\nconst logger = new Logger('CognitoCredentials');\n\nconst waitForInit = new Promise((res, rej) => {\n\tif (!browserOrNode().isBrowser) {\n\t\tlogger.debug('not in the browser, directly resolved');\n\t\treturn res();\n\t}\n\tconst fb = window['FB'];\n\tif (fb) {\n\t\tlogger.debug('FB SDK already loaded');\n\t\treturn res();\n\t} else {\n\t\tsetTimeout(() => {\n\t\t\treturn res();\n\t\t}, 2000);\n\t}\n});\n\nexport class FacebookOAuth {\n\tpublic initialized = false;\n\n\tconstructor() {\n\t\tthis.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n\t\tthis._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n\t}\n\n\tpublic async refreshFacebookToken() {\n\t\tif (!this.initialized) {\n\t\t\tlogger.debug('need to wait for the Facebook SDK loaded');\n\t\t\tawait waitForInit;\n\t\t\tthis.initialized = true;\n\t\t\tlogger.debug('finish waiting');\n\t\t}\n\n\t\treturn this._refreshFacebookTokenImpl();\n\t}\n\n\tprivate _refreshFacebookTokenImpl() {\n\t\tlet fb = null;\n\t\tif (browserOrNode().isBrowser) fb = window['FB'];\n\t\tif (!fb) {\n\t\t\tconst errorMessage = 'no fb sdk available';\n\t\t\tlogger.debug(errorMessage);\n\t\t\treturn Promise.reject(new NonRetryableError(errorMessage));\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tfb.getLoginStatus(\n\t\t\t\tfbResponse => {\n\t\t\t\t\tif (!fbResponse || !fbResponse.authResponse) {\n\t\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\t\t'no response from facebook when refreshing the jwt token';\n\t\t\t\t\t\tlogger.debug(errorMessage);\n\t\t\t\t\t\t// There is no definitive indication for a network error in\n\t\t\t\t\t\t// fbResponse, so we are treating it as an invalid token.\n\t\t\t\t\t\trej(new NonRetryableError(errorMessage));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst response = fbResponse.authResponse;\n\t\t\t\t\t\tconst { accessToken, expiresIn } = response;\n\t\t\t\t\t\tconst date = new Date();\n\t\t\t\t\t\tconst expires_at = expiresIn * 1000 + date.getTime();\n\t\t\t\t\t\tif (!accessToken) {\n\t\t\t\t\t\t\tconst errorMessage = 'the jwtToken is undefined';\n\t\t\t\t\t\t\tlogger.debug(errorMessage);\n\t\t\t\t\t\t\trej(new NonRetryableError(errorMessage));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tres({\n\t\t\t\t\t\t\ttoken: accessToken,\n\t\t\t\t\t\t\texpires_at,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ scope: 'public_profile,email' }\n\t\t\t);\n\t\t});\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default FacebookOAuth;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\n\nexport const GoogleOAuth = new GoogleOAuthClass();\nexport const FacebookOAuth = new FacebookOAuthClass();\n","// generated by genversion\nexport const version = '4.6.0';\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { version } from './version';\n\nconst BASE_USER_AGENT = `aws-amplify/${version}`;\n\nexport const Platform = {\n\tuserAgent: `${BASE_USER_AGENT} js`,\n\tproduct: '',\n\tnavigator: null,\n\tisReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n\tPlatform.product = navigator.product || '';\n\tPlatform.navigator = navigator || null;\n\tswitch (navigator.product) {\n\t\tcase 'ReactNative':\n\t\t\tPlatform.userAgent = `${BASE_USER_AGENT} react-native`;\n\t\t\tPlatform.isReactNative = true;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tPlatform.userAgent = `${BASE_USER_AGENT} js`;\n\t\t\tPlatform.isReactNative = false;\n\t\t\tbreak;\n\t}\n}\n\nexport const getAmplifyUserAgent = (content?: string) => {\n\treturn `${Platform.userAgent}${content ? content : ''}`;\n};\n\n/**\n * @deprecated use named import\n */\nexport default Platform;\n","import { ConsoleLogger as LoggerClass } from './Logger';\n\nconst logger = new LoggerClass('Amplify');\n\nexport class AmplifyClass {\n\t// Everything that is `register`ed is tracked here\n\tprivate _components = [];\n\tprivate _config = {};\n\n\t// All modules (with `getModuleName()`) are stored here for dependency injection\n\tprivate _modules = {};\n\n\t// for backward compatibility to avoid breaking change\n\t// if someone is using like Amplify.Auth\n\tAuth = null;\n\tAnalytics = null;\n\tAPI = null;\n\tCredentials = null;\n\tStorage = null;\n\tI18n = null;\n\tCache = null;\n\tPubSub = null;\n\tInteractions = null;\n\tPushnotification = null;\n\tUI = null;\n\tXR = null;\n\tPredictions = null;\n\tDataStore = null;\n\tGeo = null;\n\n\tLogger = LoggerClass;\n\tServiceWorker = null;\n\n\tregister(comp) {\n\t\tlogger.debug('component registered in amplify', comp);\n\t\tthis._components.push(comp);\n\t\tif (typeof comp.getModuleName === 'function') {\n\t\t\tthis._modules[comp.getModuleName()] = comp;\n\t\t\tthis[comp.getModuleName()] = comp;\n\t\t} else {\n\t\t\tlogger.debug('no getModuleName method for component', comp);\n\t\t}\n\n\t\t// Finally configure this new component(category) loaded\n\t\t// With the new modularization changes in Amplify V3, all the Amplify\n\t\t// component are not loaded/registered right away but when they are\n\t\t// imported (and hence instantiated) in the client's app. This ensures\n\t\t// that all new components imported get correctly configured with the\n\t\t// configuration that Amplify.configure() was called with.\n\t\tcomp.configure(this._config);\n\t}\n\n\tconfigure(config?) {\n\t\tif (!config) return this._config;\n\n\t\tthis._config = Object.assign(this._config, config);\n\t\tlogger.debug('amplify config', this._config);\n\n\t\t// Dependency Injection via property-setting.\n\t\t// This avoids introducing a public method/interface/setter that's difficult to remove later.\n\t\t// Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n\t\tObject.entries(this._modules).forEach(([Name, comp]) => {\n\t\t\t// e.g. Auth.*\n\t\t\tObject.keys(comp).forEach(property => {\n\t\t\t\t// e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n\t\t\t\tif (this._modules[property]) {\n\t\t\t\t\tcomp[property] = this._modules[property];\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis._components.map(comp => {\n\t\t\tcomp.configure(this._config);\n\t\t});\n\n\t\treturn this._config;\n\t}\n\n\taddPluggable(pluggable) {\n\t\tif (\n\t\t\tpluggable &&\n\t\t\tpluggable['getCategory'] &&\n\t\t\ttypeof pluggable['getCategory'] === 'function'\n\t\t) {\n\t\t\tthis._components.map(comp => {\n\t\t\t\tif (\n\t\t\t\t\tcomp['addPluggable'] &&\n\t\t\t\t\ttypeof comp['addPluggable'] === 'function'\n\t\t\t\t) {\n\t\t\t\t\tcomp.addPluggable(pluggable);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport const Amplify = new AmplifyClass();\n\n/**\n * @deprecated use named import\n */\nexport default Amplify;\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { SmithyException as __SmithyException } from \"@aws-sdk/smithy-client\";\nimport { MetadataBearer as $MetadataBearer } from \"@aws-sdk/types\";\n\nexport enum AmbiguousRoleResolutionType {\n AUTHENTICATED_ROLE = \"AuthenticatedRole\",\n DENY = \"Deny\",\n}\n\n/**\n *

A provider representing an Amazon Cognito user pool and its client ID.

\n */\nexport interface CognitoIdentityProvider {\n /**\n *

The provider name for an Amazon Cognito user pool. For example,\n * cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

\n */\n ProviderName?: string;\n\n /**\n *

The client ID for the Amazon Cognito user pool.

\n */\n ClientId?: string;\n\n /**\n *

TRUE if server-side token validation is enabled for the identity provider’s\n * token.

\n *

Once you set ServerSideTokenCheck to TRUE for an identity pool, that\n * identity pool will check with the integrated user pools to make sure that the user has not\n * been globally signed out or deleted before the identity pool provides an OIDC token or AWS\n * credentials for the user.

\n *

If the user is signed out or deleted, the identity pool will return a 400 Not\n * Authorized error.

\n */\n ServerSideTokenCheck?: boolean;\n}\n\nexport namespace CognitoIdentityProvider {\n export const filterSensitiveLog = (obj: CognitoIdentityProvider): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the CreateIdentityPool action.

\n */\nexport interface CreateIdentityPoolInput {\n /**\n *

A string that you provide.

\n */\n IdentityPoolName: string | undefined;\n\n /**\n *

TRUE if the identity pool supports unauthenticated logins.

\n */\n AllowUnauthenticatedIdentities: boolean | undefined;\n\n /**\n *

Enables or disables the Basic (Classic) authentication flow. For more information, see\n * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

\n */\n AllowClassicFlow?: boolean;\n\n /**\n *

Optional key:value pairs mapping provider names to provider app IDs.

\n */\n SupportedLoginProviders?: { [key: string]: string };\n\n /**\n *

The \"domain\" by which Cognito will refer to your users. This name acts as a\n * placeholder that allows your backend and the Cognito service to communicate about the\n * developer provider. For the DeveloperProviderName, you can use letters as well\n * as period (.), underscore (_), and dash\n * (-).

\n *

Once you have set a developer provider name, you cannot change it. Please take care\n * in setting this parameter.

\n */\n DeveloperProviderName?: string;\n\n /**\n *

A list of OpendID Connect provider ARNs.

\n */\n OpenIdConnectProviderARNs?: string[];\n\n /**\n *

An array of Amazon Cognito user pools and their client IDs.

\n */\n CognitoIdentityProviders?: CognitoIdentityProvider[];\n\n /**\n *

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n * pool.

\n */\n SamlProviderARNs?: string[];\n\n /**\n *

Tags to assign to the identity pool. A tag is a label that you can apply to identity\n * pools to categorize and manage them in different ways, such as by purpose, owner,\n * environment, or other criteria.

\n */\n IdentityPoolTags?: { [key: string]: string };\n}\n\nexport namespace CreateIdentityPoolInput {\n export const filterSensitiveLog = (obj: CreateIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

An object representing an Amazon Cognito identity pool.

\n */\nexport interface IdentityPool {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

A string that you provide.

\n */\n IdentityPoolName: string | undefined;\n\n /**\n *

TRUE if the identity pool supports unauthenticated logins.

\n */\n AllowUnauthenticatedIdentities: boolean | undefined;\n\n /**\n *

Enables or disables the Basic (Classic) authentication flow. For more information, see\n * Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

\n */\n AllowClassicFlow?: boolean;\n\n /**\n *

Optional key:value pairs mapping provider names to provider app IDs.

\n */\n SupportedLoginProviders?: { [key: string]: string };\n\n /**\n *

The \"domain\" by which Cognito will refer to your users.

\n */\n DeveloperProviderName?: string;\n\n /**\n *

A list of OpendID Connect provider ARNs.

\n */\n OpenIdConnectProviderARNs?: string[];\n\n /**\n *

A list representing an Amazon Cognito user pool and its client ID.

\n */\n CognitoIdentityProviders?: CognitoIdentityProvider[];\n\n /**\n *

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n * pool.

\n */\n SamlProviderARNs?: string[];\n\n /**\n *

The tags that are assigned to the identity pool. A tag is a label that you can apply to\n * identity pools to categorize and manage them in different ways, such as by purpose, owner,\n * environment, or other criteria.

\n */\n IdentityPoolTags?: { [key: string]: string };\n}\n\nexport namespace IdentityPool {\n export const filterSensitiveLog = (obj: IdentityPool): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when the service encounters an error during processing the request.

\n */\nexport interface InternalErrorException extends __SmithyException, $MetadataBearer {\n name: \"InternalErrorException\";\n $fault: \"server\";\n /**\n *

The message returned by an InternalErrorException.

\n */\n message?: string;\n}\n\nexport namespace InternalErrorException {\n export const filterSensitiveLog = (obj: InternalErrorException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown for missing or bad input parameter(s).

\n */\nexport interface InvalidParameterException extends __SmithyException, $MetadataBearer {\n name: \"InvalidParameterException\";\n $fault: \"client\";\n /**\n *

The message returned by an InvalidParameterException.

\n */\n message?: string;\n}\n\nexport namespace InvalidParameterException {\n export const filterSensitiveLog = (obj: InvalidParameterException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when the total number of user pools has exceeded a preset limit.

\n */\nexport interface LimitExceededException extends __SmithyException, $MetadataBearer {\n name: \"LimitExceededException\";\n $fault: \"client\";\n /**\n *

The message returned by a LimitExceededException.

\n */\n message?: string;\n}\n\nexport namespace LimitExceededException {\n export const filterSensitiveLog = (obj: LimitExceededException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when a user is not authorized to access the requested resource.

\n */\nexport interface NotAuthorizedException extends __SmithyException, $MetadataBearer {\n name: \"NotAuthorizedException\";\n $fault: \"client\";\n /**\n *

The message returned by a NotAuthorizedException

\n */\n message?: string;\n}\n\nexport namespace NotAuthorizedException {\n export const filterSensitiveLog = (obj: NotAuthorizedException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when a user tries to use a login which is already linked to another\n * account.

\n */\nexport interface ResourceConflictException extends __SmithyException, $MetadataBearer {\n name: \"ResourceConflictException\";\n $fault: \"client\";\n /**\n *

The message returned by a ResourceConflictException.

\n */\n message?: string;\n}\n\nexport namespace ResourceConflictException {\n export const filterSensitiveLog = (obj: ResourceConflictException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when a request is throttled.

\n */\nexport interface TooManyRequestsException extends __SmithyException, $MetadataBearer {\n name: \"TooManyRequestsException\";\n $fault: \"client\";\n /**\n *

Message returned by a TooManyRequestsException

\n */\n message?: string;\n}\n\nexport namespace TooManyRequestsException {\n export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the DeleteIdentities action.

\n */\nexport interface DeleteIdentitiesInput {\n /**\n *

A list of 1-60 identities that you want to delete.

\n */\n IdentityIdsToDelete: string[] | undefined;\n}\n\nexport namespace DeleteIdentitiesInput {\n export const filterSensitiveLog = (obj: DeleteIdentitiesInput): any => ({\n ...obj,\n });\n}\n\nexport enum ErrorCode {\n ACCESS_DENIED = \"AccessDenied\",\n INTERNAL_SERVER_ERROR = \"InternalServerError\",\n}\n\n/**\n *

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and\n * IdentityId.

\n */\nexport interface UnprocessedIdentityId {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

The error code indicating the type of error that occurred.

\n */\n ErrorCode?: ErrorCode | string;\n}\n\nexport namespace UnprocessedIdentityId {\n export const filterSensitiveLog = (obj: UnprocessedIdentityId): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful DeleteIdentities\n * operation.

\n */\nexport interface DeleteIdentitiesResponse {\n /**\n *

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and\n * IdentityId.

\n */\n UnprocessedIdentityIds?: UnprocessedIdentityId[];\n}\n\nexport namespace DeleteIdentitiesResponse {\n export const filterSensitiveLog = (obj: DeleteIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the DeleteIdentityPool action.

\n */\nexport interface DeleteIdentityPoolInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace DeleteIdentityPoolInput {\n export const filterSensitiveLog = (obj: DeleteIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown when the requested resource (for example, a dataset or record) does not\n * exist.

\n */\nexport interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {\n name: \"ResourceNotFoundException\";\n $fault: \"client\";\n /**\n *

The message returned by a ResourceNotFoundException.

\n */\n message?: string;\n}\n\nexport namespace ResourceNotFoundException {\n export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the DescribeIdentity action.

\n */\nexport interface DescribeIdentityInput {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId: string | undefined;\n}\n\nexport namespace DescribeIdentityInput {\n export const filterSensitiveLog = (obj: DescribeIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

A description of the identity.

\n */\nexport interface IdentityDescription {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

The provider names.

\n */\n Logins?: string[];\n\n /**\n *

Date on which the identity was created.

\n */\n CreationDate?: Date;\n\n /**\n *

Date on which the identity was last modified.

\n */\n LastModifiedDate?: Date;\n}\n\nexport namespace IdentityDescription {\n export const filterSensitiveLog = (obj: IdentityDescription): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the DescribeIdentityPool action.

\n */\nexport interface DescribeIdentityPoolInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace DescribeIdentityPoolInput {\n export const filterSensitiveLog = (obj: DescribeIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

An exception thrown when a dependent service such as Facebook or Twitter is not\n * responding

\n */\nexport interface ExternalServiceException extends __SmithyException, $MetadataBearer {\n name: \"ExternalServiceException\";\n $fault: \"client\";\n /**\n *

The message returned by an ExternalServiceException

\n */\n message?: string;\n}\n\nexport namespace ExternalServiceException {\n export const filterSensitiveLog = (obj: ExternalServiceException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the GetCredentialsForIdentity action.

\n */\nexport interface GetCredentialsForIdentityInput {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId: string | undefined;\n\n /**\n *

A set of optional name-value pairs that map provider names to provider tokens. The\n * name-value pair will follow the syntax \"provider_name\":\n * \"provider_user_identifier\".

\n *

Logins should not be specified when trying to get credentials for an unauthenticated\n * identity.

\n *

The Logins parameter is required when using identities associated with external\n * identity providers such as FaceBook. For examples of Logins maps, see the code\n * examples in the External Identity Providers section of the Amazon Cognito Developer\n * Guide.

\n */\n Logins?: { [key: string]: string };\n\n /**\n *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were\n * received in the token from the identity provider. For example, a SAML-based identity\n * provider. This parameter is optional for identity providers that do not support role\n * customization.

\n */\n CustomRoleArn?: string;\n}\n\nexport namespace GetCredentialsForIdentityInput {\n export const filterSensitiveLog = (obj: GetCredentialsForIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Credentials for the provided identity ID.

\n */\nexport interface Credentials {\n /**\n *

The Access Key portion of the credentials.

\n */\n AccessKeyId?: string;\n\n /**\n *

The Secret Access Key portion of the credentials

\n */\n SecretKey?: string;\n\n /**\n *

The Session Token portion of the credentials

\n */\n SessionToken?: string;\n\n /**\n *

The date at which these credentials will expire.

\n */\n Expiration?: Date;\n}\n\nexport namespace Credentials {\n export const filterSensitiveLog = (obj: Credentials): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful GetCredentialsForIdentity\n * operation.

\n */\nexport interface GetCredentialsForIdentityResponse {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

Credentials for the provided identity ID.

\n */\n Credentials?: Credentials;\n}\n\nexport namespace GetCredentialsForIdentityResponse {\n export const filterSensitiveLog = (obj: GetCredentialsForIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown if the identity pool has no role associated for the given auth type\n * (auth/unauth) or if the AssumeRole fails.

\n */\nexport interface InvalidIdentityPoolConfigurationException extends __SmithyException, $MetadataBearer {\n name: \"InvalidIdentityPoolConfigurationException\";\n $fault: \"client\";\n /**\n *

The message returned for an InvalidIdentityPoolConfigurationException\n *

\n */\n message?: string;\n}\n\nexport namespace InvalidIdentityPoolConfigurationException {\n export const filterSensitiveLog = (obj: InvalidIdentityPoolConfigurationException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the GetId action.

\n */\nexport interface GetIdInput {\n /**\n *

A standard AWS account ID (9+ digits).

\n */\n AccountId?: string;\n\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

A set of optional name-value pairs that map provider names to provider tokens. The\n * available provider names for Logins are as follows:

\n *
    \n *
  • \n *

    Facebook: graph.facebook.com\n *

    \n *
  • \n *
  • \n *

    Amazon Cognito user pool:\n * cognito-idp..amazonaws.com/,\n * for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.\n *

    \n *
  • \n *
  • \n *

    Google: accounts.google.com\n *

    \n *
  • \n *
  • \n *

    Amazon: www.amazon.com\n *

    \n *
  • \n *
  • \n *

    Twitter: api.twitter.com\n *

    \n *
  • \n *
  • \n *

    Digits: www.digits.com\n *

    \n *
  • \n *
\n */\n Logins?: { [key: string]: string };\n}\n\nexport namespace GetIdInput {\n export const filterSensitiveLog = (obj: GetIdInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a GetId request.

\n */\nexport interface GetIdResponse {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n}\n\nexport namespace GetIdResponse {\n export const filterSensitiveLog = (obj: GetIdResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the GetIdentityPoolRoles action.

\n */\nexport interface GetIdentityPoolRolesInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace GetIdentityPoolRolesInput {\n export const filterSensitiveLog = (obj: GetIdentityPoolRolesInput): any => ({\n ...obj,\n });\n}\n\nexport enum MappingRuleMatchType {\n CONTAINS = \"Contains\",\n EQUALS = \"Equals\",\n NOT_EQUAL = \"NotEqual\",\n STARTS_WITH = \"StartsWith\",\n}\n\n/**\n *

A rule that maps a claim name, a claim value, and a match type to a role\n * ARN.

\n */\nexport interface MappingRule {\n /**\n *

The claim name that must be present in the token, for example, \"isAdmin\" or\n * \"paid\".

\n */\n Claim: string | undefined;\n\n /**\n *

The match condition that specifies how closely the claim value in the IdP token must\n * match Value.

\n */\n MatchType: MappingRuleMatchType | string | undefined;\n\n /**\n *

A brief string that the claim must match, for example, \"paid\" or \"yes\".

\n */\n Value: string | undefined;\n\n /**\n *

The role ARN.

\n */\n RoleARN: string | undefined;\n}\n\nexport namespace MappingRule {\n export const filterSensitiveLog = (obj: MappingRule): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for rules.

\n */\nexport interface RulesConfigurationType {\n /**\n *

An array of rules. You can specify up to 25 rules per identity provider.

\n *

Rules are evaluated in order. The first one to match specifies the role.

\n */\n Rules: MappingRule[] | undefined;\n}\n\nexport namespace RulesConfigurationType {\n export const filterSensitiveLog = (obj: RulesConfigurationType): any => ({\n ...obj,\n });\n}\n\nexport enum RoleMappingType {\n RULES = \"Rules\",\n TOKEN = \"Token\",\n}\n\n/**\n *

A role mapping.

\n */\nexport interface RoleMapping {\n /**\n *

The role mapping type. Token will use cognito:roles and\n * cognito:preferred_role claims from the Cognito identity provider token to\n * map groups to roles. Rules will attempt to match claims from the token to map to a\n * role.

\n */\n Type: RoleMappingType | string | undefined;\n\n /**\n *

If you specify Token or Rules as the Type,\n * AmbiguousRoleResolution is required.

\n *

Specifies the action to be taken if either no rules match the claim value for the\n * Rules type, or there is no cognito:preferred_role claim and\n * there are multiple cognito:roles matches for the Token\n * type.

\n */\n AmbiguousRoleResolution?: AmbiguousRoleResolutionType | string;\n\n /**\n *

The rules to be used for mapping users to roles.

\n *

If you specify Rules as the role mapping type, RulesConfiguration is\n * required.

\n */\n RulesConfiguration?: RulesConfigurationType;\n}\n\nexport namespace RoleMapping {\n export const filterSensitiveLog = (obj: RoleMapping): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful GetIdentityPoolRoles\n * operation.

\n */\nexport interface GetIdentityPoolRolesResponse {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId?: string;\n\n /**\n *

The map of roles associated with this pool. Currently only authenticated and\n * unauthenticated roles are supported.

\n */\n Roles?: { [key: string]: string };\n\n /**\n *

How users for a specific identity provider are to mapped to roles. This is a\n * String-to-RoleMapping object map. The string identifies the identity\n * provider, for example, \"graph.facebook.com\" or\n * \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

\n */\n RoleMappings?: { [key: string]: RoleMapping };\n}\n\nexport namespace GetIdentityPoolRolesResponse {\n export const filterSensitiveLog = (obj: GetIdentityPoolRolesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the GetOpenIdToken action.

\n */\nexport interface GetOpenIdTokenInput {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId: string | undefined;\n\n /**\n *

A set of optional name-value pairs that map provider names to provider tokens. When\n * using graph.facebook.com and www.amazon.com, supply the access_token returned from the\n * provider's authflow. For accounts.google.com, an Amazon Cognito user pool provider, or any\n * other OpenId Connect provider, always include the id_token.

\n */\n Logins?: { [key: string]: string };\n}\n\nexport namespace GetOpenIdTokenInput {\n export const filterSensitiveLog = (obj: GetOpenIdTokenInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful GetOpenIdToken request.

\n */\nexport interface GetOpenIdTokenResponse {\n /**\n *

A unique identifier in the format REGION:GUID. Note that the IdentityId returned may\n * not match the one passed on input.

\n */\n IdentityId?: string;\n\n /**\n *

An OpenID token, valid for 10 minutes.

\n */\n Token?: string;\n}\n\nexport namespace GetOpenIdTokenResponse {\n export const filterSensitiveLog = (obj: GetOpenIdTokenResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

The provided developer user identifier is already registered with Cognito under a\n * different identity ID.

\n */\nexport interface DeveloperUserAlreadyRegisteredException extends __SmithyException, $MetadataBearer {\n name: \"DeveloperUserAlreadyRegisteredException\";\n $fault: \"client\";\n /**\n *

This developer user identifier is already registered with Cognito.

\n */\n message?: string;\n}\n\nexport namespace DeveloperUserAlreadyRegisteredException {\n export const filterSensitiveLog = (obj: DeveloperUserAlreadyRegisteredException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the GetOpenIdTokenForDeveloperIdentity action.

\n */\nexport interface GetOpenIdTokenForDeveloperIdentityInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

A set of optional name-value pairs that map provider names to provider tokens. Each\n * name-value pair represents a user from a public provider or developer provider. If the user\n * is from a developer provider, the name-value pair will follow the syntax\n * \"developer_provider_name\": \"developer_user_identifier\". The developer\n * provider is the \"domain\" by which Cognito will refer to your users; you provided this\n * domain while creating/updating the identity pool. The developer user identifier is an\n * identifier from your backend that uniquely identifies a user. When you create an identity\n * pool, you can specify the supported logins.

\n */\n Logins: { [key: string]: string } | undefined;\n\n /**\n *

The expiration time of the token, in seconds. You can specify a custom expiration\n * time for the token so that you can cache it. If you don't provide an expiration time, the\n * token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS\n * credentials, which are valid for a maximum of one hour. The maximum token duration you can\n * set is 24 hours. You should take care in setting the expiration time for a token, as there\n * are significant security implications: an attacker could use a leaked token to access your\n * AWS resources for the token's duration.

\n * \n *

Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.

\n *
\n */\n TokenDuration?: number;\n}\n\nexport namespace GetOpenIdTokenForDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: GetOpenIdTokenForDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful GetOpenIdTokenForDeveloperIdentity\n * request.

\n */\nexport interface GetOpenIdTokenForDeveloperIdentityResponse {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

An OpenID token.

\n */\n Token?: string;\n}\n\nexport namespace GetOpenIdTokenForDeveloperIdentityResponse {\n export const filterSensitiveLog = (obj: GetOpenIdTokenForDeveloperIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the ListIdentities action.

\n */\nexport interface ListIdentitiesInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

The maximum number of identities to return.

\n */\n MaxResults: number | undefined;\n\n /**\n *

A pagination token.

\n */\n NextToken?: string;\n\n /**\n *

An optional boolean parameter that allows you to hide disabled identities. If\n * omitted, the ListIdentities API will include disabled identities in the response.

\n */\n HideDisabled?: boolean;\n}\n\nexport namespace ListIdentitiesInput {\n export const filterSensitiveLog = (obj: ListIdentitiesInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

The response to a ListIdentities request.

\n */\nexport interface ListIdentitiesResponse {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId?: string;\n\n /**\n *

An object containing a set of identities and associated mappings.

\n */\n Identities?: IdentityDescription[];\n\n /**\n *

A pagination token.

\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentitiesResponse {\n export const filterSensitiveLog = (obj: ListIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the ListIdentityPools action.

\n */\nexport interface ListIdentityPoolsInput {\n /**\n *

The maximum number of identities to return.

\n */\n MaxResults: number | undefined;\n\n /**\n *

A pagination token.

\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentityPoolsInput {\n export const filterSensitiveLog = (obj: ListIdentityPoolsInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

A description of the identity pool.

\n */\nexport interface IdentityPoolShortDescription {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId?: string;\n\n /**\n *

A string that you provide.

\n */\n IdentityPoolName?: string;\n}\n\nexport namespace IdentityPoolShortDescription {\n export const filterSensitiveLog = (obj: IdentityPoolShortDescription): any => ({\n ...obj,\n });\n}\n\n/**\n *

The result of a successful ListIdentityPools action.

\n */\nexport interface ListIdentityPoolsResponse {\n /**\n *

The identity pools returned by the ListIdentityPools action.

\n */\n IdentityPools?: IdentityPoolShortDescription[];\n\n /**\n *

A pagination token.

\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentityPoolsResponse {\n export const filterSensitiveLog = (obj: ListIdentityPoolsResponse): any => ({\n ...obj,\n });\n}\n\nexport interface ListTagsForResourceInput {\n /**\n *

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned\n * to.

\n */\n ResourceArn: string | undefined;\n}\n\nexport namespace ListTagsForResourceInput {\n export const filterSensitiveLog = (obj: ListTagsForResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface ListTagsForResourceResponse {\n /**\n *

The tags that are assigned to the identity pool.

\n */\n Tags?: { [key: string]: string };\n}\n\nexport namespace ListTagsForResourceResponse {\n export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the LookupDeveloperIdentityInput action.

\n */\nexport interface LookupDeveloperIdentityInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

A unique ID used by your backend authentication process to identify a user.\n * Typically, a developer identity provider would issue many developer user identifiers, in\n * keeping with the number of users.

\n */\n DeveloperUserIdentifier?: string;\n\n /**\n *

The maximum number of identities to return.

\n */\n MaxResults?: number;\n\n /**\n *

A pagination token. The first call you make will have NextToken set to\n * null. After that the service will return NextToken values as needed. For\n * example, let's say you make a request with MaxResults set to 10, and there are\n * 20 matches in the database. The service will return a pagination token as a part of the\n * response. This token can be used to call the API again and get results starting from the\n * 11th match.

\n */\n NextToken?: string;\n}\n\nexport namespace LookupDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: LookupDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful LookupDeveloperIdentity\n * action.

\n */\nexport interface LookupDeveloperIdentityResponse {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n\n /**\n *

This is the list of developer user identifiers associated with an identity ID.\n * Cognito supports the association of multiple developer user identifiers with an identity\n * ID.

\n */\n DeveloperUserIdentifierList?: string[];\n\n /**\n *

A pagination token. The first call you make will have NextToken set to\n * null. After that the service will return NextToken values as needed. For\n * example, let's say you make a request with MaxResults set to 10, and there are\n * 20 matches in the database. The service will return a pagination token as a part of the\n * response. This token can be used to call the API again and get results starting from the\n * 11th match.

\n */\n NextToken?: string;\n}\n\nexport namespace LookupDeveloperIdentityResponse {\n export const filterSensitiveLog = (obj: LookupDeveloperIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the MergeDeveloperIdentities action.

\n */\nexport interface MergeDeveloperIdentitiesInput {\n /**\n *

User identifier for the source user. The value should be a\n * DeveloperUserIdentifier.

\n */\n SourceUserIdentifier: string | undefined;\n\n /**\n *

User identifier for the destination user. The value should be a\n * DeveloperUserIdentifier.

\n */\n DestinationUserIdentifier: string | undefined;\n\n /**\n *

The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain\n * name that you provide while creating an identity pool. This name acts as a placeholder that\n * allows your backend and the Cognito service to communicate about the developer provider.\n * For the DeveloperProviderName, you can use letters as well as period (.),\n * underscore (_), and dash (-).

\n */\n DeveloperProviderName: string | undefined;\n\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace MergeDeveloperIdentitiesInput {\n export const filterSensitiveLog = (obj: MergeDeveloperIdentitiesInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Returned in response to a successful MergeDeveloperIdentities\n * action.

\n */\nexport interface MergeDeveloperIdentitiesResponse {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId?: string;\n}\n\nexport namespace MergeDeveloperIdentitiesResponse {\n export const filterSensitiveLog = (obj: MergeDeveloperIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Thrown if there are parallel requests to modify a resource.

\n */\nexport interface ConcurrentModificationException extends __SmithyException, $MetadataBearer {\n name: \"ConcurrentModificationException\";\n $fault: \"client\";\n /**\n *

The message returned by a ConcurrentModificationException.

\n */\n message?: string;\n}\n\nexport namespace ConcurrentModificationException {\n export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the SetIdentityPoolRoles action.

\n */\nexport interface SetIdentityPoolRolesInput {\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

The map of roles associated with this pool. For a given role, the key will be either\n * \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN.

\n */\n Roles: { [key: string]: string } | undefined;\n\n /**\n *

How users for a specific identity provider are to mapped to roles. This is a string\n * to RoleMapping object map. The string identifies the identity provider,\n * for example, \"graph.facebook.com\" or\n * \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

\n *

Up to 25 rules can be specified per identity provider.

\n */\n RoleMappings?: { [key: string]: RoleMapping };\n}\n\nexport namespace SetIdentityPoolRolesInput {\n export const filterSensitiveLog = (obj: SetIdentityPoolRolesInput): any => ({\n ...obj,\n });\n}\n\nexport interface TagResourceInput {\n /**\n *

The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

\n */\n ResourceArn: string | undefined;\n\n /**\n *

The tags to assign to the identity pool.

\n */\n Tags: { [key: string]: string } | undefined;\n}\n\nexport namespace TagResourceInput {\n export const filterSensitiveLog = (obj: TagResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface TagResourceResponse {}\n\nexport namespace TagResourceResponse {\n export const filterSensitiveLog = (obj: TagResourceResponse): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the UnlinkDeveloperIdentity action.

\n */\nexport interface UnlinkDeveloperIdentityInput {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId: string | undefined;\n\n /**\n *

An identity pool ID in the format REGION:GUID.

\n */\n IdentityPoolId: string | undefined;\n\n /**\n *

The \"domain\" by which Cognito will refer to your users.

\n */\n DeveloperProviderName: string | undefined;\n\n /**\n *

A unique ID used by your backend authentication process to identify a user.

\n */\n DeveloperUserIdentifier: string | undefined;\n}\n\nexport namespace UnlinkDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: UnlinkDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Input to the UnlinkIdentity action.

\n */\nexport interface UnlinkIdentityInput {\n /**\n *

A unique identifier in the format REGION:GUID.

\n */\n IdentityId: string | undefined;\n\n /**\n *

A set of optional name-value pairs that map provider names to provider\n * tokens.

\n */\n Logins: { [key: string]: string } | undefined;\n\n /**\n *

Provider names to unlink from this identity.

\n */\n LoginsToRemove: string[] | undefined;\n}\n\nexport namespace UnlinkIdentityInput {\n export const filterSensitiveLog = (obj: UnlinkIdentityInput): any => ({\n ...obj,\n });\n}\n\nexport interface UntagResourceInput {\n /**\n *

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned\n * to.

\n */\n ResourceArn: string | undefined;\n\n /**\n *

The keys of the tags to remove from the user pool.

\n */\n TagKeys: string[] | undefined;\n}\n\nexport namespace UntagResourceInput {\n export const filterSensitiveLog = (obj: UntagResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface UntagResourceResponse {}\n\nexport namespace UntagResourceResponse {\n export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({\n ...obj,\n });\n}\n","import { HeaderBag, HttpMessage, HttpResponse as IHttpResponse } from \"@aws-sdk/types\";\n\ntype HttpResponseOptions = Partial & {\n statusCode: number;\n};\n\nexport interface HttpResponse extends IHttpResponse {}\n\nexport class HttpResponse {\n public statusCode: number;\n public headers: HeaderBag;\n public body?: any;\n\n constructor(options: HttpResponseOptions) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n\n static isInstance(response: unknown): response is HttpResponse {\n //determine if response is a valid HttpResponse\n if (!response) return false;\n const resp = response as any;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n","import { Endpoint, HeaderBag, HttpMessage, HttpRequest as IHttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\ntype HttpRequestOptions = Partial & Partial & { method?: string };\n\nexport interface HttpRequest extends IHttpRequest {}\n\nexport class HttpRequest implements HttpMessage, Endpoint {\n public method: string;\n public protocol: string;\n public hostname: string;\n public port?: number;\n public path: string;\n public query: QueryParameterBag;\n public headers: HeaderBag;\n public body?: any;\n\n constructor(options: HttpRequestOptions) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.substr(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n }\n\n static isInstance(request: unknown): request is HttpRequest {\n //determine if request is a valid httpRequest\n if (!request) return false;\n const req: any = request;\n return (\n \"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\"\n );\n }\n\n clone(): HttpRequest {\n const cloned = new HttpRequest({\n ...this,\n headers: { ...this.headers },\n });\n if (cloned.query) cloned.query = cloneQuery(cloned.query);\n return cloned;\n }\n}\n\nfunction cloneQuery(query: QueryParameterBag): QueryParameterBag {\n return Object.keys(query).reduce((carry: QueryParameterBag, paramName: string) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","export * from \"./httpResponse\";\nexport * from \"./httpRequest\";\nexport * from \"./httpHandler\";\nexport * from \"./isValidHostname\";\n","import { CreateIdentityPoolCommandInput, CreateIdentityPoolCommandOutput } from \"../commands/CreateIdentityPoolCommand\";\nimport { DeleteIdentitiesCommandInput, DeleteIdentitiesCommandOutput } from \"../commands/DeleteIdentitiesCommand\";\nimport { DeleteIdentityPoolCommandInput, DeleteIdentityPoolCommandOutput } from \"../commands/DeleteIdentityPoolCommand\";\nimport { DescribeIdentityCommandInput, DescribeIdentityCommandOutput } from \"../commands/DescribeIdentityCommand\";\nimport {\n DescribeIdentityPoolCommandInput,\n DescribeIdentityPoolCommandOutput,\n} from \"../commands/DescribeIdentityPoolCommand\";\nimport {\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n} from \"../commands/GetCredentialsForIdentityCommand\";\nimport { GetIdCommandInput, GetIdCommandOutput } from \"../commands/GetIdCommand\";\nimport {\n GetIdentityPoolRolesCommandInput,\n GetIdentityPoolRolesCommandOutput,\n} from \"../commands/GetIdentityPoolRolesCommand\";\nimport { GetOpenIdTokenCommandInput, GetOpenIdTokenCommandOutput } from \"../commands/GetOpenIdTokenCommand\";\nimport {\n GetOpenIdTokenForDeveloperIdentityCommandInput,\n GetOpenIdTokenForDeveloperIdentityCommandOutput,\n} from \"../commands/GetOpenIdTokenForDeveloperIdentityCommand\";\nimport { ListIdentitiesCommandInput, ListIdentitiesCommandOutput } from \"../commands/ListIdentitiesCommand\";\nimport { ListIdentityPoolsCommandInput, ListIdentityPoolsCommandOutput } from \"../commands/ListIdentityPoolsCommand\";\nimport {\n ListTagsForResourceCommandInput,\n ListTagsForResourceCommandOutput,\n} from \"../commands/ListTagsForResourceCommand\";\nimport {\n LookupDeveloperIdentityCommandInput,\n LookupDeveloperIdentityCommandOutput,\n} from \"../commands/LookupDeveloperIdentityCommand\";\nimport {\n MergeDeveloperIdentitiesCommandInput,\n MergeDeveloperIdentitiesCommandOutput,\n} from \"../commands/MergeDeveloperIdentitiesCommand\";\nimport {\n SetIdentityPoolRolesCommandInput,\n SetIdentityPoolRolesCommandOutput,\n} from \"../commands/SetIdentityPoolRolesCommand\";\nimport { TagResourceCommandInput, TagResourceCommandOutput } from \"../commands/TagResourceCommand\";\nimport {\n UnlinkDeveloperIdentityCommandInput,\n UnlinkDeveloperIdentityCommandOutput,\n} from \"../commands/UnlinkDeveloperIdentityCommand\";\nimport { UnlinkIdentityCommandInput, UnlinkIdentityCommandOutput } from \"../commands/UnlinkIdentityCommand\";\nimport { UntagResourceCommandInput, UntagResourceCommandOutput } from \"../commands/UntagResourceCommand\";\nimport { UpdateIdentityPoolCommandInput, UpdateIdentityPoolCommandOutput } from \"../commands/UpdateIdentityPoolCommand\";\nimport {\n CognitoIdentityProvider,\n ConcurrentModificationException,\n CreateIdentityPoolInput,\n Credentials,\n DeleteIdentitiesInput,\n DeleteIdentitiesResponse,\n DeleteIdentityPoolInput,\n DescribeIdentityInput,\n DescribeIdentityPoolInput,\n DeveloperUserAlreadyRegisteredException,\n ExternalServiceException,\n GetCredentialsForIdentityInput,\n GetCredentialsForIdentityResponse,\n GetIdInput,\n GetIdResponse,\n GetIdentityPoolRolesInput,\n GetIdentityPoolRolesResponse,\n GetOpenIdTokenForDeveloperIdentityInput,\n GetOpenIdTokenForDeveloperIdentityResponse,\n GetOpenIdTokenInput,\n GetOpenIdTokenResponse,\n IdentityDescription,\n IdentityPool,\n IdentityPoolShortDescription,\n InternalErrorException,\n InvalidIdentityPoolConfigurationException,\n InvalidParameterException,\n LimitExceededException,\n ListIdentitiesInput,\n ListIdentitiesResponse,\n ListIdentityPoolsInput,\n ListIdentityPoolsResponse,\n ListTagsForResourceInput,\n ListTagsForResourceResponse,\n LookupDeveloperIdentityInput,\n LookupDeveloperIdentityResponse,\n MappingRule,\n MergeDeveloperIdentitiesInput,\n MergeDeveloperIdentitiesResponse,\n NotAuthorizedException,\n ResourceConflictException,\n ResourceNotFoundException,\n RoleMapping,\n RulesConfigurationType,\n SetIdentityPoolRolesInput,\n TagResourceInput,\n TagResourceResponse,\n TooManyRequestsException,\n UnlinkDeveloperIdentityInput,\n UnlinkIdentityInput,\n UnprocessedIdentityId,\n UntagResourceInput,\n UntagResourceResponse,\n} from \"../models/models_0\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { SmithyException as __SmithyException } from \"@aws-sdk/smithy-client\";\nimport {\n Endpoint as __Endpoint,\n HeaderBag as __HeaderBag,\n MetadataBearer as __MetadataBearer,\n ResponseMetadata as __ResponseMetadata,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport const serializeAws_json1_1CreateIdentityPoolCommand = async (\n input: CreateIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.CreateIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1CreateIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DeleteIdentitiesCommand = async (\n input: DeleteIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DeleteIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DeleteIdentityPoolCommand = async (\n input: DeleteIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DeleteIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DescribeIdentityCommand = async (\n input: DescribeIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DescribeIdentityPoolCommand = async (\n input: DescribeIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetCredentialsForIdentityCommand = async (\n input: GetCredentialsForIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetCredentialsForIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetCredentialsForIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetIdCommand = async (\n input: GetIdCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetId\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetIdInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetIdentityPoolRolesCommand = async (\n input: GetIdentityPoolRolesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetIdentityPoolRoles\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetIdentityPoolRolesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetOpenIdTokenCommand = async (\n input: GetOpenIdTokenCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdToken\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = async (\n input: GetOpenIdTokenForDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdTokenForDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListIdentitiesCommand = async (\n input: ListIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListIdentityPoolsCommand = async (\n input: ListIdentityPoolsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentityPools\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListIdentityPoolsInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListTagsForResourceCommand = async (\n input: ListTagsForResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListTagsForResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListTagsForResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1LookupDeveloperIdentityCommand = async (\n input: LookupDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.LookupDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1LookupDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1MergeDeveloperIdentitiesCommand = async (\n input: MergeDeveloperIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.MergeDeveloperIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1MergeDeveloperIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1SetIdentityPoolRolesCommand = async (\n input: SetIdentityPoolRolesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.SetIdentityPoolRoles\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1SetIdentityPoolRolesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1TagResourceCommand = async (\n input: TagResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.TagResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1TagResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UnlinkDeveloperIdentityCommand = async (\n input: UnlinkDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UnlinkDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UnlinkIdentityCommand = async (\n input: UnlinkIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UnlinkIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UntagResourceCommand = async (\n input: UntagResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UntagResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UntagResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UpdateIdentityPoolCommand = async (\n input: UpdateIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UpdateIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1IdentityPool(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const deserializeAws_json1_1CreateIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1CreateIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: CreateIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1CreateIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DeleteIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DeleteIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1DeleteIdentitiesResponse(data, context);\n const response: DeleteIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DeleteIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DeleteIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DeleteIdentityPoolCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: DeleteIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DeleteIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DescribeIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DescribeIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityDescription(data, context);\n const response: DescribeIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DescribeIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DescribeIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DescribeIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: DescribeIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DescribeIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetCredentialsForIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetCredentialsForIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetCredentialsForIdentityResponse(data, context);\n const response: GetCredentialsForIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetCredentialsForIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidIdentityPoolConfigurationException\":\n case \"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException\":\n response = {\n ...(await deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetIdCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetIdCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetIdResponse(data, context);\n const response: GetIdCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetIdCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetIdentityPoolRolesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetIdentityPoolRolesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetIdentityPoolRolesResponse(data, context);\n const response: GetIdentityPoolRolesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetIdentityPoolRolesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetOpenIdTokenCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetOpenIdTokenCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetOpenIdTokenResponse(data, context);\n const response: GetOpenIdTokenCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse(data, context);\n const response: GetOpenIdTokenForDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"DeveloperUserAlreadyRegisteredException\":\n case \"com.amazonaws.cognitoidentity#DeveloperUserAlreadyRegisteredException\":\n response = {\n ...(await deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListIdentitiesResponse(data, context);\n const response: ListIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListIdentityPoolsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListIdentityPoolsCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListIdentityPoolsResponse(data, context);\n const response: ListIdentityPoolsCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListIdentityPoolsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListTagsForResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListTagsForResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context);\n const response: ListTagsForResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListTagsForResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1LookupDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1LookupDeveloperIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1LookupDeveloperIdentityResponse(data, context);\n const response: LookupDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1LookupDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1MergeDeveloperIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1MergeDeveloperIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1MergeDeveloperIdentitiesResponse(data, context);\n const response: MergeDeveloperIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1MergeDeveloperIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1SetIdentityPoolRolesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1SetIdentityPoolRolesCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: SetIdentityPoolRolesCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1SetIdentityPoolRolesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ConcurrentModificationException\":\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\":\n response = {\n ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1TagResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1TagResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1TagResourceResponse(data, context);\n const response: TagResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1TagResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UnlinkDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UnlinkDeveloperIdentityCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: UnlinkDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UnlinkDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UnlinkIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UnlinkIdentityCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: UnlinkIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UnlinkIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UntagResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UntagResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1UntagResourceResponse(data, context);\n const response: UntagResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UntagResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UpdateIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UpdateIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: UpdateIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UpdateIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ConcurrentModificationException\":\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\":\n response = {\n ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nconst deserializeAws_json1_1ConcurrentModificationExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ConcurrentModificationException(body, context);\n const contents: ConcurrentModificationException = {\n name: \"ConcurrentModificationException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1DeveloperUserAlreadyRegisteredException(body, context);\n const contents: DeveloperUserAlreadyRegisteredException = {\n name: \"DeveloperUserAlreadyRegisteredException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ExternalServiceExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ExternalServiceException(body, context);\n const contents: ExternalServiceException = {\n name: \"ExternalServiceException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InternalErrorExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InternalErrorException(body, context);\n const contents: InternalErrorException = {\n name: \"InternalErrorException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InvalidIdentityPoolConfigurationException(body, context);\n const contents: InvalidIdentityPoolConfigurationException = {\n name: \"InvalidIdentityPoolConfigurationException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InvalidParameterExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InvalidParameterException(body, context);\n const contents: InvalidParameterException = {\n name: \"InvalidParameterException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1LimitExceededExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1LimitExceededException(body, context);\n const contents: LimitExceededException = {\n name: \"LimitExceededException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1NotAuthorizedExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1NotAuthorizedException(body, context);\n const contents: NotAuthorizedException = {\n name: \"NotAuthorizedException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ResourceConflictExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ResourceConflictException(body, context);\n const contents: ResourceConflictException = {\n name: \"ResourceConflictException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ResourceNotFoundExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context);\n const contents: ResourceNotFoundException = {\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1TooManyRequestsExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1TooManyRequestsException(body, context);\n const contents: TooManyRequestsException = {\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst serializeAws_json1_1CognitoIdentityProvider = (input: CognitoIdentityProvider, context: __SerdeContext): any => {\n return {\n ...(input.ClientId !== undefined && input.ClientId !== null && { ClientId: input.ClientId }),\n ...(input.ProviderName !== undefined && input.ProviderName !== null && { ProviderName: input.ProviderName }),\n ...(input.ServerSideTokenCheck !== undefined &&\n input.ServerSideTokenCheck !== null && { ServerSideTokenCheck: input.ServerSideTokenCheck }),\n };\n};\n\nconst serializeAws_json1_1CognitoIdentityProviderList = (\n input: CognitoIdentityProvider[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return serializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\n\nconst serializeAws_json1_1CreateIdentityPoolInput = (input: CreateIdentityPoolInput, context: __SerdeContext): any => {\n return {\n ...(input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow }),\n ...(input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n }),\n ...(input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(\n input.CognitoIdentityProviders,\n context\n ),\n }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName }),\n ...(input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n }),\n ...(input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n }),\n ...(input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n }),\n ...(input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }),\n };\n};\n\nconst serializeAws_json1_1DeleteIdentitiesInput = (input: DeleteIdentitiesInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityIdsToDelete !== undefined &&\n input.IdentityIdsToDelete !== null && {\n IdentityIdsToDelete: serializeAws_json1_1IdentityIdList(input.IdentityIdsToDelete, context),\n }),\n };\n};\n\nconst serializeAws_json1_1DeleteIdentityPoolInput = (input: DeleteIdentityPoolInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1DescribeIdentityInput = (input: DescribeIdentityInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n };\n};\n\nconst serializeAws_json1_1DescribeIdentityPoolInput = (\n input: DescribeIdentityPoolInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1GetCredentialsForIdentityInput = (\n input: GetCredentialsForIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.CustomRoleArn !== undefined && input.CustomRoleArn !== null && { CustomRoleArn: input.CustomRoleArn }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1GetIdentityPoolRolesInput = (\n input: GetIdentityPoolRolesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1GetIdInput = (input: GetIdInput, context: __SerdeContext): any => {\n return {\n ...(input.AccountId !== undefined && input.AccountId !== null && { AccountId: input.AccountId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput = (\n input: GetOpenIdTokenForDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n ...(input.TokenDuration !== undefined && input.TokenDuration !== null && { TokenDuration: input.TokenDuration }),\n };\n};\n\nconst serializeAws_json1_1GetOpenIdTokenInput = (input: GetOpenIdTokenInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1IdentityIdList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1IdentityPool = (input: IdentityPool, context: __SerdeContext): any => {\n return {\n ...(input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow }),\n ...(input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n }),\n ...(input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(\n input.CognitoIdentityProviders,\n context\n ),\n }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName }),\n ...(input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n }),\n ...(input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n }),\n ...(input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n }),\n ...(input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }),\n };\n};\n\nconst serializeAws_json1_1IdentityPoolTagsListType = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1IdentityPoolTagsType = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1IdentityProviders = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1ListIdentitiesInput = (input: ListIdentitiesInput, context: __SerdeContext): any => {\n return {\n ...(input.HideDisabled !== undefined && input.HideDisabled !== null && { HideDisabled: input.HideDisabled }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1ListIdentityPoolsInput = (input: ListIdentityPoolsInput, context: __SerdeContext): any => {\n return {\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1ListTagsForResourceInput = (\n input: ListTagsForResourceInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n };\n};\n\nconst serializeAws_json1_1LoginsList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1LoginsMap = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1LookupDeveloperIdentityInput = (\n input: LookupDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1MappingRule = (input: MappingRule, context: __SerdeContext): any => {\n return {\n ...(input.Claim !== undefined && input.Claim !== null && { Claim: input.Claim }),\n ...(input.MatchType !== undefined && input.MatchType !== null && { MatchType: input.MatchType }),\n ...(input.RoleARN !== undefined && input.RoleARN !== null && { RoleARN: input.RoleARN }),\n ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }),\n };\n};\n\nconst serializeAws_json1_1MappingRulesList = (input: MappingRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return serializeAws_json1_1MappingRule(entry, context);\n });\n};\n\nconst serializeAws_json1_1MergeDeveloperIdentitiesInput = (\n input: MergeDeveloperIdentitiesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DestinationUserIdentifier !== undefined &&\n input.DestinationUserIdentifier !== null && { DestinationUserIdentifier: input.DestinationUserIdentifier }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.SourceUserIdentifier !== undefined &&\n input.SourceUserIdentifier !== null && { SourceUserIdentifier: input.SourceUserIdentifier }),\n };\n};\n\nconst serializeAws_json1_1OIDCProviderList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1RoleMapping = (input: RoleMapping, context: __SerdeContext): any => {\n return {\n ...(input.AmbiguousRoleResolution !== undefined &&\n input.AmbiguousRoleResolution !== null && { AmbiguousRoleResolution: input.AmbiguousRoleResolution }),\n ...(input.RulesConfiguration !== undefined &&\n input.RulesConfiguration !== null && {\n RulesConfiguration: serializeAws_json1_1RulesConfigurationType(input.RulesConfiguration, context),\n }),\n ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }),\n };\n};\n\nconst serializeAws_json1_1RoleMappingMap = (input: { [key: string]: RoleMapping }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: RoleMapping }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: serializeAws_json1_1RoleMapping(value, context),\n };\n }, {});\n};\n\nconst serializeAws_json1_1RolesMap = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1RulesConfigurationType = (input: RulesConfigurationType, context: __SerdeContext): any => {\n return {\n ...(input.Rules !== undefined &&\n input.Rules !== null && { Rules: serializeAws_json1_1MappingRulesList(input.Rules, context) }),\n };\n};\n\nconst serializeAws_json1_1SAMLProviderList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1SetIdentityPoolRolesInput = (\n input: SetIdentityPoolRolesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.RoleMappings !== undefined &&\n input.RoleMappings !== null && { RoleMappings: serializeAws_json1_1RoleMappingMap(input.RoleMappings, context) }),\n ...(input.Roles !== undefined &&\n input.Roles !== null && { Roles: serializeAws_json1_1RolesMap(input.Roles, context) }),\n };\n};\n\nconst serializeAws_json1_1TagResourceInput = (input: TagResourceInput, context: __SerdeContext): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n ...(input.Tags !== undefined &&\n input.Tags !== null && { Tags: serializeAws_json1_1IdentityPoolTagsType(input.Tags, context) }),\n };\n};\n\nconst serializeAws_json1_1UnlinkDeveloperIdentityInput = (\n input: UnlinkDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1UnlinkIdentityInput = (input: UnlinkIdentityInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n ...(input.LoginsToRemove !== undefined &&\n input.LoginsToRemove !== null && {\n LoginsToRemove: serializeAws_json1_1LoginsList(input.LoginsToRemove, context),\n }),\n };\n};\n\nconst serializeAws_json1_1UntagResourceInput = (input: UntagResourceInput, context: __SerdeContext): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n ...(input.TagKeys !== undefined &&\n input.TagKeys !== null && { TagKeys: serializeAws_json1_1IdentityPoolTagsListType(input.TagKeys, context) }),\n };\n};\n\nconst deserializeAws_json1_1CognitoIdentityProvider = (\n output: any,\n context: __SerdeContext\n): CognitoIdentityProvider => {\n return {\n ClientId: output.ClientId !== undefined && output.ClientId !== null ? output.ClientId : undefined,\n ProviderName: output.ProviderName !== undefined && output.ProviderName !== null ? output.ProviderName : undefined,\n ServerSideTokenCheck:\n output.ServerSideTokenCheck !== undefined && output.ServerSideTokenCheck !== null\n ? output.ServerSideTokenCheck\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1CognitoIdentityProviderList = (\n output: any,\n context: __SerdeContext\n): CognitoIdentityProvider[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\n\nconst deserializeAws_json1_1ConcurrentModificationException = (\n output: any,\n context: __SerdeContext\n): ConcurrentModificationException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1Credentials = (output: any, context: __SerdeContext): Credentials => {\n return {\n AccessKeyId: output.AccessKeyId !== undefined && output.AccessKeyId !== null ? output.AccessKeyId : undefined,\n Expiration:\n output.Expiration !== undefined && output.Expiration !== null\n ? new Date(Math.round(output.Expiration * 1000))\n : undefined,\n SecretKey: output.SecretKey !== undefined && output.SecretKey !== null ? output.SecretKey : undefined,\n SessionToken: output.SessionToken !== undefined && output.SessionToken !== null ? output.SessionToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeleteIdentitiesResponse = (\n output: any,\n context: __SerdeContext\n): DeleteIdentitiesResponse => {\n return {\n UnprocessedIdentityIds:\n output.UnprocessedIdentityIds !== undefined && output.UnprocessedIdentityIds !== null\n ? deserializeAws_json1_1UnprocessedIdentityIdList(output.UnprocessedIdentityIds, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeveloperUserAlreadyRegisteredException = (\n output: any,\n context: __SerdeContext\n): DeveloperUserAlreadyRegisteredException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeveloperUserIdentifierList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1ExternalServiceException = (\n output: any,\n context: __SerdeContext\n): ExternalServiceException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetCredentialsForIdentityResponse = (\n output: any,\n context: __SerdeContext\n): GetCredentialsForIdentityResponse => {\n return {\n Credentials:\n output.Credentials !== undefined && output.Credentials !== null\n ? deserializeAws_json1_1Credentials(output.Credentials, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetIdentityPoolRolesResponse = (\n output: any,\n context: __SerdeContext\n): GetIdentityPoolRolesResponse => {\n return {\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n RoleMappings:\n output.RoleMappings !== undefined && output.RoleMappings !== null\n ? deserializeAws_json1_1RoleMappingMap(output.RoleMappings, context)\n : undefined,\n Roles:\n output.Roles !== undefined && output.Roles !== null\n ? deserializeAws_json1_1RolesMap(output.Roles, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetIdResponse = (output: any, context: __SerdeContext): GetIdResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse = (\n output: any,\n context: __SerdeContext\n): GetOpenIdTokenForDeveloperIdentityResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenResponse = (output: any, context: __SerdeContext): GetOpenIdTokenResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentitiesList = (output: any, context: __SerdeContext): IdentityDescription[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1IdentityDescription(entry, context);\n });\n};\n\nconst deserializeAws_json1_1IdentityDescription = (output: any, context: __SerdeContext): IdentityDescription => {\n return {\n CreationDate:\n output.CreationDate !== undefined && output.CreationDate !== null\n ? new Date(Math.round(output.CreationDate * 1000))\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n LastModifiedDate:\n output.LastModifiedDate !== undefined && output.LastModifiedDate !== null\n ? new Date(Math.round(output.LastModifiedDate * 1000))\n : undefined,\n Logins:\n output.Logins !== undefined && output.Logins !== null\n ? deserializeAws_json1_1LoginsList(output.Logins, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPool = (output: any, context: __SerdeContext): IdentityPool => {\n return {\n AllowClassicFlow:\n output.AllowClassicFlow !== undefined && output.AllowClassicFlow !== null ? output.AllowClassicFlow : undefined,\n AllowUnauthenticatedIdentities:\n output.AllowUnauthenticatedIdentities !== undefined && output.AllowUnauthenticatedIdentities !== null\n ? output.AllowUnauthenticatedIdentities\n : undefined,\n CognitoIdentityProviders:\n output.CognitoIdentityProviders !== undefined && output.CognitoIdentityProviders !== null\n ? deserializeAws_json1_1CognitoIdentityProviderList(output.CognitoIdentityProviders, context)\n : undefined,\n DeveloperProviderName:\n output.DeveloperProviderName !== undefined && output.DeveloperProviderName !== null\n ? output.DeveloperProviderName\n : undefined,\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName:\n output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n IdentityPoolTags:\n output.IdentityPoolTags !== undefined && output.IdentityPoolTags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.IdentityPoolTags, context)\n : undefined,\n OpenIdConnectProviderARNs:\n output.OpenIdConnectProviderARNs !== undefined && output.OpenIdConnectProviderARNs !== null\n ? deserializeAws_json1_1OIDCProviderList(output.OpenIdConnectProviderARNs, context)\n : undefined,\n SamlProviderARNs:\n output.SamlProviderARNs !== undefined && output.SamlProviderARNs !== null\n ? deserializeAws_json1_1SAMLProviderList(output.SamlProviderARNs, context)\n : undefined,\n SupportedLoginProviders:\n output.SupportedLoginProviders !== undefined && output.SupportedLoginProviders !== null\n ? deserializeAws_json1_1IdentityProviders(output.SupportedLoginProviders, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPoolShortDescription = (\n output: any,\n context: __SerdeContext\n): IdentityPoolShortDescription => {\n return {\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName:\n output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPoolsList = (\n output: any,\n context: __SerdeContext\n): IdentityPoolShortDescription[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1IdentityPoolShortDescription(entry, context);\n });\n};\n\nconst deserializeAws_json1_1IdentityPoolTagsType = (\n output: any,\n context: __SerdeContext\n): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1IdentityProviders = (output: any, context: __SerdeContext): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1InternalErrorException = (output: any, context: __SerdeContext): InternalErrorException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1InvalidIdentityPoolConfigurationException = (\n output: any,\n context: __SerdeContext\n): InvalidIdentityPoolConfigurationException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1InvalidParameterException = (\n output: any,\n context: __SerdeContext\n): InvalidParameterException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1LimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListIdentitiesResponse = (output: any, context: __SerdeContext): ListIdentitiesResponse => {\n return {\n Identities:\n output.Identities !== undefined && output.Identities !== null\n ? deserializeAws_json1_1IdentitiesList(output.Identities, context)\n : undefined,\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListIdentityPoolsResponse = (\n output: any,\n context: __SerdeContext\n): ListIdentityPoolsResponse => {\n return {\n IdentityPools:\n output.IdentityPools !== undefined && output.IdentityPools !== null\n ? deserializeAws_json1_1IdentityPoolsList(output.IdentityPools, context)\n : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListTagsForResourceResponse = (\n output: any,\n context: __SerdeContext\n): ListTagsForResourceResponse => {\n return {\n Tags:\n output.Tags !== undefined && output.Tags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.Tags, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1LoginsList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1LookupDeveloperIdentityResponse = (\n output: any,\n context: __SerdeContext\n): LookupDeveloperIdentityResponse => {\n return {\n DeveloperUserIdentifierList:\n output.DeveloperUserIdentifierList !== undefined && output.DeveloperUserIdentifierList !== null\n ? deserializeAws_json1_1DeveloperUserIdentifierList(output.DeveloperUserIdentifierList, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1MappingRule = (output: any, context: __SerdeContext): MappingRule => {\n return {\n Claim: output.Claim !== undefined && output.Claim !== null ? output.Claim : undefined,\n MatchType: output.MatchType !== undefined && output.MatchType !== null ? output.MatchType : undefined,\n RoleARN: output.RoleARN !== undefined && output.RoleARN !== null ? output.RoleARN : undefined,\n Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1MappingRulesList = (output: any, context: __SerdeContext): MappingRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1MappingRule(entry, context);\n });\n};\n\nconst deserializeAws_json1_1MergeDeveloperIdentitiesResponse = (\n output: any,\n context: __SerdeContext\n): MergeDeveloperIdentitiesResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1NotAuthorizedException = (output: any, context: __SerdeContext): NotAuthorizedException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1OIDCProviderList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1ResourceConflictException = (\n output: any,\n context: __SerdeContext\n): ResourceConflictException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ResourceNotFoundException = (\n output: any,\n context: __SerdeContext\n): ResourceNotFoundException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1RoleMapping = (output: any, context: __SerdeContext): RoleMapping => {\n return {\n AmbiguousRoleResolution:\n output.AmbiguousRoleResolution !== undefined && output.AmbiguousRoleResolution !== null\n ? output.AmbiguousRoleResolution\n : undefined,\n RulesConfiguration:\n output.RulesConfiguration !== undefined && output.RulesConfiguration !== null\n ? deserializeAws_json1_1RulesConfigurationType(output.RulesConfiguration, context)\n : undefined,\n Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1RoleMappingMap = (output: any, context: __SerdeContext): { [key: string]: RoleMapping } => {\n return Object.entries(output).reduce((acc: { [key: string]: RoleMapping }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: deserializeAws_json1_1RoleMapping(value, context),\n };\n }, {});\n};\n\nconst deserializeAws_json1_1RolesMap = (output: any, context: __SerdeContext): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1RulesConfigurationType = (output: any, context: __SerdeContext): RulesConfigurationType => {\n return {\n Rules:\n output.Rules !== undefined && output.Rules !== null\n ? deserializeAws_json1_1MappingRulesList(output.Rules, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1SAMLProviderList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => {\n return {} as any;\n};\n\nconst deserializeAws_json1_1TooManyRequestsException = (\n output: any,\n context: __SerdeContext\n): TooManyRequestsException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1UnprocessedIdentityId = (output: any, context: __SerdeContext): UnprocessedIdentityId => {\n return {\n ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1UnprocessedIdentityIdList = (\n output: any,\n context: __SerdeContext\n): UnprocessedIdentityId[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1UnprocessedIdentityId(entry, context);\n });\n};\n\nconst deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => {\n return {} as any;\n};\n\nconst deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\n// Collect low-level response body stream to Uint8Array.\nconst collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n\n// Encode Uint8Array data into string with utf-8.\nconst collectBodyString = (streamBody: any, context: __SerdeContext): Promise =>\n collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n\nconst buildHttpRpcRequest = async (\n context: __SerdeContext,\n headers: __HeaderBag,\n path: string,\n resolvedHostname: string | undefined,\n body: any\n): Promise<__HttpRequest> => {\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n const contents: any = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path,\n headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new __HttpRequest(contents);\n};\n\nconst parseBody = (streamBody: any, context: __SerdeContext): any =>\n collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nconst loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => {\n const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n\n const sanitizeErrorCode = (rawValue: string): string => {\n let cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n\n return \"\";\n};\n","import {\n DeserializeHandler,\n DeserializeHandlerArguments,\n DeserializeHandlerOutput,\n DeserializeMiddleware,\n HandlerExecutionContext,\n ResponseDeserializer,\n} from \"@aws-sdk/types\";\n\nexport const deserializerMiddleware = (\n options: RuntimeUtils,\n deserializer: ResponseDeserializer\n): DeserializeMiddleware => (\n next: DeserializeHandler,\n context: HandlerExecutionContext\n): DeserializeHandler => async (\n args: DeserializeHandlerArguments\n): Promise> => {\n const { response } = await next(args);\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed as Output,\n };\n};\n","import {\n EndpointBearer,\n HandlerExecutionContext,\n RequestSerializer,\n SerializeHandler,\n SerializeHandlerArguments,\n SerializeHandlerOutput,\n SerializeMiddleware,\n} from \"@aws-sdk/types\";\n\nexport const serializerMiddleware = (\n options: RuntimeUtils,\n serializer: RequestSerializer\n): SerializeMiddleware => (\n next: SerializeHandler,\n context: HandlerExecutionContext\n): SerializeHandler => async (\n args: SerializeHandlerArguments\n): Promise> => {\n const request = await serializer(args.input, options);\n return next({\n ...args,\n request,\n });\n};\n","import {\n DeserializeHandlerOptions,\n EndpointBearer,\n MetadataBearer,\n MiddlewareStack,\n Pluggable,\n RequestSerializer,\n ResponseDeserializer,\n SerializeHandlerOptions,\n} from \"@aws-sdk/types\";\n\nimport { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\n\nexport const deserializerMiddlewareOption: DeserializeHandlerOptions = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\n\nexport const serializerMiddlewareOption: SerializeHandlerOptions = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\n\nexport function getSerdePlugin<\n InputType extends object,\n SerDeContext extends EndpointBearer,\n OutputType extends MetadataBearer\n>(\n config: SerDeContext,\n serializer: RequestSerializer,\n deserializer: ResponseDeserializer\n): Pluggable {\n return {\n applyToStack: (commandStack: MiddlewareStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n","export * from \"./deserializerMiddleware\";\nexport * from \"./serializerMiddleware\";\nexport * from \"./serdePlugin\";\n","import {\n AbsoluteLocation,\n DeserializeHandler,\n Handler,\n HandlerExecutionContext,\n HandlerOptions,\n MiddlewareStack,\n MiddlewareType,\n Pluggable,\n Priority,\n RelativeLocation,\n Step,\n} from \"@aws-sdk/types\";\n\nimport { AbsoluteMiddlewareEntry, MiddlewareEntry, Normalized, RelativeMiddlewareEntry } from \"./types\";\n\nexport const constructStack = (): MiddlewareStack => {\n let absoluteEntries: AbsoluteMiddlewareEntry[] = [];\n let relativeEntries: RelativeMiddlewareEntry[] = [];\n const entriesNameSet: Set = new Set();\n\n const sort = >(entries: T[]): T[] =>\n entries.sort(\n (a, b) =>\n stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]\n );\n\n const removeByName = (toRemove: string): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry): boolean => {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n\n const removeByReference = (toRemove: MiddlewareType): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry): boolean => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name) entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n\n const cloneTo = (\n toStack: MiddlewareStack\n ): MiddlewareStack => {\n absoluteEntries.forEach((entry) => {\n //@ts-ignore\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n //@ts-ignore\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n return toStack;\n };\n\n const expandRelativeMiddlewareList = (\n from: Normalized, Input, Output>\n ): MiddlewareEntry[] => {\n const expandedMiddlewareList: MiddlewareEntry[] = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n\n /**\n * Get a final list of middleware in the order of being executed in the resolved handler.\n */\n const getMiddlewareList = (): Array> => {\n const normalizedAbsoluteEntries: Normalized, Input, Output>[] = [];\n const normalizedRelativeEntries: Normalized, Input, Output>[] = [];\n const normalizedEntriesNameMap: {\n [middlewareName: string]: Normalized, Input, Output>;\n } = {};\n\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name) normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name) normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n throw new Error(\n `${entry.toMiddleware} is not found when adding ${entry.name || \"anonymous\"} middleware ${entry.relation} ${\n entry.toMiddleware\n }`\n );\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expendedMiddlewareList) => {\n // TODO: Replace it with Array.flat();\n wholeList.push(...expendedMiddlewareList);\n return wholeList;\n }, [] as MiddlewareEntry[]);\n return mainChain.map((entry) => entry.middleware);\n };\n\n const stack = {\n add: (middleware: MiddlewareType, options: HandlerOptions & AbsoluteLocation = {}) => {\n const { name, override } = options;\n const entry: AbsoluteMiddlewareEntry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override) throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === name);\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(\n `\"${name}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be ` +\n `overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`\n );\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n\n addRelativeTo: (middleware: MiddlewareType, options: HandlerOptions & RelativeLocation) => {\n const { name, override } = options;\n const entry: RelativeMiddlewareEntry = {\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override) throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === name);\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\n `\"${name}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by same-name middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`\n );\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n\n clone: () => cloneTo(constructStack()),\n\n use: (plugin: Pluggable) => {\n plugin.applyToStack(stack);\n },\n\n remove: (toRemove: MiddlewareType | string): boolean => {\n if (typeof toRemove === \"string\") return removeByName(toRemove);\n else return removeByReference(toRemove);\n },\n\n removeByTag: (toRemove: string): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry): boolean => {\n const { tags, name } = entry;\n if (tags && tags.includes(toRemove)) {\n if (name) entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n\n concat: (\n from: MiddlewareStack\n ): MiddlewareStack => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n return cloned;\n },\n\n applyToStack: cloneTo,\n\n resolve: (\n handler: DeserializeHandler,\n context: HandlerExecutionContext\n ): Handler => {\n for (const middleware of getMiddlewareList().reverse()) {\n handler = middleware(handler as Handler, context) as any;\n }\n return handler as Handler;\n },\n };\n return stack;\n};\n\nconst stepWeights: { [key in Step]: number } = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\n\nconst priorityWeights: { [key in Priority]: number } = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","export * from \"./MiddlewareStack\";\n","import { constructStack } from \"@aws-sdk/middleware-stack\";\nimport { Client as IClient, Command, MetadataBearer, RequestHandler } from \"@aws-sdk/types\";\n\nexport interface SmithyConfiguration {\n requestHandler: RequestHandler;\n /**\n * The API version set internally by the SDK, and is\n * not planned to be used by customer code.\n * @internal\n */\n readonly apiVersion: string;\n}\n\nexport type SmithyResolvedConfiguration = SmithyConfiguration;\n\nexport class Client<\n HandlerOptions,\n ClientInput extends object,\n ClientOutput extends MetadataBearer,\n ResolvedClientConfiguration extends SmithyResolvedConfiguration\n> implements IClient {\n public middlewareStack = constructStack();\n readonly config: ResolvedClientConfiguration;\n constructor(config: ResolvedClientConfiguration) {\n this.config = config;\n }\n send(\n command: Command>,\n options?: HandlerOptions\n ): Promise;\n send(\n command: Command>,\n cb: (err: any, data?: OutputType) => void\n ): void;\n send(\n command: Command>,\n options: HandlerOptions,\n cb: (err: any, data?: OutputType) => void\n ): void;\n send(\n command: Command>,\n optionsOrCb?: HandlerOptions | ((err: any, data?: OutputType) => void),\n cb?: (err: any, data?: OutputType) => void\n ): Promise | void {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? (optionsOrCb as (err: any, data?: OutputType) => void) : cb;\n const handler = command.resolveMiddleware(this.middlewareStack as any, this.config, options);\n if (callback) {\n handler(command)\n .then(\n (result) => callback(null, result.output),\n (err: any) => callback(err)\n )\n .catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n () => {}\n );\n } else {\n return handler(command).then((result) => result.output);\n }\n }\n\n destroy() {\n if (this.config.requestHandler.destroy) this.config.requestHandler.destroy();\n }\n}\n","import { constructStack } from \"@aws-sdk/middleware-stack\";\nimport { Command as ICommand, Handler, MetadataBearer, MiddlewareStack as IMiddlewareStack } from \"@aws-sdk/types\";\n\nexport abstract class Command<\n Input extends ClientInput,\n Output extends ClientOutput,\n ResolvedClientConfiguration,\n ClientInput extends object = any,\n ClientOutput extends MetadataBearer = any\n> implements ICommand {\n abstract input: Input;\n readonly middlewareStack: IMiddlewareStack = constructStack();\n abstract resolveMiddleware(\n stack: IMiddlewareStack,\n configuration: ResolvedClientConfiguration,\n options: any\n ): Handler;\n}\n","/**\n * Function that wraps encodeURIComponent to encode additional characters\n * to fully adhere to RFC 3986.\n */\nexport function extendedEncodeURIComponent(str: string): string {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n","/**\n * The XML parser will set one K:V for a member that could\n * return multiple entries but only has one.\n */\nexport const getArrayIfSingleItem = (mayBeArray: T): T | T[] =>\n Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n","/**\n * Recursively parses object and populates value is node from\n * \"#text\" key if it's available\n */\nexport const getValueFromTextNode = (obj: any) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n } else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n","/**\n * Lazy String holder for JSON typed contents.\n */\n\ninterface StringWrapper {\n new (arg: any): String;\n}\n\n/**\n * Because of https://github.com/microsoft/tslib/issues/95,\n * TS 'extends' shim doesn't support extending native types like String.\n * So here we create StringWrapper that duplicate everything from String\n * class including its prototype chain. So we can extend from here.\n */\n// @ts-ignore StringWrapper implementation is not a simple constructor\nexport const StringWrapper: StringWrapper = function () {\n //@ts-ignore 'this' cannot be assigned to any, but Object.getPrototypeOf accepts any\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null as any, ...arguments]);\n //@ts-ignore Call wrapped String constructor directly, don't bother typing it.\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance as String;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\n\nexport class LazyJsonString extends StringWrapper {\n deserializeJSON(): any {\n return JSON.parse(super.toString());\n }\n\n toJSON(): string {\n return super.toString();\n }\n\n static fromObject(object: any): LazyJsonString {\n if (object instanceof LazyJsonString) {\n return object;\n } else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\n","/**\n * Builds a proper UTC HttpDate timestamp from a Date object\n * since not all environments will have this as the expected\n * format.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\n * > Prior to ECMAScript 2018, the format of the return value\n * > varied according to the platform. The most common return\n * > value was an RFC-1123 formatted date stamp, which is a\n * > slightly updated version of RFC-822 date stamps.\n */\n\n// Build indexes outside so we allocate them once.\nconst days: Array = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n// prettier-ignore\nconst months: Array = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\nexport function dateToUtcString(date: Date): string {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n\n // Build 0 prefixed strings for contents that need to be\n // two digits and where we get an integer back.\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n\n return `${days[dayOfWeek]}, ${dayOfMonthString} ${months[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\n","export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n","export * from \"./client\";\nexport * from \"./command\";\nexport * from \"./document-type\";\nexport * from \"./exception\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./get-array-if-single-item\";\nexport * from \"./get-value-from-text-node\";\nexport * from \"./lazy-json\";\nexport * from \"./date-utils\";\nexport * from \"./split-every\";\nexport * from \"./constants\";\nexport * from \"./retryable-trait\";\nexport * from \"./sdk-error\";\n","import { CognitoIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../CognitoIdentityClient\";\nimport { GetCredentialsForIdentityInput, GetCredentialsForIdentityResponse } from \"../models/models_0\";\nimport {\n deserializeAws_json1_1GetCredentialsForIdentityCommand,\n serializeAws_json1_1GetCredentialsForIdentityCommand,\n} from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type GetCredentialsForIdentityCommandInput = GetCredentialsForIdentityInput;\nexport type GetCredentialsForIdentityCommandOutput = GetCredentialsForIdentityResponse & __MetadataBearer;\n\n/**\n *

Returns credentials for the provided identity ID. Any provided logins will be\n * validated against supported login providers. If the token is for\n * cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n * with the appropriate role for the token.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nexport class GetCredentialsForIdentityCommand extends $Command<\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n CognitoIdentityClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: GetCredentialsForIdentityCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: CognitoIdentityClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"CognitoIdentityClient\";\n const commandName = \"GetCredentialsForIdentityCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: GetCredentialsForIdentityInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetCredentialsForIdentityResponse.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: GetCredentialsForIdentityCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_json1_1GetCredentialsForIdentityCommand(input, context);\n }\n\n private deserialize(\n output: __HttpResponse,\n context: __SerdeContext\n ): Promise {\n return deserializeAws_json1_1GetCredentialsForIdentityCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","/**\n * An error representing a failure of an individual credential provider.\n *\n * This error class has special meaning to the {@link chain} method. If a\n * provider in the chain is rejected with an error, the chain will only proceed\n * to the next provider if the value of the `tryNextLink` property on the error\n * is truthy. This allows individual providers to halt the chain and also\n * ensures the chain will stop if an entirely unexpected error is encountered.\n */\nexport class ProviderError extends Error {\n constructor(message: string, public readonly tryNextLink: boolean = true) {\n super(message);\n }\n}\n","import { Provider } from \"@aws-sdk/types\";\n\nimport { ProviderError } from \"./ProviderError\";\n\n/**\n * Compose a single credential provider function from multiple credential\n * providers. The first provider in the argument list will always be invoked;\n * subsequent providers in the list will be invoked in the order in which the\n * were received if the preceding provider did not successfully resolve.\n *\n * If no providers were received or no provider resolves successfully, the\n * returned promise will be rejected.\n */\nexport function chain(...providers: Array>): Provider {\n return () => {\n let promise: Promise = Promise.reject(new ProviderError(\"No providers in chain\"));\n for (const provider of providers) {\n promise = promise.catch((err: any) => {\n if (err?.tryNextLink) {\n return provider();\n }\n\n throw err;\n });\n }\n\n return promise;\n };\n}\n","export * from \"./chain\";\nexport * from \"./fromStatic\";\nexport * from \"./memoize\";\nexport * from \"./ProviderError\";\n","import { Logins, ResolvedLogins } from \"./Logins\";\n\n/**\n * @internal\n */\nexport function resolveLogins(logins: Logins): Promise {\n return Promise.all(\n Object.keys(logins).reduce((arr: Array<[string, string] | Promise<[string, string]>>, name: string) => {\n const tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider] as [string, string]);\n } else {\n arr.push(tokenOrProvider().then((token) => [name, token] as [string, string]));\n }\n return arr;\n }, [] as Array>)\n ).then((resolvedPairs) =>\n resolvedPairs.reduce((logins: ResolvedLogins, [key, value]) => {\n logins[key] = value;\n return logins;\n }, {} as ResolvedLogins)\n );\n}\n","import { GetCredentialsForIdentityCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { CredentialProvider, Credentials } from \"@aws-sdk/types\";\n\nimport { CognitoProviderParameters } from \"./CognitoProviderParameters\";\nimport { resolveLogins } from \"./resolveLogins\";\n\nexport interface CognitoIdentityCredentials extends Credentials {\n /**\n * The Cognito ID returned by the last call to AWS.CognitoIdentity.getOpenIdToken().\n */\n identityId: string;\n}\n\n/**\n * Retrieves temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from this function call are not cached internally.\n */\nexport function fromCognitoIdentity(parameters: FromCognitoIdentityParameters): CredentialProvider {\n return async (): Promise => {\n const {\n Credentials: {\n AccessKeyId = throwOnMissingAccessKeyId(),\n Expiration,\n SecretKey = throwOnMissingSecretKey(),\n SessionToken,\n } = throwOnMissingCredentials(),\n } = await parameters.client.send(\n new GetCredentialsForIdentityCommand({\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId,\n Logins: parameters.logins ? await resolveLogins(parameters.logins) : undefined,\n })\n );\n\n return {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n };\n };\n}\n\nexport interface FromCognitoIdentityParameters extends CognitoProviderParameters {\n /**\n * The unique identifier for the identity against which credentials will be\n * issued.\n */\n identityId: string;\n}\n\nfunction throwOnMissingAccessKeyId(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no access key ID\");\n}\n\nfunction throwOnMissingCredentials(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no credentials\");\n}\n\nfunction throwOnMissingSecretKey(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no secret key\");\n}\n","import { CognitoIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../CognitoIdentityClient\";\nimport { GetIdInput, GetIdResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetIdCommand, serializeAws_json1_1GetIdCommand } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type GetIdCommandInput = GetIdInput;\nexport type GetIdCommandOutput = GetIdResponse & __MetadataBearer;\n\n/**\n *

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n * implicit linked account.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nexport class GetIdCommand extends $Command {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: GetIdCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: CognitoIdentityClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"CognitoIdentityClient\";\n const commandName = \"GetIdCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: GetIdInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetIdResponse.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: GetIdCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_json1_1GetIdCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_json1_1GetIdCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { Storage } from \"./Storage\";\n\nconst STORE_NAME = \"IdentityIds\";\n\nexport class IndexedDbStorage implements Storage {\n constructor(private readonly dbName: string = \"aws:cognito-identity-ids\") {}\n\n getItem(key: string): Promise {\n return this.withObjectStore(\"readonly\", (store) => {\n const req = store.get(key);\n\n return new Promise((resolve) => {\n req.onerror = () => resolve(null);\n\n req.onsuccess = () => resolve(req.result ? req.result.value : null);\n });\n }).catch(() => null);\n }\n\n removeItem(key: string): Promise {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.delete(key);\n\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n\n req.onsuccess = () => resolve();\n });\n });\n }\n\n setItem(id: string, value: string): Promise {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.put({ id, value });\n\n return new Promise((resolve, reject) => {\n req.onerror = () => reject(req.error);\n\n req.onsuccess = () => resolve();\n });\n });\n }\n\n private getDb(): Promise {\n const openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise((resolve, reject) => {\n openDbRequest.onsuccess = () => {\n resolve(openDbRequest.result);\n };\n\n openDbRequest.onerror = () => {\n reject(openDbRequest.error);\n };\n\n openDbRequest.onblocked = () => {\n reject(new Error(\"Unable to access DB\"));\n };\n\n openDbRequest.onupgradeneeded = () => {\n const db = openDbRequest.result;\n db.onerror = () => {\n reject(new Error(\"Failed to create object store\"));\n };\n\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n }\n\n private withObjectStore(mode: IDBTransactionMode, action: (store: IDBObjectStore) => Promise): Promise {\n return this.getDb().then((db) => {\n const tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = () => db.close();\n\n return new Promise((resolve, reject) => {\n tx.onerror = () => reject(tx.error);\n\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch((err) => {\n db.close();\n throw err;\n });\n });\n }\n}\n","import { Storage } from \"./Storage\";\n\nexport class InMemoryStorage implements Storage {\n constructor(private store: { [key: string]: string } = {}) {}\n\n getItem(key: string): string | null {\n if (key in this.store) {\n return this.store[key];\n }\n\n return null;\n }\n\n removeItem(key: string): void {\n delete this.store[key];\n }\n\n setItem(key: string, value: string): void {\n this.store[key] = value;\n }\n}\n","import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nimport { Storage } from \"./Storage\";\n\nconst inMemoryStorage = new InMemoryStorage();\n\nexport function localStorage(): Storage {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n\n return inMemoryStorage;\n}\n","import { GetIdCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { CredentialProvider } from \"@aws-sdk/types\";\n\nimport { CognitoProviderParameters } from \"./CognitoProviderParameters\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\nimport { Storage } from \"./Storage\";\n\n/**\n * Retrieves or generates a unique identifier using Amazon Cognito's `GetId`\n * operation, then generates temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from `GetId` are cached internally, but results from\n * `GetCredentialsForIdentity` are not.\n */\nexport function fromCognitoIdentityPool({\n accountId,\n cache = localStorage(),\n client,\n customRoleArn,\n identityPoolId,\n logins,\n userIdentifier = !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined,\n}: FromCognitoIdentityPoolParameters): CredentialProvider {\n const cacheKey = userIdentifier ? `aws:cognito-identity-credentials:${identityPoolId}:${userIdentifier}` : undefined;\n\n let provider: CredentialProvider = async () => {\n let identityId = cacheKey && (await cache.getItem(cacheKey));\n if (!identityId) {\n const { IdentityId = throwOnMissingId() } = await client.send(\n new GetIdCommand({\n AccountId: accountId,\n IdentityPoolId: identityPoolId,\n Logins: logins ? await resolveLogins(logins) : undefined,\n })\n );\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(() => {});\n }\n }\n\n provider = fromCognitoIdentity({\n client,\n customRoleArn,\n logins,\n identityId,\n });\n\n return provider();\n };\n\n return () =>\n provider().catch(async (err) => {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(() => {});\n }\n\n throw err;\n });\n}\n\nexport interface FromCognitoIdentityPoolParameters extends CognitoProviderParameters {\n /**\n * A standard AWS account ID (9+ digits).\n */\n accountId?: string;\n\n /**\n * A cache in which to store resolved Cognito IdentityIds. If not supplied,\n * the credential provider will attempt to store IdentityIds in one of the\n * following (in order of preference):\n * 1. IndexedDB\n * 2. LocalStorage\n * 3. An in-memory cache object that will not persist between pages.\n *\n * IndexedDB is preferred to maximize data sharing between top-level\n * browsing contexts and web workers.\n *\n * The provider will not cache IdentityIds of authenticated users unless a\n * separate `userIdentitifer` parameter is supplied.\n */\n cache?: Storage;\n\n /**\n * The unique identifier for the identity pool from which an identity should\n * be retrieved or generated.\n */\n identityPoolId: string;\n\n /**\n * A unique identifier for the user. This is distinct from a Cognito\n * IdentityId and should instead be an identifier meaningful to your\n * application. Used to cache Cognito IdentityIds on a per-user basis.\n */\n userIdentifier?: string;\n}\n\nfunction throwOnMissingId(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no identity ID\");\n}\n","export const escapeUri = (uri: string): string =>\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n\nconst hexEncode = (c: string) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { QueryParameterBag } from \"@aws-sdk/types\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n\nexport function buildQueryString(query: QueryParameterBag): string {\n const parts: string[] = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n } else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n\n return parts.join(\"&\");\n}\n","export function requestTimeout(timeoutInMs = 0): Promise {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n","import { HttpHandler, HttpRequest, HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { HeaderBag, HttpHandlerOptions } from \"@aws-sdk/types\";\n\nimport { requestTimeout } from \"./request-timeout\";\n\ndeclare let AbortController: any;\n\n/**\n * Represents the http options that can be passed to a browser http client.\n */\nexport interface FetchHttpHandlerOptions {\n /**\n * The number of milliseconds a request can take before being automatically\n * terminated.\n */\n requestTimeout?: number;\n}\n\nexport class FetchHttpHandler implements HttpHandler {\n private readonly requestTimeout?: number;\n\n constructor({ requestTimeout }: FetchHttpHandlerOptions = {}) {\n this.requestTimeout = requestTimeout;\n }\n\n destroy(): void {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the browser.\n }\n\n handle(request: HttpRequest, { abortSignal }: HttpHandlerOptions = {}): Promise<{ response: HttpResponse }> {\n const requestTimeoutInMs = this.requestTimeout;\n\n // if the request was already aborted, prevent doing extra work\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n\n let path = request.path;\n if (request.query) {\n const queryString = buildQueryString(request.query);\n if (queryString) {\n path += `?${queryString}`;\n }\n }\n\n const { port, method } = request;\n const url = `${request.protocol}//${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n // Request constructor doesn't allow GET/HEAD request with body\n // ref: https://github.com/whatwg/fetch/issues/551\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions: RequestInit = {\n body,\n headers: new Headers(request.headers),\n method: method,\n };\n\n // some browsers support abort signal\n if (typeof AbortController !== \"undefined\") {\n (requestOptions as any)[\"signal\"] = abortSignal;\n }\n\n const fetchRequest = new Request(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders: any = response.headers;\n const transformedHeaders: HeaderBag = {};\n\n for (const pair of >fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n\n const hasReadableStream = response.body !== undefined;\n\n // Return the response with buffered body\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body,\n }),\n }));\n }\n // Return the response with streaming body\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(\n new Promise((resolve, reject) => {\n abortSignal.onabort = () => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n })\n );\n }\n return Promise.race(raceOfPromises);\n }\n}\n","const alphabetByEncoding: { [key: string]: number } = {};\nconst alphabetByValue: Array = new Array(64);\n\nfor (let i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\n\nfor (let i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n const index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\n\nfor (let i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n const char = i.toString(10);\n const index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\n\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\n\nconst bitsPerLetter = 6;\nconst bitsPerByte = 8;\nconst maxLetterValue = 0b111111;\n\n/**\n * Converts a base-64 encoded string to a Uint8Array of bytes.\n *\n * @param input The base-64 encoded string\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function fromBase64(input: string): Uint8Array {\n let totalByteLength = (input.length / 4) * 3;\n if (input.substr(-2) === \"==\") {\n totalByteLength -= 2;\n } else if (input.substr(-1) === \"=\") {\n totalByteLength--;\n }\n const out = new ArrayBuffer(totalByteLength);\n const dataView = new DataView(out);\n for (let i = 0; i < input.length; i += 4) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n } else {\n bits >>= bitsPerLetter;\n }\n }\n\n const chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n const byteLength = Math.floor(bitLength / bitsPerByte);\n for (let k = 0; k < byteLength; k++) {\n const offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n\n return new Uint8Array(out);\n}\n\n/**\n * Converts a Uint8Array of binary data to a base-64 encoded string.\n *\n * @param input The binary data to encode\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function toBase64(input: Uint8Array): string {\n let str = \"\";\n for (let i = 0; i < input.length; i += 3) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n\n const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (let k = 1; k <= bitClusterCount; k++) {\n const offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n\n return str;\n}\n","import { StreamCollector } from \"@aws-sdk/types\";\nimport { fromBase64 } from \"@aws-sdk/util-base64-browser\";\n\n//reference: https://snack.expo.io/r1JCSWRGU\nexport const streamCollector: StreamCollector = (stream: Blob | ReadableStream): Promise => {\n if (typeof Blob === \"function\" && stream instanceof Blob) {\n return collectBlob(stream);\n }\n\n return collectStream(stream as ReadableStream);\n};\n\nasync function collectBlob(blob: Blob): Promise {\n const base64 = await readToBase64(blob);\n const arrayBuffer = fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\n\nasync function collectStream(stream: ReadableStream): Promise {\n let res = new Uint8Array(0);\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n const prior = res;\n res = new Uint8Array(prior.length + value.length);\n res.set(prior);\n res.set(value, prior.length);\n }\n isDone = done;\n }\n return res;\n}\n\nfunction readToBase64(blob: Blob): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\") as string;\n // Response can include only 'data:' for empty blob, return empty string in this case.\n // Otherwise, return the string after ','\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n // reader.readAsArrayBuffer is not always available\n reader.readAsDataURL(blob);\n });\n}\n","export * from \"./fetch-http-handler\";\nexport * from \"./stream-collector\";\n","import { Provider } from \"@aws-sdk/types\";\nexport const invalidProvider: (message: string) => Provider = (message: string) => () => Promise.reject(message);\n","import {\n AbsoluteLocation,\n FinalizeHandler,\n FinalizeHandlerArguments,\n FinalizeHandlerOutput,\n FinalizeRequestHandlerOptions,\n HandlerExecutionContext,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nimport { RetryResolvedConfig } from \"./configurations\";\n\nexport const retryMiddleware = (options: RetryResolvedConfig) => (\n next: FinalizeHandler,\n context: HandlerExecutionContext\n): FinalizeHandler => async (\n args: FinalizeHandlerArguments\n): Promise> => {\n if (options?.retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", options.retryStrategy.mode]];\n return options.retryStrategy.retry(next, args);\n};\n\nexport const retryMiddlewareOptions: FinalizeRequestHandlerOptions & AbsoluteLocation = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\n\nexport const getRetryPlugin = (options: RetryResolvedConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n FinalizeHandler,\n FinalizeHandlerArguments,\n FinalizeHandlerOutput,\n MetadataBearer,\n Pluggable,\n RelativeMiddlewareOptions,\n} from \"@aws-sdk/types\";\n\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"./constants\";\n\nexport const omitRetryHeadersMiddleware = () => (\n next: FinalizeHandler\n): FinalizeHandler => async (\n args: FinalizeHandlerArguments\n): Promise> => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n delete request.headers[INVOCATION_ID_HEADER];\n delete request.headers[REQUEST_HEADER];\n }\n return next(args);\n};\n\nexport const omitRetryHeadersMiddlewareOptions: RelativeMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\n\nexport const getOmitRetryHeadersPlugin = (options: unknown): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n","/**\n * Errors encountered when the client clock and server clock cannot agree on the\n * current time.\n *\n * These errors are retryable, assuming the SDK has enabled clock skew\n * correction.\n */\nexport const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\n\n/**\n * Errors that indicate the SDK is being throttled.\n *\n * These errors are always retryable.\n */\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\", // DynamoDB\n];\n\n/**\n * Error codes that indicate transient issues\n */\nexport const TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\n\n/**\n * Error codes that indicate transient issues\n */\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\n","import { SdkError } from \"@aws-sdk/smithy-client\";\n\nimport {\n CLOCK_SKEW_ERROR_CODES,\n THROTTLING_ERROR_CODES,\n TRANSIENT_ERROR_CODES,\n TRANSIENT_ERROR_STATUS_CODES,\n} from \"./constants\";\n\nexport const isRetryableByTrait = (error: SdkError) => error.$retryable !== undefined;\n\nexport const isClockSkewError = (error: SdkError) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\n\nexport const isThrottlingError = (error: SdkError) =>\n error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\n\nexport const isTransientError = (error: SdkError) =>\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0);\n","/**\n * The base number of milliseconds to use in calculating a suitable cool-down\n * time when a retryable error is encountered.\n */\nexport const DEFAULT_RETRY_DELAY_BASE = 100;\n\n/**\n * The maximum amount of time (in milliseconds) that will be used as a delay\n * between retry attempts.\n */\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\n\n/**\n * The retry delay base (in milliseconds) to use when a throttling error is\n * encountered.\n */\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\n\n/**\n * Initial number of retry tokens in Retry Quota\n */\nexport const INITIAL_RETRY_TOKENS = 500;\n\n/**\n * The total amount of retry tokens to be decremented from retry token balance.\n */\nexport const RETRY_COST = 5;\n\n/**\n * The total amount of retry tokens to be decremented from retry token balance\n * when a throttling error is encountered.\n */\nexport const TIMEOUT_RETRY_COST = 10;\n\n/**\n * The total amount of retry token to be incremented from retry token balance\n * if an SDK operation invocation succeeds without requiring a retry request.\n */\nexport const NO_RETRY_INCREMENT = 1;\n\n/**\n * Header name for SDK invocation ID\n */\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\n\n/**\n * Header name for request retry information.\n */\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n","import { SdkError } from \"@aws-sdk/smithy-client\";\n\nimport { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"./constants\";\nimport { RetryQuota } from \"./defaultStrategy\";\n\nexport const getDefaultRetryQuota = (initialRetryTokens: number): RetryQuota => {\n const MAX_CAPACITY = initialRetryTokens;\n let availableCapacity = initialRetryTokens;\n\n const getCapacityAmount = (error: SdkError) => (error.name === \"TimeoutError\" ? TIMEOUT_RETRY_COST : RETRY_COST);\n\n const hasRetryTokens = (error: SdkError) => getCapacityAmount(error) <= availableCapacity;\n\n const retrieveRetryTokens = (error: SdkError) => {\n if (!hasRetryTokens(error)) {\n // retryStrategy should stop retrying, and return last error\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n\n const releaseRetryTokens = (capacityReleaseAmount?: number) => {\n availableCapacity += capacityReleaseAmount ?? NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\n\n/**\n * Calculate a capped, fully-jittered exponential backoff time.\n */\nexport const defaultDelayDecider = (delayBase: number, attempts: number) =>\n Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n","import {\n isClockSkewError,\n isRetryableByTrait,\n isThrottlingError,\n isTransientError,\n} from \"@aws-sdk/service-error-classification\";\nimport { SdkError } from \"@aws-sdk/smithy-client\";\n\nexport const defaultRetryDecider = (error: SdkError) => {\n if (!error) {\n return false;\n }\n\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nimport { SdkError } from \"@aws-sdk/smithy-client\";\nimport { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, RetryStrategy } from \"@aws-sdk/types\";\nimport { v4 } from \"uuid\";\n\nimport {\n DEFAULT_RETRY_DELAY_BASE,\n INITIAL_RETRY_TOKENS,\n INVOCATION_ID_HEADER,\n REQUEST_HEADER,\n THROTTLING_RETRY_DELAY_BASE,\n} from \"./constants\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\n\n/**\n * The default value for how many HTTP requests an SDK should make for a\n * single SDK operation invocation before giving up\n */\nexport const DEFAULT_MAX_ATTEMPTS = 3;\n\n/**\n * The default retry algorithm to use.\n */\nexport const DEFAULT_RETRY_MODE = \"standard\";\n\n/**\n * Determines whether an error is retryable based on the number of retries\n * already attempted, the HTTP status code, and the error received (if any).\n *\n * @param error The error encountered.\n */\nexport interface RetryDecider {\n (error: SdkError): boolean;\n}\n\n/**\n * Determines the number of milliseconds to wait before retrying an action.\n *\n * @param delayBase The base delay (in milliseconds).\n * @param attempts The number of times the action has already been tried.\n */\nexport interface DelayDecider {\n (delayBase: number, attempts: number): number;\n}\n\n/**\n * Interface that specifies the retry quota behavior.\n */\nexport interface RetryQuota {\n /**\n * returns true if retry tokens are available from the retry quota bucket.\n */\n hasRetryTokens: (error: SdkError) => boolean;\n\n /**\n * returns token amount from the retry quota bucket.\n * throws error is retry tokens are not available.\n */\n retrieveRetryTokens: (error: SdkError) => number;\n\n /**\n * releases tokens back to the retry quota.\n */\n releaseRetryTokens: (releaseCapacityAmount?: number) => void;\n}\n\n/**\n * Strategy options to be passed to StandardRetryStrategy\n */\nexport interface StandardRetryStrategyOptions {\n retryDecider?: RetryDecider;\n delayDecider?: DelayDecider;\n retryQuota?: RetryQuota;\n}\n\nexport class StandardRetryStrategy implements RetryStrategy {\n private retryDecider: RetryDecider;\n private delayDecider: DelayDecider;\n private retryQuota: RetryQuota;\n public readonly mode = DEFAULT_RETRY_MODE;\n\n constructor(private readonly maxAttemptsProvider: Provider, options?: StandardRetryStrategyOptions) {\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n\n private shouldRetry(error: SdkError, attempts: number, maxAttempts: number) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n\n private async getMaxAttempts() {\n let maxAttempts: number;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n } catch (error) {\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n\n async retry(\n next: FinalizeHandler,\n args: FinalizeHandlerArguments\n ) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n\n const maxAttempts = await this.getMaxAttempts();\n\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n\n while (true) {\n try {\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n\n return { response, output };\n } catch (err) {\n attempts++;\n if (this.shouldRetry(err as SdkError, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delay = this.delayDecider(\n isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE,\n attempts\n );\n totalDelay += delay;\n\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n\n if (!err.$metadata) {\n err.$metadata = {};\n }\n\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\n","import { LoadedConfigSelectors } from \"@aws-sdk/node-config-provider\";\nimport { Provider, RetryStrategy } from \"@aws-sdk/types\";\n\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, StandardRetryStrategy } from \"./defaultStrategy\";\n\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\n\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS: LoadedConfigSelectors = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value) return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value) return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\n\nexport interface RetryInputConfig {\n /**\n * The maximum number of times requests that encounter retryable failures should be attempted.\n */\n maxAttempts?: number | Provider;\n /**\n * The strategy to retry the request. Using built-in exponential backoff strategy by default.\n */\n retryStrategy?: RetryStrategy;\n}\n\ninterface PreviouslyResolved {}\nexport interface RetryResolvedConfig {\n maxAttempts: Provider;\n retryStrategy: RetryStrategy;\n}\n\nexport const resolveRetryConfig = (input: T & PreviouslyResolved & RetryInputConfig): T & RetryResolvedConfig => {\n const maxAttempts = normalizeMaxAttempts(input.maxAttempts);\n return {\n ...input,\n maxAttempts,\n retryStrategy: input.retryStrategy || new StandardRetryStrategy(maxAttempts),\n };\n};\n\nconst normalizeMaxAttempts = (maxAttempts: number | Provider = DEFAULT_MAX_ATTEMPTS): Provider => {\n if (typeof maxAttempts === \"number\") {\n const promisified = Promise.resolve(maxAttempts);\n return () => promisified;\n }\n return maxAttempts;\n};\n\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\n\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS: LoadedConfigSelectors = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n","export * from \"./retryMiddleware\";\nexport * from \"./omitRetryHeadersMiddleware\";\nexport * from \"./defaultStrategy\";\nexport * from \"./configurations\";\nexport * from \"./delayDecider\";\nexport * from \"./retryDecider\";\n","export function calculateBodyLength(body: any): number | undefined {\n if (typeof body === \"string\") {\n let len = body.length;\n\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff) len++;\n else if (code > 0x7ff && code <= 0xffff) len += 2;\n }\n\n return len;\n } else if (typeof body.byteLength === \"number\") {\n // handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView\n return body.byteLength;\n } else if (typeof body.size === \"number\") {\n // handles browser File object\n return body.size;\n }\n}\n","import { Provider, UserAgent } from \"@aws-sdk/types\";\nimport bowser from \"bowser\";\n\nimport { DefaultUserAgentOptions } from \"./configurations\";\n\n/**\n * Default provider to the user agent in browsers. It's a best effort to infer\n * the device information. It uses bowser library to detect the browser and virsion\n */\nexport const defaultUserAgent = ({\n serviceId,\n clientVersion,\n}: DefaultUserAgentOptions): Provider => async () => {\n const parsedUA = window?.navigator?.userAgent ? bowser.parse(window.navigator.userAgent) : undefined;\n const sections: UserAgent = [\n // sdk-metadata\n [\"aws-sdk-js\", clientVersion],\n // os-metadata\n [`os/${parsedUA?.os?.name || \"other\"}`, parsedUA?.os?.version],\n // language-metadata\n // ECMAScript edition doesn't matter in JS.\n [\"lang/js\"],\n // browser vendor and version.\n [\"md/browser\", `${parsedUA?.browser?.name ?? \"unknown\"}_${parsedUA?.browser?.version ?? \"unknown\"}`],\n ];\n\n if (serviceId) {\n // api-metadata\n // service Id may not appear in non-AWS clients\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n\n return sections;\n};\n","import { RegionInfo, RegionInfoProvider } from \"@aws-sdk/types\";\n\n// Partition default templates\nconst AWS_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\nconst AWS_CN_TEMPLATE = \"cognito-identity.{region}.amazonaws.com.cn\";\nconst AWS_ISO_TEMPLATE = \"cognito-identity.{region}.c2s.ic.gov\";\nconst AWS_ISO_B_TEMPLATE = \"cognito-identity.{region}.sc2s.sgov.gov\";\nconst AWS_US_GOV_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\n\n// Partition regions\nconst AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nconst AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nconst AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nconst AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nconst AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\n\nexport const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => {\n let regionInfo: RegionInfo | undefined = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"fips-us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-2\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"fips-us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-west-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-west-2\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve({ signingService: \"cognito-identity\", ...regionInfo });\n};\n","import { QueryParameterBag } from \"@aws-sdk/types\";\n\nexport function parseQueryString(querystring: string): QueryParameterBag {\n const query: QueryParameterBag = {};\n querystring = querystring.replace(/^\\?/, \"\");\n\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n (query[key] as Array).push(value as string);\n } else {\n query[key] = [query[key] as string, value as string];\n }\n }\n }\n\n return query;\n}\n","import { parseQueryString } from \"@aws-sdk/querystring-parser\";\nimport { Endpoint, QueryParameterBag, UrlParser } from \"@aws-sdk/types\";\n\nexport const parseUrl: UrlParser = (url: string): Endpoint => {\n const { hostname, pathname, port, protocol, search } = new URL(url);\n\n let query: QueryParameterBag | undefined;\n if (search) {\n query = parseQueryString(search);\n }\n\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { Logger as __Logger } from \"@aws-sdk/types\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n\n/**\n * @internal\n */\nexport const ClientSharedValues = {\n apiVersion: \"2014-06-30\",\n disableHostPrefix: false,\n logger: {} as __Logger,\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"Cognito Identity\",\n urlParser: parseUrl,\n};\n","import packageInfo from \"./package.json\";\n\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientDefaults } from \"./CognitoIdentityClient\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n\n/**\n * @internal\n */\nexport const ClientDefaultValues: Required = {\n ...ClientSharedValues,\n runtime: \"browser\",\n base64Decoder: fromBase64,\n base64Encoder: toBase64,\n bodyLengthChecker: calculateBodyLength,\n credentialDefaultProvider: (_: unknown) => () => Promise.reject(new Error(\"Credential is missing\")),\n defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }),\n maxAttempts: DEFAULT_MAX_ATTEMPTS,\n region: invalidProvider(\"Region is missing\"),\n requestHandler: new FetchHttpHandler(),\n sha256: Sha256,\n streamCollector,\n utf8Decoder: fromUtf8,\n utf8Encoder: toUtf8,\n};\n","import { Endpoint, Provider, RegionInfoProvider, UrlParser } from \"@aws-sdk/types\";\n\nexport interface EndpointsInputConfig {\n /**\n * The fully qualified endpoint of the webservice. This is only required when using a custom endpoint (for example, when using a local version of S3).\n */\n endpoint?: string | Endpoint | Provider;\n\n /**\n * Whether TLS is enabled for requests.\n */\n tls?: boolean;\n}\n\ninterface PreviouslyResolved {\n regionInfoProvider: RegionInfoProvider;\n urlParser: UrlParser;\n region: Provider;\n}\n\nexport interface EndpointsResolvedConfig extends Required {\n endpoint: Provider;\n isCustomEndpoint: boolean;\n}\n\nexport const resolveEndpointsConfig = (\n input: T & EndpointsInputConfig & PreviouslyResolved\n): T & EndpointsResolvedConfig => ({\n ...input,\n tls: input.tls ?? true,\n endpoint: input.endpoint ? normalizeEndpoint(input) : () => getEndPointFromRegion(input),\n isCustomEndpoint: input.endpoint ? true : false,\n});\n\nconst normalizeEndpoint = (input: EndpointsInputConfig & PreviouslyResolved): Provider => {\n const { endpoint, urlParser } = input;\n if (typeof endpoint === \"string\") {\n const promisified = Promise.resolve(urlParser(endpoint));\n return () => promisified;\n } else if (typeof endpoint === \"object\") {\n const promisified = Promise.resolve(endpoint);\n return () => promisified;\n }\n return endpoint!;\n};\n\nconst getEndPointFromRegion = async (input: EndpointsInputConfig & PreviouslyResolved) => {\n const { tls = true } = input;\n const region = await input.region();\n\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n\n const { hostname } = (await input.regionInfoProvider(region)) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\n","import { LoadedConfigSelectors, LocalConfigOptions } from \"@aws-sdk/node-config-provider\";\nimport { Provider } from \"@aws-sdk/types\";\n\nexport const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\n\nexport const NODE_REGION_CONFIG_OPTIONS: LoadedConfigSelectors = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\n\nexport const NODE_REGION_CONFIG_FILE_OPTIONS: LocalConfigOptions = {\n preferredFile: \"credentials\",\n};\n\nexport interface RegionInputConfig {\n /**\n * The AWS region to which this client will send requests\n */\n region?: string | Provider;\n}\n\ninterface PreviouslyResolved {}\n\nexport interface RegionResolvedConfig {\n region: Provider;\n}\n\nexport const resolveRegionConfig = (input: T & RegionInputConfig & PreviouslyResolved): T & RegionResolvedConfig => {\n if (!input.region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: normalizeRegion(input.region!),\n };\n};\n\nconst normalizeRegion = (region: string | Provider): Provider => {\n if (typeof region === \"string\") {\n const promisified = Promise.resolve(region);\n return () => promisified;\n }\n return region as Provider;\n};\n","export * from \"./EndpointsConfig\";\nexport * from \"./RegionConfig\";\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n BodyLengthCalculator,\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n BuildMiddleware,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nconst CONTENT_LENGTH_HEADER = \"content-length\";\n\nexport function contentLengthMiddleware(bodyLengthChecker: BodyLengthCalculator): BuildMiddleware {\n return (next: BuildHandler): BuildHandler => async (\n args: BuildHandlerArguments\n ): Promise> => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (\n body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1\n ) {\n const length = bodyLengthChecker(body);\n if (length !== undefined) {\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n }\n }\n\n return next({\n ...args,\n request,\n });\n };\n}\n\nexport const contentLengthMiddlewareOptions: BuildHandlerOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\n\nexport const getContentLengthPlugin = (options: { bodyLengthChecker: BodyLengthCalculator }): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { AbsoluteLocation, BuildHandlerOptions, BuildMiddleware, Pluggable, RequestHandler } from \"@aws-sdk/types\";\n\nexport interface HostHeaderInputConfig {}\ninterface PreviouslyResolved {\n requestHandler: RequestHandler;\n}\nexport interface HostHeaderResolvedConfig {\n requestHandler: RequestHandler;\n}\nexport function resolveHostHeaderConfig(\n input: T & PreviouslyResolved & HostHeaderInputConfig\n): T & HostHeaderResolvedConfig {\n return input;\n}\n\nexport const hostHeaderMiddleware = (\n options: HostHeaderResolvedConfig\n): BuildMiddleware => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n //For H2 request, remove 'host' header and use ':authority' header instead\n //reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n //non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.\n } else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return next(args);\n};\n\nexport const hostHeaderMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\n\nexport const getHostHeaderPlugin = (options: HostHeaderResolvedConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n","import { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport {\n AbsoluteLocation,\n HandlerExecutionContext,\n InitializeHandler,\n InitializeHandlerArguments,\n InitializeHandlerOptions,\n InitializeHandlerOutput,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nexport const loggerMiddleware = () => (\n next: InitializeHandler,\n context: HandlerExecutionContext\n): InitializeHandler => async (\n args: InitializeHandlerArguments\n): Promise> => {\n const { clientName, commandName, inputFilterSensitiveLog, logger, outputFilterSensitiveLog } = context;\n\n const response = await next(args);\n\n if (!logger) {\n return response;\n }\n\n if (typeof logger.info === \"function\") {\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger.info({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n\n return response;\n};\n\nexport const loggerMiddlewareOptions: InitializeHandlerOptions & AbsoluteLocation = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const getLoggerPlugin = (options: any): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n","export * from \"./loggerMiddleware\";\n","const SHORT_TO_HEX: { [key: number]: string } = {};\nconst HEX_TO_SHORT: { [key: string]: number } = {};\n\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nexport function fromHex(encoded: string): Uint8Array {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n } else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n\n return out;\n}\n\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nexport function toHex(bytes: Uint8Array): string {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n\n return out;\n}\n","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\n\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\n\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\n\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\n\nexport const SEC_HEADER_PATTERN = /^sec-/;\n\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\n\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\n\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\n\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\n\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { Credentials, HashConstructor, SourceData } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\n\nconst signingKeyCache: { [key: string]: Uint8Array } = {};\nconst cacheQueue: Array = [];\n\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate: string, region: string, service: string): string {\n return `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\n}\n\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport const getSigningKey = async (\n sha256Constructor: HashConstructor,\n credentials: Credentials,\n shortDate: string,\n region: string,\n service: string\n): Promise => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift() as string];\n }\n\n let key: SourceData = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key as Uint8Array);\n};\n\n/**\n * @internal\n */\nexport function clearCredentialCache(): void {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}\n\nfunction hmac(ctor: HashConstructor, secret: SourceData, data: SourceData): Promise {\n const hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n","import { HeaderBag, HttpRequest } from \"@aws-sdk/types\";\n\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalHeaders(\n { headers }: HttpRequest,\n unsignableHeaders?: Set,\n signableHeaders?: Set\n): HeaderBag {\n const canonical: HeaderBag = {};\n for (const headerName of Object.keys(headers).sort()) {\n const canonicalHeaderName = headerName.toLowerCase();\n if (\n canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)\n ) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n\n return canonical;\n}\n","export const escapeUri = (uri: string): string =>\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n\nconst hexEncode = (c: string) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { HttpRequest } from \"@aws-sdk/types\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n\nimport { SIGNATURE_HEADER } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalQuery({ query = {} }: HttpRequest): string {\n const keys: Array = [];\n const serialized: { [key: string]: string } = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${escapeUri(key)}=${escapeUri(value)}`;\n } else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(\n (encoded: Array, value: string) => encoded.concat([`${escapeUri(key)}=${escapeUri(value)}`]),\n []\n )\n .join(\"&\");\n }\n }\n\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized) // omit any falsy values\n .join(\"&\");\n}\n","export const isArrayBuffer = (arg: any): arg is ArrayBuffer =>\n (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","import { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { HashConstructor, HttpRequest } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n\n/**\n * @internal\n */\nexport async function getPayloadHash(\n { headers, body }: HttpRequest,\n hashConstructor: HashConstructor\n): Promise {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(body);\n return toHex(await hashCtor.digest());\n }\n\n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return UNSIGNED_PAYLOAD;\n}\n","import { HeaderBag } from \"@aws-sdk/types\";\n\nexport function hasHeader(soughtHeader: string, headers: HeaderBag): boolean {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n}\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\n/**\n * @internal\n */\nexport function cloneRequest({ headers, query, ...rest }: HttpRequest): HttpRequest {\n return {\n ...rest,\n headers: { ...headers },\n query: query ? cloneQuery(query) : undefined,\n };\n}\n\nfunction cloneQuery(query: QueryParameterBag): QueryParameterBag {\n return Object.keys(query).reduce((carry: QueryParameterBag, paramName: string) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\n\n/**\n * @internal\n */\nexport function moveHeadersToQuery(\n request: HttpRequest,\n options: { unhoistableHeaders?: Set } = {}\n): HttpRequest & { query: QueryParameterBag } {\n const { headers, query = {} as QueryParameterBag } =\n typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n\n return {\n ...request,\n headers,\n query,\n };\n}\n","import { HttpRequest } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n\n/**\n * @internal\n */\nexport function prepareRequest(request: HttpRequest): HttpRequest {\n // Create a clone of the request object that does not clone the body\n request = typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n\n return request;\n}\n","export function iso8601(time: number | string | Date): string {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\n\nexport function toDate(time: number | string | Date): Date {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n\n return time;\n}\n","import {\n Credentials,\n DateInput,\n EventSigner,\n EventSigningArguments,\n FormattedEvent,\n HashConstructor,\n HeaderBag,\n HttpRequest,\n Provider,\n RequestPresigner,\n RequestPresigningArguments,\n RequestSigner,\n RequestSigningArguments,\n SigningArguments,\n StringSigner,\n} from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport {\n ALGORITHM_IDENTIFIER,\n ALGORITHM_QUERY_PARAM,\n AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM,\n EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM,\n MAX_PRESIGNED_TTL,\n SHA256_HEADER,\n SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n TOKEN_HEADER,\n TOKEN_QUERY_PARAM,\n} from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./hasHeader\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\n\nexport interface SignatureV4Init {\n /**\n * The service signing name.\n */\n service: string;\n\n /**\n * The region name or a function that returns a promise that will be\n * resolved with the region name.\n */\n region: string | Provider;\n\n /**\n * The credentials with which the request should be signed or a function\n * that returns a promise that will be resolved with credentials.\n */\n credentials: Credentials | Provider;\n\n /**\n * A constructor function for a hash object that will calculate SHA-256 HMAC\n * checksums.\n */\n sha256?: HashConstructor;\n\n /**\n * Whether to uri-escape the request URI path as part of computing the\n * canonical request string. This is required for every AWS service, except\n * Amazon S3, as of late 2017.\n *\n * @default [true]\n */\n uriEscapePath?: boolean;\n\n /**\n * Whether to calculate a checksum of the request body and include it as\n * either a request header (when signing) or as a query string parameter\n * (when presigning). This is required for AWS Glacier and Amazon S3 and optional for\n * every other AWS service as of late 2017.\n *\n * @default [true]\n */\n applyChecksum?: boolean;\n}\n\nexport interface SignatureV4CryptoInit {\n sha256: HashConstructor;\n}\n\nexport class SignatureV4 implements RequestPresigner, RequestSigner, StringSigner, EventSigner {\n private readonly service: string;\n private readonly regionProvider: Provider;\n private readonly credentialProvider: Provider;\n private readonly sha256: HashConstructor;\n private readonly uriEscapePath: boolean;\n private readonly applyChecksum: boolean;\n\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true,\n }: SignatureV4Init & SignatureV4CryptoInit) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeRegionProvider(region);\n this.credentialProvider = normalizeCredentialsProvider(credentials);\n }\n\n public async presign(originalRequest: HttpRequest, options: RequestPresigningArguments = {}): Promise {\n const {\n signingDate = new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n signingRegion,\n signingService,\n } = options;\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\"\n );\n }\n\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders });\n\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n\n return request;\n }\n\n public async sign(stringToSign: string, options?: SigningArguments): Promise;\n public async sign(event: FormattedEvent, options: EventSigningArguments): Promise;\n public async sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise;\n public async sign(toSign: any, options: any): Promise {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n\n private async signEvent(\n { headers, payload }: FormattedEvent,\n { signingDate = new Date(), priorSignature, signingRegion, signingService }: EventSigningArguments\n ): Promise {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload } as any, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n\n private async signString(\n stringToSign: string,\n { signingDate = new Date(), signingRegion, signingService }: SigningArguments = {}\n ): Promise {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private async signRequest(\n requestToSign: HttpRequest,\n {\n signingDate = new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService,\n }: RequestSigningArguments = {}\n ): Promise {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n\n return request;\n }\n\n private createCanonicalRequest(request: HttpRequest, canonicalHeaders: HeaderBag, payloadHash: string): string {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n\n private async createStringToSign(\n longDate: string,\n credentialScope: string,\n canonicalRequest: string\n ): Promise {\n const hash = new this.sha256();\n hash.update(canonicalRequest);\n const hashedRequest = await hash.digest();\n\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n\n private getCanonicalPath({ path }: HttpRequest): string {\n if (this.uriEscapePath) {\n const doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return `/${doubleEncoded.replace(/%2F/g, \"/\")}`;\n }\n\n return path;\n }\n\n private async getSignature(\n longDate: string,\n credentialScope: string,\n keyPromise: Promise,\n canonicalRequest: string\n ): Promise {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n\n const hash = new this.sha256(await keyPromise);\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private getSigningKey(\n credentials: Credentials,\n region: string,\n shortDate: string,\n service?: string\n ): Promise {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst formatDate = (now: DateInput): { longDate: string; shortDate: string } => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.substr(0, 8),\n };\n};\n\nconst getCanonicalHeaderList = (headers: object): string => Object.keys(headers).sort().join(\";\");\n\nconst normalizeRegionProvider = (region: string | Provider): Provider => {\n if (typeof region === \"string\") {\n const promisified = Promise.resolve(region);\n return () => promisified;\n } else {\n return region;\n }\n};\n\nconst normalizeCredentialsProvider = (credentials: Credentials | Provider): Provider => {\n if (typeof credentials === \"object\") {\n const promisified = Promise.resolve(credentials);\n return () => promisified;\n } else {\n return credentials;\n }\n};\n","export * from \"./credentialDerivation\";\nexport * from \"./SignatureV4\";\n","import { SignatureV4 } from \"@aws-sdk/signature-v4\";\nimport { Credentials, HashConstructor, Provider, RegionInfo, RegionInfoProvider, RequestSigner } from \"@aws-sdk/types\";\n\nexport interface AwsAuthInputConfig {\n /**\n * The credentials used to sign requests.\n */\n credentials?: Credentials | Provider;\n\n /**\n * The signer to use when signing requests.\n */\n signer?: RequestSigner | Provider;\n\n /**\n * Whether to escape request path when signing the request.\n */\n signingEscapePath?: boolean;\n\n /**\n * An offset value in milliseconds to apply to all signing times.\n */\n systemClockOffset?: number;\n\n /**\n * The region where you want to sign your request against. This\n * can be different to the region in the endpoint.\n */\n signingRegion?: string;\n}\ninterface PreviouslyResolved {\n credentialDefaultProvider: (input: any) => Provider;\n region: string | Provider;\n regionInfoProvider: RegionInfoProvider;\n signingName?: string;\n serviceId: string;\n sha256: HashConstructor;\n}\nexport interface AwsAuthResolvedConfig {\n credentials: Provider;\n signer: Provider;\n signingEscapePath: boolean;\n systemClockOffset: number;\n}\nexport function resolveAwsAuthConfig(input: T & AwsAuthInputConfig & PreviouslyResolved): T & AwsAuthResolvedConfig {\n const credentials = input.credentials || input.credentialDefaultProvider(input as any);\n const normalizedCreds = normalizeProvider(credentials);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer: Provider;\n if (input.signer) {\n //if signer is supplied by user, normalize it to a function returning a promise for signer.\n signer = normalizeProvider(input.signer);\n } else {\n //construct a provider inferring signing from region.\n signer = () =>\n normalizeProvider(input.region)()\n .then(async (region) => [(await input.regionInfoProvider(region)) || {}, region] as [RegionInfo, string])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n //update client's singing region and signing service config if they are resolved.\n //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region\n input.signingRegion = input.signingRegion || signingRegion || region;\n //signing name resolving order:\n //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id\n input.signingName = input.signingName || signingService || input.serviceId;\n\n return new SignatureV4({\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n });\n });\n }\n\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n}\n\nfunction normalizeProvider(input: T | Provider): Provider {\n if (typeof input === \"object\") {\n const promisified = Promise.resolve(input);\n return () => promisified;\n }\n return input as Provider;\n}\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n FinalizeHandler,\n FinalizeHandlerArguments,\n FinalizeHandlerOutput,\n FinalizeRequestMiddleware,\n HandlerExecutionContext,\n Pluggable,\n RelativeMiddlewareOptions,\n} from \"@aws-sdk/types\";\n\nimport { AwsAuthResolvedConfig } from \"./configurations\";\n\nconst isClockSkewed = (newServerTime: number, systemClockOffset: number) =>\n Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - newServerTime) >= 300000;\n\nconst getSkewCorrectedDate = (systemClockOffset: number) => new Date(Date.now() + systemClockOffset);\n\nexport function awsAuthMiddleware(\n options: AwsAuthResolvedConfig\n): FinalizeRequestMiddleware {\n return (next: FinalizeHandler, context: HandlerExecutionContext): FinalizeHandler =>\n async function (args: FinalizeHandlerArguments): Promise> {\n if (!HttpRequest.isInstance(args.request)) return next(args);\n const signer = typeof options.signer === \"function\" ? await options.signer() : options.signer;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, {\n signingDate: new Date(Date.now() + options.systemClockOffset),\n signingRegion: context[\"signing_region\"],\n signingService: context[\"signing_service\"],\n }),\n });\n\n const { headers } = output.response as any;\n const dateHeader = headers && (headers.date || headers.Date);\n if (dateHeader) {\n const serverTime = Date.parse(dateHeader);\n if (isClockSkewed(serverTime, options.systemClockOffset)) {\n options.systemClockOffset = serverTime - Date.now();\n }\n }\n\n return output;\n };\n}\n\nexport const awsAuthMiddlewareOptions: RelativeMiddlewareOptions = {\n name: \"awsAuthMiddleware\",\n tags: [\"SIGNATURE\", \"AWSAUTH\"],\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n override: true,\n};\n\nexport const getAwsAuthPlugin = (options: AwsAuthResolvedConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);\n },\n});\n","export * from \"./configurations\";\nexport * from \"./middleware\";\n","import { Provider, UserAgent } from \"@aws-sdk/types\";\nexport interface UserAgentInputConfig {\n /**\n * The custom user agent header that would be appended to default one\n */\n customUserAgent?: string | UserAgent;\n}\ninterface PreviouslyResolved {\n defaultUserAgentProvider: Provider;\n runtime: string;\n}\nexport interface UserAgentResolvedConfig {\n defaultUserAgentProvider: Provider;\n customUserAgent?: UserAgent;\n runtime: string;\n}\nexport function resolveUserAgentConfig(\n input: T & PreviouslyResolved & UserAgentInputConfig\n): T & UserAgentResolvedConfig {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\n","export const USER_AGENT = \"user-agent\";\n\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\n\nexport const SPACE = \" \";\n\nexport const UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n AbsoluteLocation,\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n HandlerExecutionContext,\n MetadataBearer,\n Pluggable,\n UserAgentPair,\n} from \"@aws-sdk/types\";\n\nimport { UserAgentResolvedConfig } from \"./configurations\";\nimport { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from \"./constants\";\n\n/**\n * Build user agent header sections from:\n * 1. runtime-specific default user agent provider;\n * 2. custom user agent from `customUserAgent` client config;\n * 3. handler execution context set by internal SDK components;\n * The built user agent will be set to `x-amz-user-agent` header for ALL the\n * runtimes.\n * Please note that any override to the `user-agent` or `x-amz-user-agent` header\n * in the HTTP request is discouraged. Please use `customUserAgent` client\n * config or middleware setting the `userAgent` context to generate desired user\n * agent.\n */\nexport const userAgentMiddleware = (options: UserAgentResolvedConfig) => (\n next: BuildHandler,\n context: HandlerExecutionContext\n): BuildHandler => async (args: BuildHandlerArguments): Promise> => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) return next(args);\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n // Set value to AWS-specific user agent header\n headers[X_AMZ_USER_AGENT] = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(SPACE);\n // Get value to be sent with non-AWS-specific user agent header.\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\" && normalUAValue) {\n headers[USER_AGENT] = headers[USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue;\n }\n\n return next({\n ...args,\n request,\n });\n};\n\n/**\n * Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.\n * User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.\n * @private\n */\nconst escapeUserAgent = ([name, version]: UserAgentPair): string => {\n const prefixSeparatorIndex = name.indexOf(\"/\");\n const prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just \"\"\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .map((item) => item?.replace(UA_ESCAPE_REGEX, \"_\"))\n .join(\"/\");\n};\n\nexport const getUserAgentMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\n\nexport const getUserAgentPlugin = (config: UserAgentResolvedConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n","export * from \"./configurations\";\nexport * from \"./user-agent-middleware\";\n","import { CreateIdentityPoolCommandInput, CreateIdentityPoolCommandOutput } from \"./commands/CreateIdentityPoolCommand\";\nimport { DeleteIdentitiesCommandInput, DeleteIdentitiesCommandOutput } from \"./commands/DeleteIdentitiesCommand\";\nimport { DeleteIdentityPoolCommandInput, DeleteIdentityPoolCommandOutput } from \"./commands/DeleteIdentityPoolCommand\";\nimport { DescribeIdentityCommandInput, DescribeIdentityCommandOutput } from \"./commands/DescribeIdentityCommand\";\nimport {\n DescribeIdentityPoolCommandInput,\n DescribeIdentityPoolCommandOutput,\n} from \"./commands/DescribeIdentityPoolCommand\";\nimport {\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n} from \"./commands/GetCredentialsForIdentityCommand\";\nimport { GetIdCommandInput, GetIdCommandOutput } from \"./commands/GetIdCommand\";\nimport {\n GetIdentityPoolRolesCommandInput,\n GetIdentityPoolRolesCommandOutput,\n} from \"./commands/GetIdentityPoolRolesCommand\";\nimport { GetOpenIdTokenCommandInput, GetOpenIdTokenCommandOutput } from \"./commands/GetOpenIdTokenCommand\";\nimport {\n GetOpenIdTokenForDeveloperIdentityCommandInput,\n GetOpenIdTokenForDeveloperIdentityCommandOutput,\n} from \"./commands/GetOpenIdTokenForDeveloperIdentityCommand\";\nimport { ListIdentitiesCommandInput, ListIdentitiesCommandOutput } from \"./commands/ListIdentitiesCommand\";\nimport { ListIdentityPoolsCommandInput, ListIdentityPoolsCommandOutput } from \"./commands/ListIdentityPoolsCommand\";\nimport {\n ListTagsForResourceCommandInput,\n ListTagsForResourceCommandOutput,\n} from \"./commands/ListTagsForResourceCommand\";\nimport {\n LookupDeveloperIdentityCommandInput,\n LookupDeveloperIdentityCommandOutput,\n} from \"./commands/LookupDeveloperIdentityCommand\";\nimport {\n MergeDeveloperIdentitiesCommandInput,\n MergeDeveloperIdentitiesCommandOutput,\n} from \"./commands/MergeDeveloperIdentitiesCommand\";\nimport {\n SetIdentityPoolRolesCommandInput,\n SetIdentityPoolRolesCommandOutput,\n} from \"./commands/SetIdentityPoolRolesCommand\";\nimport { TagResourceCommandInput, TagResourceCommandOutput } from \"./commands/TagResourceCommand\";\nimport {\n UnlinkDeveloperIdentityCommandInput,\n UnlinkDeveloperIdentityCommandOutput,\n} from \"./commands/UnlinkDeveloperIdentityCommand\";\nimport { UnlinkIdentityCommandInput, UnlinkIdentityCommandOutput } from \"./commands/UnlinkIdentityCommand\";\nimport { UntagResourceCommandInput, UntagResourceCommandOutput } from \"./commands/UntagResourceCommand\";\nimport { UpdateIdentityPoolCommandInput, UpdateIdentityPoolCommandOutput } from \"./commands/UpdateIdentityPoolCommand\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport {\n EndpointsInputConfig,\n EndpointsResolvedConfig,\n RegionInputConfig,\n RegionResolvedConfig,\n resolveEndpointsConfig,\n resolveRegionConfig,\n} from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport {\n HostHeaderInputConfig,\n HostHeaderResolvedConfig,\n getHostHeaderPlugin,\n resolveHostHeaderConfig,\n} from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { AwsAuthInputConfig, AwsAuthResolvedConfig, resolveAwsAuthConfig } from \"@aws-sdk/middleware-signing\";\nimport {\n UserAgentInputConfig,\n UserAgentResolvedConfig,\n getUserAgentPlugin,\n resolveUserAgentConfig,\n} from \"@aws-sdk/middleware-user-agent\";\nimport { HttpHandler as __HttpHandler } from \"@aws-sdk/protocol-http\";\nimport {\n Client as __Client,\n SmithyConfiguration as __SmithyConfiguration,\n SmithyResolvedConfiguration as __SmithyResolvedConfiguration,\n} from \"@aws-sdk/smithy-client\";\nimport {\n Provider,\n RegionInfoProvider,\n Credentials as __Credentials,\n Decoder as __Decoder,\n Encoder as __Encoder,\n HashConstructor as __HashConstructor,\n HttpHandlerOptions as __HttpHandlerOptions,\n Logger as __Logger,\n Provider as __Provider,\n StreamCollector as __StreamCollector,\n UrlParser as __UrlParser,\n UserAgent as __UserAgent,\n} from \"@aws-sdk/types\";\n\nexport type ServiceInputTypes =\n | CreateIdentityPoolCommandInput\n | DeleteIdentitiesCommandInput\n | DeleteIdentityPoolCommandInput\n | DescribeIdentityCommandInput\n | DescribeIdentityPoolCommandInput\n | GetCredentialsForIdentityCommandInput\n | GetIdCommandInput\n | GetIdentityPoolRolesCommandInput\n | GetOpenIdTokenCommandInput\n | GetOpenIdTokenForDeveloperIdentityCommandInput\n | ListIdentitiesCommandInput\n | ListIdentityPoolsCommandInput\n | ListTagsForResourceCommandInput\n | LookupDeveloperIdentityCommandInput\n | MergeDeveloperIdentitiesCommandInput\n | SetIdentityPoolRolesCommandInput\n | TagResourceCommandInput\n | UnlinkDeveloperIdentityCommandInput\n | UnlinkIdentityCommandInput\n | UntagResourceCommandInput\n | UpdateIdentityPoolCommandInput;\n\nexport type ServiceOutputTypes =\n | CreateIdentityPoolCommandOutput\n | DeleteIdentitiesCommandOutput\n | DeleteIdentityPoolCommandOutput\n | DescribeIdentityCommandOutput\n | DescribeIdentityPoolCommandOutput\n | GetCredentialsForIdentityCommandOutput\n | GetIdCommandOutput\n | GetIdentityPoolRolesCommandOutput\n | GetOpenIdTokenCommandOutput\n | GetOpenIdTokenForDeveloperIdentityCommandOutput\n | ListIdentitiesCommandOutput\n | ListIdentityPoolsCommandOutput\n | ListTagsForResourceCommandOutput\n | LookupDeveloperIdentityCommandOutput\n | MergeDeveloperIdentitiesCommandOutput\n | SetIdentityPoolRolesCommandOutput\n | TagResourceCommandOutput\n | UnlinkDeveloperIdentityCommandOutput\n | UnlinkIdentityCommandOutput\n | UntagResourceCommandOutput\n | UpdateIdentityPoolCommandOutput;\n\nexport interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {\n /**\n * The HTTP handler to use. Fetch in browser and Https in Nodejs.\n */\n requestHandler?: __HttpHandler;\n\n /**\n * A constructor for a class implementing the @aws-sdk/types.Hash interface\n * that computes the SHA-256 HMAC or checksum of a string or binary buffer.\n */\n sha256?: __HashConstructor;\n\n /**\n * The function that will be used to convert strings into HTTP endpoints.\n */\n urlParser?: __UrlParser;\n\n /**\n * A function that can calculate the length of a request body.\n */\n bodyLengthChecker?: (body: any) => number | undefined;\n\n /**\n * A function that converts a stream into an array of bytes.\n */\n streamCollector?: __StreamCollector;\n\n /**\n * The function that will be used to convert a base64-encoded string to a byte array\n */\n base64Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a base64-encoded string\n */\n base64Encoder?: __Encoder;\n\n /**\n * The function that will be used to convert a UTF8-encoded string to a byte array\n */\n utf8Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a UTF-8 encoded string\n */\n utf8Encoder?: __Encoder;\n\n /**\n * The runtime environment\n */\n runtime?: string;\n\n /**\n * Disable dyanamically changing the endpoint of the client based on the hostPrefix\n * trait of an operation.\n */\n disableHostPrefix?: boolean;\n\n /**\n * Unique service identifier.\n * @internal\n */\n serviceId?: string;\n\n /**\n * Default credentials provider; Not available in browser runtime\n */\n credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;\n\n /**\n * The AWS region to which this client will send requests\n */\n region?: string | __Provider;\n\n /**\n * Value for how many times a request will be made at most in case of retry.\n */\n maxAttempts?: number | __Provider;\n\n /**\n * Optional logger for logging debug/info/warn/error.\n */\n logger?: __Logger;\n\n /**\n * Fetch related hostname, signing name or signing region with given region.\n */\n regionInfoProvider?: RegionInfoProvider;\n\n /**\n * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header\n * @internal\n */\n defaultUserAgentProvider?: Provider<__UserAgent>;\n}\n\nexport type CognitoIdentityClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &\n ClientDefaults &\n RegionInputConfig &\n EndpointsInputConfig &\n AwsAuthInputConfig &\n RetryInputConfig &\n HostHeaderInputConfig &\n UserAgentInputConfig;\n\nexport type CognitoIdentityClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> &\n Required &\n RegionResolvedConfig &\n EndpointsResolvedConfig &\n AwsAuthResolvedConfig &\n RetryResolvedConfig &\n HostHeaderResolvedConfig &\n UserAgentResolvedConfig;\n\n/**\n * Amazon Cognito Federated Identities\n *

Amazon Cognito Federated Identities is a web service that delivers scoped temporary\n * credentials to mobile devices and other untrusted environments. It uniquely identifies a\n * device and supplies the user with a consistent identity over the lifetime of an\n * application.

\n *

Using Amazon Cognito Federated Identities, you can enable authentication with one or\n * more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon\n * Cognito user pool, and you can also choose to support unauthenticated access from your app.\n * Cognito delivers a unique identifier for each user and acts as an OpenID token provider\n * trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS\n * credentials.

\n *

For a description of the authentication flow from the Amazon Cognito Developer Guide\n * see Authentication Flow.

\n *

For more information see Amazon Cognito Federated Identities.

\n */\nexport class CognitoIdentityClient extends __Client<\n __HttpHandlerOptions,\n ServiceInputTypes,\n ServiceOutputTypes,\n CognitoIdentityClientResolvedConfig\n> {\n readonly config: CognitoIdentityClientResolvedConfig;\n\n constructor(configuration: CognitoIdentityClientConfig) {\n let _config_0 = {\n ...__ClientDefaultValues,\n ...configuration,\n };\n let _config_1 = resolveRegionConfig(_config_0);\n let _config_2 = resolveEndpointsConfig(_config_1);\n let _config_3 = resolveAwsAuthConfig(_config_2);\n let _config_4 = resolveRetryConfig(_config_3);\n let _config_5 = resolveHostHeaderConfig(_config_4);\n let _config_6 = resolveUserAgentConfig(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n }\n\n destroy(): void {\n super.destroy();\n }\n}\n","import { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { ICredentials } from './types';\nimport { getAmplifyUserAgent } from './Platform';\nimport { Amplify } from './Amplify';\nimport {\n\tfromCognitoIdentity,\n\tFromCognitoIdentityParameters,\n\tfromCognitoIdentityPool,\n\tFromCognitoIdentityPoolParameters,\n} from '@aws-sdk/credential-provider-cognito-identity';\nimport {\n\tCognitoIdentityClient,\n\tGetIdCommand,\n\tGetCredentialsForIdentityCommand,\n} from '@aws-sdk/client-cognito-identity';\nimport { CredentialProvider } from '@aws-sdk/types';\n\nconst logger = new Logger('Credentials');\n\nconst CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\n\nconst COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\n\nexport class CredentialsClass {\n\tprivate _config;\n\tprivate _credentials;\n\tprivate _credentials_source;\n\tprivate _gettingCredPromise = null;\n\tprivate _refreshHandlers = {};\n\tprivate _storage;\n\tprivate _storageSync;\n\tprivate _identityId;\n\tprivate _nextCredentialsRefresh: Number;\n\n\t// Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n\tAuth = undefined;\n\n\tconstructor(config) {\n\t\tthis.configure(config);\n\t\tthis._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n\t\tthis._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Credentials';\n\t}\n\n\tpublic getCredSource() {\n\t\treturn this._credentials_source;\n\t}\n\n\tpublic configure(config) {\n\t\tif (!config) return this._config || {};\n\n\t\tthis._config = Object.assign({}, this._config, config);\n\t\tconst { refreshHandlers } = this._config;\n\t\t// If the developer has provided an object of refresh handlers,\n\t\t// then we can merge the provided handlers with the current handlers.\n\t\tif (refreshHandlers) {\n\t\t\tthis._refreshHandlers = {\n\t\t\t\t...this._refreshHandlers,\n\t\t\t\t...refreshHandlers,\n\t\t\t};\n\t\t}\n\n\t\tthis._storage = this._config.storage;\n\n\t\tif (!this._storage) {\n\t\t\tthis._storage = new StorageHelper().getStorage();\n\t\t}\n\n\t\tthis._storageSync = Promise.resolve();\n\t\tif (typeof this._storage['sync'] === 'function') {\n\t\t\tthis._storageSync = this._storage['sync']();\n\t\t}\n\n\t\treturn this._config;\n\t}\n\n\tpublic get() {\n\t\tlogger.debug('getting credentials');\n\t\treturn this._pickupCredentials();\n\t}\n\n\t// currently we only store the guest identity in local storage\n\tprivate _getCognitoIdentityIdStorageKey(identityPoolId: string) {\n\t\treturn `${COGNITO_IDENTITY_KEY_PREFIX}${identityPoolId}`;\n\t}\n\n\tprivate _pickupCredentials() {\n\t\tlogger.debug('picking up credentials');\n\t\tif (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n\t\t\tlogger.debug('getting new cred promise');\n\t\t\tthis._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n\t\t} else {\n\t\t\tlogger.debug('getting old cred promise');\n\t\t}\n\t\treturn this._gettingCredPromise;\n\t}\n\n\tprivate async _keepAlive() {\n\t\tlogger.debug('checking if credentials exists and not expired');\n\t\tconst cred = this._credentials;\n\t\tif (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n\t\t\tlogger.debug('credentials not changed and not expired, directly return');\n\t\t\treturn Promise.resolve(cred);\n\t\t}\n\n\t\tlogger.debug('need to get a new credential or refresh the existing one');\n\n\t\t// Some use-cases don't require Auth for signing in, but use Credentials for guest users (e.g. Analytics)\n\t\t// Prefer locally scoped `Auth`, but fallback to registered `Amplify.Auth` global otherwise.\n\t\tconst { Auth = Amplify.Auth } = this;\n\n\t\tif (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n\t\t\treturn Promise.reject('No Auth module registered in Amplify');\n\t\t}\n\n\t\tif (!this._isExpired(cred) && this._isPastTTL()) {\n\t\t\tlogger.debug('ttl has passed but token is not yet expired');\n\t\t\ttry {\n\t\t\t\tconst user = await Auth.currentUserPoolUser();\n\t\t\t\tconst session = await Auth.currentSession();\n\t\t\t\tconst refreshToken = session.refreshToken;\n\t\t\t\tconst refreshRequest = new Promise((res, rej) => {\n\t\t\t\t\tuser.refreshSession(refreshToken, (err, data) => {\n\t\t\t\t\t\treturn err ? rej(err) : res(data);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tawait refreshRequest; // note that rejections will be caught and handled in the catch block.\n\t\t\t} catch (err) {\n\t\t\t\t// should not throw because user might just be on guest access or is authenticated through federation\n\t\t\t\tlogger.debug('Error attempting to refreshing the session', err);\n\t\t\t}\n\t\t}\n\t\treturn Auth.currentUserCredentials();\n\t}\n\n\tpublic refreshFederatedToken(federatedInfo) {\n\t\tlogger.debug('Getting federated credentials');\n\t\tconst { provider, user, token, identity_id } = federatedInfo;\n\t\tlet { expires_at } = federatedInfo;\n\n\t\t// Make sure expires_at is in millis\n\t\texpires_at =\n\t\t\tnew Date(expires_at).getFullYear() === 1970\n\t\t\t\t? expires_at * 1000\n\t\t\t\t: expires_at;\n\n\t\tconst that = this;\n\t\tlogger.debug('checking if federated jwt token expired');\n\t\tif (expires_at > new Date().getTime()) {\n\t\t\t// if not expired\n\t\t\tlogger.debug('token not expired');\n\t\t\treturn this._setCredentialsFromFederation({\n\t\t\t\tprovider,\n\t\t\t\ttoken,\n\t\t\t\tuser,\n\t\t\t\tidentity_id,\n\t\t\t\texpires_at,\n\t\t\t});\n\t\t} else {\n\t\t\t// if refresh handler exists\n\t\t\tif (\n\t\t\t\tthat._refreshHandlers[provider] &&\n\t\t\t\ttypeof that._refreshHandlers[provider] === 'function'\n\t\t\t) {\n\t\t\t\tlogger.debug('getting refreshed jwt token from federation provider');\n\t\t\t\treturn this._providerRefreshWithRetry({\n\t\t\t\t\trefreshHandler: that._refreshHandlers[provider],\n\t\t\t\t\tprovider,\n\t\t\t\t\tuser,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlogger.debug('no refresh handler for provider:', provider);\n\t\t\t\tthis.clear();\n\t\t\t\treturn Promise.reject('no refresh handler for provider');\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _providerRefreshWithRetry({ refreshHandler, provider, user }) {\n\t\tconst MAX_DELAY_MS = 10 * 1000;\n\t\t// refreshHandler will retry network errors, otherwise it will\n\t\t// return NonRetryableError to break out of jitteredExponentialRetry\n\t\treturn jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n\t\t\t.then(data => {\n\t\t\t\tlogger.debug('refresh federated token sucessfully', data);\n\t\t\t\treturn this._setCredentialsFromFederation({\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: data.token,\n\t\t\t\t\tuser,\n\t\t\t\t\tidentity_id: data.identity_id,\n\t\t\t\t\texpires_at: data.expires_at,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(e => {\n\t\t\t\tconst isNetworkError =\n\t\t\t\t\ttypeof e === 'string' &&\n\t\t\t\t\te.toLowerCase().lastIndexOf('network error', e.length) === 0;\n\n\t\t\t\tif (!isNetworkError) {\n\t\t\t\t\tthis.clear();\n\t\t\t\t}\n\n\t\t\t\tlogger.debug('refresh federated token failed', e);\n\t\t\t\treturn Promise.reject('refreshing federation token failed: ' + e);\n\t\t\t});\n\t}\n\n\tprivate _isExpired(credentials): boolean {\n\t\tif (!credentials) {\n\t\t\tlogger.debug('no credentials for expiration check');\n\t\t\treturn true;\n\t\t}\n\t\tlogger.debug('are these credentials expired?', credentials);\n\t\tconst ts = Date.now();\n\n\t\t/* returns date object.\n\t\t\thttps://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n\t\t*/\n\t\tconst { expiration } = credentials;\n\t\treturn expiration.getTime() <= ts;\n\t}\n\n\tprivate _isPastTTL(): boolean {\n\t\treturn this._nextCredentialsRefresh <= Date.now();\n\t}\n\n\tprivate async _setCredentialsForGuest() {\n\t\tlogger.debug('setting credentials for guest');\n\t\tconst { identityPoolId, region, mandatorySignIn } = this._config;\n\t\tif (mandatorySignIn) {\n\t\t\treturn Promise.reject(\n\t\t\t\t'cannot get guest credentials when mandatory signin enabled'\n\t\t\t);\n\t\t}\n\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug(\n\t\t\t\t'No Cognito Identity pool provided for unauthenticated access'\n\t\t\t);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No Cognito Identity pool provided for unauthenticated access'\n\t\t\t);\n\t\t}\n\n\t\tif (!region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\n\t\tconst identityId = this._identityId = await this._getGuestIdentityId();\n\n\t\tconst cognitoClient = new CognitoIdentityClient({\n\t\t\tregion,\n\t\t\tcustomUserAgent: getAmplifyUserAgent(),\n\t\t});\n\n\t\tlet credentials = undefined;\n\t\tif (identityId) {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\tidentityId,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentity(cognitoIdentityParams)();\n\t\t} else {\n\t\t\t/*\n\t\t\tRetreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n\t\t\thttps://git.io/JeDxU\n\n\t\t\tNote: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n\t\t\t*/\n\t\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tthis._identityId = IdentityId;\n\t\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\t\tclient: cognitoClient,\n\t\t\t\t\tidentityId: IdentityId,\n\t\t\t\t};\n\n\t\t\t\tconst credentialsFromCognitoIdentity = fromCognitoIdentity(\n\t\t\t\t\tcognitoIdentityParams\n\t\t\t\t);\n\n\t\t\t\treturn credentialsFromCognitoIdentity();\n\t\t\t};\n\n\t\t\tcredentials = credentialsProvider().catch(async err => {\n\t\t\t\tthrow err;\n\t\t\t});\n\t\t}\n\n\t\treturn this._loadCredentials(credentials, 'guest', false, null)\n\t\t\t.then(res => {\n\t\t\t\treturn res;\n\t\t\t})\n\t\t\t.catch(async e => {\n\t\t\t\t// If identity id is deleted in the console, we make one attempt to recreate it\n\t\t\t\t// and remove existing id from cache.\n\t\t\t\tif (\n\t\t\t\t\te.name === 'ResourceNotFoundException' &&\n\t\t\t\t\te.message === `Identity '${identityId}' not found.`\n\t\t\t\t) {\n\t\t\t\t\tlogger.debug('Failed to load guest credentials');\n\t\t\t\t\tawait this._removeGuestIdentityId();\n\n\t\t\t\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis._identityId = IdentityId;\n\t\t\t\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\t\t\t\tclient: cognitoClient,\n\t\t\t\t\t\t\tidentityId: IdentityId,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst credentialsFromCognitoIdentity = fromCognitoIdentity(\n\t\t\t\t\t\t\tcognitoIdentityParams\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn credentialsFromCognitoIdentity();\n\t\t\t\t\t};\n\n\t\t\t\t\tcredentials = credentialsProvider().catch(async err => {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t});\n\n\t\t\t\t\treturn this._loadCredentials(credentials, 'guest', false, null);\n\t\t\t\t} else {\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tprivate _setCredentialsFromFederation(params) {\n\t\tconst { provider, token, identity_id } = params;\n\t\tconst domains = {\n\t\t\tgoogle: 'accounts.google.com',\n\t\t\tfacebook: 'graph.facebook.com',\n\t\t\tamazon: 'www.amazon.com',\n\t\t\tdeveloper: 'cognito-identity.amazonaws.com',\n\t\t};\n\n\t\t// Use custom provider url instead of the predefined ones\n\t\tconst domain = domains[provider] || provider;\n\t\tif (!domain) {\n\t\t\treturn Promise.reject('You must specify a federated provider');\n\t\t}\n\n\t\tconst logins = {};\n\t\tlogins[domain] = token;\n\n\t\tconst { identityPoolId, region } = this._config;\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug('No Cognito Federated Identity pool provided');\n\t\t\treturn Promise.reject('No Cognito Federated Identity pool provided');\n\t\t}\n\t\tif (!region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\n\t\tconst cognitoClient = new CognitoIdentityClient({\n\t\t\tregion,\n\t\t\tcustomUserAgent: getAmplifyUserAgent(),\n\t\t});\n\n\t\tlet credentials = undefined;\n\t\tif (identity_id) {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\tidentityId: identity_id,\n\t\t\t\tlogins,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentity(cognitoIdentityParams)();\n\t\t} else {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityPoolParameters = {\n\t\t\t\tlogins,\n\t\t\t\tidentityPoolId,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n\t\t}\n\t\treturn this._loadCredentials(credentials, 'federated', true, params);\n\t}\n\n\tprivate _setCredentialsFromSession(session): Promise {\n\t\tlogger.debug('set credentials from session');\n\t\tconst idToken = session.getIdToken().getJwtToken();\n\t\tconst { region, userPoolId, identityPoolId } = this._config;\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug('No Cognito Federated Identity pool provided');\n\t\t\treturn Promise.reject('No Cognito Federated Identity pool provided');\n\t\t}\n\t\tif (!region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\t\tconst key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n\t\tconst logins = {};\n\t\tlogins[key] = idToken;\n\n\t\tconst cognitoClient = new CognitoIdentityClient({\n\t\t\tregion,\n\t\t\tcustomUserAgent: getAmplifyUserAgent(),\n\t\t});\n\n\t\t/* \n\t\t\tRetreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n\t\t\thttps://git.io/JeDxU\n\n\t\t\tNote: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n\t\t*/\n\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t// try to fetch the local stored guest identity, if found, we will associate it with the logins\n\t\t\tconst guestIdentityId = await this._getGuestIdentityId();\n\n\t\t\tlet generatedOrRetrievedIdentityId;\n\t\t\tif (!guestIdentityId) {\n\t\t\t\t// for a first-time user, this will return a brand new identity\n\t\t\t\t// for a returning user, this will retrieve the previous identity assocaited with the logins\n\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t\tLogins: logins,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tgeneratedOrRetrievedIdentityId = IdentityId;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tCredentials: {\n\t\t\t\t\tAccessKeyId,\n\t\t\t\t\tExpiration,\n\t\t\t\t\tSecretKey,\n\t\t\t\t\tSessionToken,\n\t\t\t\t},\n\t\t\t\t// single source of truth for the primary identity associated with the logins\n\t\t\t\t// only if a guest identity is used for a first-time user, that guest identity will become its primary identity\n\t\t\t\tIdentityId: primaryIdentityId,\n\t\t\t} = await cognitoClient.send(\n\t\t\t\tnew GetCredentialsForIdentityCommand({\n\t\t\t\t IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n\t\t\t\t Logins: logins,\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis._identityId = primaryIdentityId;\n\t\t\tif (guestIdentityId) {\n\t\t\t\t// if guestIdentity is found and used by GetCredentialsForIdentity\n\t\t\t\t// it will be linked to the logins provided, and disqualified as an unauth identity\n\t\t\t\tlogger.debug(`The guest identity ${guestIdentityId} has been successfully linked to the logins`);\n\t\t\t\tif (guestIdentityId === primaryIdentityId) {\n\t\t\t\t\tlogger.debug(`The guest identity ${guestIdentityId} has become the primary identity`);\n\t\t\t\t}\n\t\t\t\t// remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n\t\t\t\tawait this._removeGuestIdentityId();\n\t\t\t}\n\n\t\t\t// https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n\t\t\treturn {\n\t\t\t\taccessKeyId: AccessKeyId,\n\t\t\t\tsecretAccessKey: SecretKey,\n\t\t\t\tsessionToken: SessionToken,\n\t\t\t\texpiration: Expiration,\n\t\t\t\tidentityId: primaryIdentityId,\n\t\t\t };\n\t\t};\n\n\t\tconst credentials = credentialsProvider().catch(async err => {\n\t\t\tthrow err;\n\t\t});\n\n\t\treturn this._loadCredentials(credentials, 'userPool', true, null);\n\t}\n\n\tprivate _loadCredentials(\n\t\tcredentials,\n\t\tsource,\n\t\tauthenticated,\n\t\tinfo\n\t): Promise {\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tcredentials\n\t\t\t\t.then(async credentials => {\n\t\t\t\t\tlogger.debug('Load credentials successfully', credentials);\n\t\t\t\t\tif (this._identityId && !credentials.identityId) {\n\t\t\t\t\t\tcredentials['identityId'] = this._identityId;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat._credentials = credentials;\n\t\t\t\t\tthat._credentials.authenticated = authenticated;\n\t\t\t\t\tthat._credentials_source = source;\n\t\t\t\t\tthat._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n\t\t\t\t\tif (source === 'federated') {\n\t\t\t\t\t\tconst user = Object.assign(\n\t\t\t\t\t\t\t{ id: this._credentials.identityId },\n\t\t\t\t\t\t\tinfo.user\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst { provider, token, expires_at, identity_id } = info;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tthis._storage.setItem(\n\t\t\t\t\t\t\t\t'aws-amplify-federatedInfo',\n\t\t\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\t\t\tprovider,\n\t\t\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t\texpires_at,\n\t\t\t\t\t\t\t\t\tidentity_id,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('Failed to put federated info into auth storage', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (source === 'guest') {\n\t\t\t\t\t\tawait this._setGuestIdentityId(credentials.identityId);\n\t\t\t\t\t}\n\t\t\t\t\tres(that._credentials);\n\t\t\t\t\treturn;\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Failed to load credentials', credentials);\n\t\t\t\t\t\tlogger.debug('Error loading credentials', err);\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t});\n\t}\n\n\tpublic set(params, source): Promise {\n\t\tif (source === 'session') {\n\t\t\treturn this._setCredentialsFromSession(params);\n\t\t} else if (source === 'federation') {\n\t\t\treturn this._setCredentialsFromFederation(params);\n\t\t} else if (source === 'guest') {\n\t\t\treturn this._setCredentialsForGuest();\n\t\t} else {\n\t\t\tlogger.debug('no source specified for setting credentials');\n\t\t\treturn Promise.reject('invalid source');\n\t\t}\n\t}\n\n\tpublic async clear() {\n\t\tthis._credentials = null;\n\t\tthis._credentials_source = null;\n\t\tlogger.debug('removing aws-amplify-federatedInfo from storage');\n\t\tthis._storage.removeItem('aws-amplify-federatedInfo');\n\t}\n\n\t/* operations on local stored guest identity */\n\tprivate async _getGuestIdentityId(): Promise {\n\t\tconst { identityPoolId } = this._config;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t\treturn this._storage.getItem(\n\t\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId)\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to get the cached guest identityId', e);\n\t\t}\n\t}\n\n\tprivate async _setGuestIdentityId(identityId: string) {\n\t\tconst { identityPoolId } = this._config;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t\tthis._storage.setItem(\n\t\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId),\n\t\t\t\tidentityId,\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to cache guest identityId', e);\n\t\t}\n\t}\n\n\tprivate async _removeGuestIdentityId() {\n\t\tconst { identityPoolId } = this._config;\n\t\tlogger.debug(\n\t\t\t`removing ${this._getCognitoIdentityIdStorageKey(\n\t\t\t\tidentityPoolId\n\t\t\t)} from storage`\n\t\t);\n\t\tthis._storage.removeItem(\n\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId)\n\t\t);\n\t}\n\n\t/**\n\t * Compact version of credentials\n\t * @param {Object} credentials\n\t * @return {Object} - Credentials\n\t */\n\tpublic shear(credentials) {\n\t\treturn {\n\t\t\taccessKeyId: credentials.accessKeyId,\n\t\t\tsessionToken: credentials.sessionToken,\n\t\t\tsecretAccessKey: credentials.secretAccessKey,\n\t\t\tidentityId: credentials.identityId,\n\t\t\tauthenticated: credentials.authenticated,\n\t\t};\n\t}\n}\n\nexport const Credentials = new CredentialsClass(null);\n\nAmplify.register(Credentials);\n\n/**\n * @deprecated use named import\n */\nexport default Credentials;\n","import { AmplifyConfig } from './types';\nimport { ConsoleLogger as Logger } from './Logger';\n\nconst logger = new Logger('Parser');\n\nexport const parseMobileHubConfig = (config): AmplifyConfig => {\n\tconst amplifyConfig: AmplifyConfig = {};\n\t// Analytics\n\tif (config['aws_mobile_analytics_app_id']) {\n\t\tconst Analytics = {\n\t\t\tAWSPinpoint: {\n\t\t\t\tappId: config['aws_mobile_analytics_app_id'],\n\t\t\t\tregion: config['aws_mobile_analytics_app_region'],\n\t\t\t},\n\t\t};\n\t\tamplifyConfig.Analytics = Analytics;\n\t}\n\n\t// Auth\n\tif (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n\t\tamplifyConfig.Auth = {\n\t\t\tuserPoolId: config['aws_user_pools_id'],\n\t\t\tuserPoolWebClientId: config['aws_user_pools_web_client_id'],\n\t\t\tregion: config['aws_cognito_region'],\n\t\t\tidentityPoolId: config['aws_cognito_identity_pool_id'],\n\t\t\tidentityPoolRegion: config['aws_cognito_region'],\n\t\t\tmandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n\t\t\tsignUpVerificationMethod:\n\t\t\t\tconfig['aws_cognito_sign_up_verification_method'] || 'code',\n\t\t};\n\t}\n\n\t// Storage\n\tlet storageConfig;\n\tif (config['aws_user_files_s3_bucket']) {\n\t\tstorageConfig = {\n\t\t\tAWSS3: {\n\t\t\t\tbucket: config['aws_user_files_s3_bucket'],\n\t\t\t\tregion: config['aws_user_files_s3_bucket_region'],\n\t\t\t\tdangerouslyConnectToHttpEndpointForTesting:\n\t\t\t\t\tconfig[\n\t\t\t\t\t\t'aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'\n\t\t\t\t\t],\n\t\t\t},\n\t\t};\n\t} else {\n\t\tstorageConfig = config ? config.Storage || config : {};\n\t}\n\n\t// Logging\n\tif (config['Logging']) {\n\t\tamplifyConfig.Logging = {\n\t\t\t...config['Logging'],\n\t\t\tregion: config['aws_project_region'],\n\t\t};\n\t}\n\n\t// Geo\n\tif (config['geo']) {\n\t\tamplifyConfig.Geo = Object.assign({}, config.geo);\n\t\tif (config.geo['amazon_location_service']) {\n\t\t\tamplifyConfig.Geo = {\n\t\t\t\tAmazonLocationService: config.geo['amazon_location_service'],\n\t\t\t};\n\t\t}\n\t}\n\n\tamplifyConfig.Analytics = Object.assign(\n\t\t{},\n\t\tamplifyConfig.Analytics,\n\t\tconfig.Analytics\n\t);\n\tamplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n\tamplifyConfig.Storage = Object.assign({}, storageConfig);\n\tamplifyConfig.Logging = Object.assign(\n\t\t{},\n\t\tamplifyConfig.Logging,\n\t\tconfig.Logging\n\t);\n\tlogger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n\treturn amplifyConfig;\n};\n\n/**\n * @deprecated use per-function export\n */\nexport class Parser {\n\tstatic parseMobilehubConfig = parseMobileHubConfig;\n}\n\n/**\n * @deprecated use per-function export\n */\nexport default Parser;\n","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(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))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","import Cookies from 'universal-cookie';\nimport { browserOrNode } from '../JS';\n\ntype Store = Record;\n\nconst { isBrowser } = browserOrNode();\n\n// Avoid using @types/next because @aws-amplify/ui-angular's version of TypeScript is too old to support it\ntype Context = { req?: any };\n\nexport class UniversalStorage implements Storage {\n\tcookies = new Cookies();\n\tstore: Store = isBrowser ? window.localStorage : Object.create(null);\n\n\tconstructor(context: Context = {}) {\n\t\tthis.cookies = context.req\n\t\t\t? new Cookies(context.req.headers.cookie)\n\t\t\t: new Cookies();\n\n\t\tObject.assign(this.store, this.cookies.getAll());\n\t}\n\n\tget length() {\n\t\treturn Object.entries(this.store).length;\n\t}\n\n\tclear() {\n\t\tArray.from(new Array(this.length))\n\t\t\t.map((_, i) => this.key(i))\n\t\t\t.forEach(key => this.removeItem(key));\n\t}\n\n\tgetItem(key: keyof Store) {\n\t\treturn this.getLocalItem(key);\n\t}\n\n\tprotected getLocalItem(key: keyof Store) {\n\t\treturn Object.prototype.hasOwnProperty.call(this.store, key)\n\t\t\t? this.store[key]\n\t\t\t: null;\n\t}\n\n\tprotected getUniversalItem(key: keyof Store) {\n\t\treturn this.cookies.get(key);\n\t}\n\n\tkey(index: number) {\n\t\treturn Object.keys(this.store)[index];\n\t}\n\n\tremoveItem(key: string) {\n\t\tthis.removeLocalItem(key);\n\t\tthis.removeUniversalItem(key);\n\t}\n\n\tprotected removeLocalItem(key: keyof Store) {\n\t\tdelete this.store[key];\n\t}\n\n\tprotected removeUniversalItem(key: keyof Store) {\n\t\tthis.cookies.remove(key, {\n\t\t\tpath: '/',\n\t\t});\n\t}\n\n\tsetItem(key: keyof Store, value: string) {\n\t\tthis.setLocalItem(key, value);\n\n\t\t// keys take the shape:\n\t\t// 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n\t\t// 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n\t\tconst tokenType = key.split('.').pop();\n\n\t\tswitch (tokenType) {\n\t\t\t// LastAuthUser is needed for computing other key names\n\t\t\tcase 'LastAuthUser':\n\n\t\t\t// accessToken is required for CognitoUserSession\n\t\t\tcase 'accessToken':\n\n\t\t\t// refreshToken originates on the client, but SSR pages won't fail when this expires\n\t\t\t// Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n\t\t\tcase 'refreshToken':\n\n\t\t\t// Required for CognitoUserSession\n\t\t\tcase 'idToken':\n\t\t\t\tisBrowser\n\t\t\t\t\t? this.setUniversalItem(key, value)\n\t\t\t\t\t: this.setLocalItem(key, value);\n\n\t\t\t// userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n\t\t\t// Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n\t\t\t// case 'userData':\n\n\t\t\t// Ignoring clockDrift on the server for now, but needs testing\n\t\t\t// case 'clockDrift':\n\t\t}\n\t}\n\n\tprotected setLocalItem(key: keyof Store, value: string) {\n\t\tthis.store[key] = value;\n\t}\n\n\tprotected setUniversalItem(key: keyof Store, value: string) {\n\t\tthis.cookies.set(key, value, {\n\t\t\tpath: '/',\n\t\t\t// `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n\t\t\tsameSite: true,\n\t\t\t// Allow unsecure requests to http://localhost:3000/ when in development.\n\t\t\tsecure: window.location.hostname === 'localhost' ? false : true,\n\t\t});\n\t}\n}\n","export function urlSafeEncode(str: string) {\n\treturn str\n\t\t.split('')\n\t\t.map(char =>\n\t\t\tchar\n\t\t\t\t.charCodeAt(0)\n\t\t\t\t.toString(16)\n\t\t\t\t.padStart(2, '0')\n\t\t)\n\t\t.join('');\n}\n\nexport function urlSafeDecode(hex: string) {\n\treturn hex\n\t\t.match(/.{2}/g)\n\t\t.map(char => String.fromCharCode(parseInt(char, 16)))\n\t\t.join('');\n}\n","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n /**\n * @returns {string} the record's username\n */\n\n\n var _proto = AuthenticationDetails.prototype;\n\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n /**\n * @returns {string} the record's password\n */\n ;\n\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n /**\n * @returns {Array} the record's validationData\n */\n ;\n\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n /**\n * @returns {Array} the record's authParameters\n */\n ;\n\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */\n ;\n\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n\n return AuthenticationDetails;\n}();\n\nexport { AuthenticationDetails as default };","var crypto; // Native crypto from window (Browser)\n\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n} // Native (experimental IE 11) crypto from window (Browser)\n\n\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n}\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\n\n\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n } // Use randomBytes method (NodeJS)\n\n\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\n\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes; // Convert\n\n var hexChars = [];\n\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n\n return hexChars.join('');\n}\n\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n\n var _proto = WordArray.prototype;\n\n _proto.random = function random(nBytes) {\n var words = [];\n\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n\n return new WordArray(words, nBytes);\n };\n\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n\n return WordArray;\n}();\n\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\nexport default BigInteger;\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n// (public) Constructor\n\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n} // return new, unset BigInteger\n\n\nfunction nbi() {\n return new BigInteger(null);\n} // Bits per digit\n\n\nvar dbits; // JavaScript engine analysis\n\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe; // am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n\n return c;\n} // am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n\n\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n\n return c;\n} // Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\n\n\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n\n return c;\n}\n\nvar inBrowser = typeof navigator !== 'undefined';\n\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\n\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP; // Digit conversions\n\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\n\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nrr = 'a'.charCodeAt(0);\n\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nrr = 'A'.charCodeAt(0);\n\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\n\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n} // (protected) copy this to r\n\n\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n\n r.t = this.t;\n r.s = this.s;\n} // (protected) set from integer value x, -DV <= x < DV\n\n\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n} // return bigint initialized to value\n\n\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n} // (protected) set from string and radix\n\n\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n\n while (--i >= 0) {\n var x = intAt(s, i);\n\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n} // (protected) clamp off excess high words\n\n\nfunction bnpClamp() {\n var c = this.s & this.DM;\n\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n} // (public) return string representation in given radix\n\n\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n\n return m ? r : '0';\n} // (public) -this\n\n\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n} // (public) |this|\n\n\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n} // (public) return + if this > a, - if this < a, 0 if equal\n\n\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) return r;\n }\n\n return 0;\n} // returns bit length of the integer x\n\n\nfunction nbits(x) {\n var r = 1,\n t;\n\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n\n return r;\n} // (public) return the number of bits in \"this\"\n\n\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n} // (protected) r = this << n*DB\n\n\nfunction bnpDLShiftTo(n, r) {\n var i;\n\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n\n r.t = this.t + n;\n r.s = this.s;\n} // (protected) r = this >> n*DB\n\n\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n} // (protected) r = this << n\n\n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n\n for (i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n} // (protected) r = this >> n\n\n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n} // (protected) r = this - a\n\n\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n if (a.t < this.t) {\n c -= a.s;\n\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += this.s;\n } else {\n c += this.s;\n\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c -= a.s;\n }\n\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n} // (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\n\n\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n\n while (--i >= 0) {\n r[i] = 0;\n }\n\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n} // (protected) r = this^2, r != this (HAC 14.16)\n\n\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n\n while (--i >= 0) {\n r[i] = 0;\n }\n\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n} // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\n\n\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder\n\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n} // (public) this mod a\n\n\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n} // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\n\n\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3; // y == 1/x mod 2^2\n\n y = y * (2 - (x & 0xf) * y) & 0xf; // y == 1/x mod 2^4\n\n y = y * (2 - (x & 0xff) * y) & 0xff; // y == 1/x mod 2^8\n\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n\n y = y * (2 - x * y % this.DV) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n\n return y > 0 ? this.DV - y : -y;\n}\n\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n} // (protected) r = this + a\n\n\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n if (a.t < this.t) {\n c += a.s;\n\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += this.s;\n } else {\n c += this.s;\n\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n\n c += a.s;\n }\n\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n} // (public) this + a\n\n\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n} // (public) this - a\n\n\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n} // (public) this * a\n\n\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n} // (public) this / a\n\n\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n} // Montgomery reduction\n\n\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n} // xR mod m\n\n\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n} // x/R mod m\n\n\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n} // x = x/R mod m (HAC 14.32)\n\n\nfunction montReduce(x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM; // use am to combine the multiply-shift-add into one call\n\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t); // propagate carry\n\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n} // r = \"x^2/R mod m\"; x != r\n\n\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n} // r = \"xy/R mod m\"; x,y != r\n\n\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\n\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo; // (public) this^e % m (HAC 14.85)\n\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6; // precomputation\n\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n\n var result = z.revert(r);\n callback(null, result);\n return result;\n} // protected\n\n\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo; // public\n\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow; // \"constants\"\n\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\nimport CryptoJS from 'crypto-js/core';\nimport 'crypto-js/lib-typedarrays'; // necessary for crypto js\n\nimport SHA256 from 'crypto-js/sha256';\nimport HmacSHA256 from 'crypto-js/hmac-sha256';\nimport WordArray from './utils/WordArray';\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\n\nimport BigInteger from './BigInteger';\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\n\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n/** @class */\n\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n /**\n * @returns {BigInteger} small A, a random number\n */\n\n\n var _proto = AuthenticationHelper.prototype;\n\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n /**\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n */\n ;\n\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */\n ;\n\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16); // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */\n ;\n\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n /**\n * @returns {string} Generated random value included in password hash.\n */\n ;\n\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n /**\n * @returns {string} Generated random value included in devices hash.\n */\n ;\n\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n /**\n * @returns {string} Value used to verify devices.\n */\n ;\n\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback} callback Called with (err, null)\n * @returns {void}\n */\n ;\n\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex'); // The random hex will be unambiguously represented as a postive integer\n\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */\n ;\n\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n\n callback(null, A);\n });\n }\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */\n ;\n\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */\n ;\n\n _proto.hash = function hash(buf) {\n var str = buf instanceof Buffer ? CryptoJS.lib.WordArray.create(buf) : buf;\n var hashHex = SHA256(str).toString();\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */\n ;\n\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */\n ;\n\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsWordArray = CryptoJS.lib.WordArray.create(Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]));\n var ikmWordArray = ikm instanceof Buffer ? CryptoJS.lib.WordArray.create(ikm) : ikm;\n var saltWordArray = salt instanceof Buffer ? CryptoJS.lib.WordArray.create(salt) : salt;\n var prk = HmacSHA256(ikmWordArray, saltWordArray);\n var hmac = HmacSHA256(infoBitsWordArray, prk);\n return Buffer.from(hmac.toString(), 'hex').slice(0, 16);\n }\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback} callback Called with (err, hkdfValue)\n * @returns {void}\n */\n ;\n\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n\n callback(null, hkdf);\n });\n }\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n\n callback(null, result.mod(_this5.N));\n });\n });\n }\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */\n ;\n\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */\n ;\n\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n /* Get a hex string for abs(bigInt) */\n\n var hexStr = bigInt.abs().toString(16);\n /* Pad hex to even length if needed */\n\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n /* Prepend \"00\" if the most significant bit is set */\n\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n /* After flipping the bits, add one to get the 2's complement representation */\n\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n\n return hexStr;\n };\n\n return AuthenticationHelper;\n}();\n\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\n/** @class */\n\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n /**\n * @returns {string} the record's token.\n */\n\n\n var _proto = CognitoJwtToken.prototype;\n\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n /**\n * @returns {int} the token's expiration (exp member).\n */\n ;\n\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */\n ;\n\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n /**\n * @returns {object} the token's payload.\n */\n ;\n\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n\n return CognitoJwtToken;\n}();\n\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport CognitoJwtToken from './CognitoJwtToken';\n/** @class */\n\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n\n return CognitoAccessToken;\n}(CognitoJwtToken);\n\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport CognitoJwtToken from './CognitoJwtToken';\n/** @class */\n\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n\n return CognitoIdToken;\n}(CognitoJwtToken);\n\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n\n // Assign object\n this.token = RefreshToken || '';\n }\n /**\n * @returns {string} the record's token.\n */\n\n\n var _proto = CognitoRefreshToken.prototype;\n\n _proto.getToken = function getToken() {\n return this.token;\n };\n\n return CognitoRefreshToken;\n}();\n\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n\n\n var _proto = CognitoUserSession.prototype;\n\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */\n ;\n\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n /**\n * @returns {CognitoAccessToken} the session's access token\n */\n ;\n\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n /**\n * @returns {int} the session's clock drift\n */\n ;\n\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n /**\n * @returns {int} the computer's clock drift\n */\n ;\n\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */\n ;\n\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n\n return CognitoUserSession;\n}();\n\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n/** @class */\n\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n\n var _proto = DateHelper.prototype;\n\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n\n var minutes = now.getUTCMinutes();\n\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n\n var seconds = now.getUTCSeconds();\n\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n\n var year = now.getUTCFullYear(); // ddd MMM D HH:mm:ss UTC YYYY\n\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n\n return DateHelper;\n}();\n\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n\n this.Name = Name || '';\n this.Value = Value || '';\n }\n /**\n * @returns {string} the record's value.\n */\n\n\n var _proto = CognitoUserAttribute.prototype;\n\n _proto.getValue = function getValue() {\n return this.Value;\n }\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */\n ;\n\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n /**\n * @returns {string} the record's name.\n */\n ;\n\n _proto.getName = function getName() {\n return this.Name;\n }\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */\n ;\n\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n /**\n * @returns {string} a string representation of the record.\n */\n ;\n\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n /**\n * @returns {object} a flat object representing the record.\n */\n ;\n\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n\n return CognitoUserAttribute;\n}();\n\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nvar dataMemory = {};\n/** @class */\n\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n ;\n\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */\n ;\n\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n ;\n\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n\n return MemoryStorage;\n}();\n/** @class */\n\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n\n\n var _proto = StorageHelper.prototype;\n\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n\n return StorageHelper;\n}();\n\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { Buffer } from 'buffer';\nimport CryptoJS from 'crypto-js/core';\nimport TypedArrays from 'crypto-js/lib-typedarrays'; // necessary for crypto js\n\nimport Base64 from 'crypto-js/enc-base64';\nimport HmacSHA256 from 'crypto-js/hmac-sha256';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isBrowser = typeof navigator !== 'undefined';\nvar userAgent = isBrowser ? navigator.userAgent : 'nodejs';\n/** @class */\n\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n\n\n var _proto = CognitoUser.prototype;\n\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n /**\n * @returns {CognitoUserSession} the current session for this user\n */\n ;\n\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n /**\n * @returns {string} the user's username\n */\n ;\n\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n /**\n * @returns {String} the authentication flow type\n */\n ;\n\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */\n ;\n\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n\n _this.cacheTokens();\n\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n\n authParameters.SRP_A = aValue.toString(16);\n\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n\n _this2.getCachedDeviceKeyAndPassword();\n\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n\n var dateNow = dateHelper.getNowString();\n var message = CryptoJS.lib.WordArray.create(Buffer.concat([Buffer.from(_this2.pool.getUserPoolId().split('_')[1], 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]));\n var key = CryptoJS.lib.WordArray.create(hkdf);\n var signatureString = Base64.stringify(HmacSHA256(message, key));\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n\n _this2.clearCachedDeviceKeyAndPassword();\n\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined; // getPasswordAuthenticationKey callback end\n });\n return undefined;\n }); // getLargeAValue callback end\n\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n this.getCachedDeviceKeyAndPassword();\n\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n } // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n\n\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */\n ;\n\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n\n _this4.cacheDeviceKeyAndPassword();\n\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n\n return callback.onSuccess(_this4.signInUserSession);\n });\n\n return undefined;\n });\n return undefined;\n }\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes..\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */\n ;\n\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n\n var dateNow = dateHelper.getNowString();\n var message = CryptoJS.lib.WordArray.create(Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]));\n var key = CryptoJS.lib.WordArray.create(hkdf);\n var signatureString = Base64.stringify(HmacSHA256(message, key));\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n\n _this6.cacheTokens();\n\n return callback.onSuccess(_this6.signInUserSession);\n });\n\n return undefined; // getPasswordAuthenticationKey callback end\n });\n return undefined;\n }); // getLargeAValue callback end\n\n });\n }\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n }\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolId().split('_')[1]);\n this.getCachedDeviceKeyAndPassword();\n\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n\n var challengeName = dataAuthenticate.ChallengeName;\n\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n\n return undefined;\n }\n\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n\n _this8.cacheTokens();\n\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolId().split('_')[1]);\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n\n _this8.cacheDeviceKeyAndPassword();\n\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n\n return callback.onSuccess(_this8.signInUserSession);\n });\n\n return undefined;\n });\n return undefined;\n });\n }\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n _this9.clearCachedUser();\n\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n } // update cached user\n\n\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n\n var attributeList = [];\n\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n\n return callback(null, attributeList);\n });\n return undefined;\n }\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */\n ;\n\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n\n var userData = this.getUserDataFromCache();\n\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */\n ;\n\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n\n return data;\n });\n }\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n } // update cached user\n\n\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n\n return callback(null, result);\n });\n }\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */\n ;\n\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n\n return undefined;\n }\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n\n return wrappedCallback(err, null);\n }\n\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n\n _this15.cacheTokens();\n\n return wrappedCallback(null, _this15.signInUserSession);\n }\n\n return undefined;\n });\n }\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */\n ;\n\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n /**\n * This is to cache user data\n */\n ;\n\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n /**\n * This is to remove cached user data\n */\n ;\n\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */\n ;\n\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */\n ;\n\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */\n ;\n\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */\n ;\n\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */\n ;\n\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n\n return callback.onSuccess(data);\n });\n }\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n }\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */\n ;\n\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n return undefined;\n }\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n\n _this16.clearCachedDeviceKeyAndPassword();\n\n return callback.onSuccess(result);\n }\n });\n }\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */\n ;\n\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n return undefined;\n }\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */\n ;\n\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this17.clearCachedUser();\n\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */\n ;\n\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n\n revokeTokenCallback(err);\n });\n });\n };\n\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n\n var tokensToBeRevoked = [];\n\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n\n return revokeTokenCallback(_error);\n }\n\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n\n revokeTokenCallback();\n };\n\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n\n return !!origin_jti;\n } catch (err) {// Nothing to do, token doesnt have origin_jti claim\n }\n }\n\n return false;\n };\n\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n\n callback();\n });\n }\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this19.Session = data.Session;\n\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n\n return undefined;\n });\n }\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */\n ;\n\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */\n ;\n\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n\n _this21.cacheTokens();\n\n return callback.onSuccess(_this21.signInUserSession);\n });\n\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n\n return callback.onSuccess(data);\n });\n }\n };\n\n return CognitoUser;\n}();\n\nexport { CognitoUser as default };","// generated by genversion\nexport var version = '5.0.4';","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false\n};\n\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\n\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n/**\n * @deprecated use named import\n */\n\nexport default Platform;","import { getUserAgent } from \"./Platform\"; // constructor\n\nfunction UserAgent() {} // public\n\n\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n}; // class for defining the amzn user-agent\n\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport 'isomorphic-unfetch';\nimport UserAgent from './UserAgent';\n\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n\n function CognitoError(message, code, name, statusCode) {\n var _this;\n\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\n\n\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise\n */\n\n\n var _proto = Client.prototype;\n\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */\n ;\n\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': UserAgent.prototype.userAgent\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n cache: 'no-cache',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data; // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n } // otherwise check if error is Network error\n\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n\n return callback(err);\n });\n };\n\n return Client;\n}();\n\nexport { Client as default };\nvar logger = {\n debug: function debug() {// Intentionally blank. This package doesn't have logging\n }\n};\n/**\n * For now, all errors are retryable.\n */\n\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n\n function NonRetryableError(message) {\n var _this4;\n\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\n\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}\n\n;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n/** @class */\n\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n /**\n * @returns {string} the user pool id\n */\n\n\n var _proto = CognitoUserPool.prototype;\n\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n /**\n * @returns {string} the client id\n */\n ;\n\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */\n ;\n\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */\n ;\n\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n\n return null;\n }\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/\n ;\n\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n\n\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n\n return {};\n };\n\n return CognitoUserPool;\n}();\n\nexport { CognitoUserPool as default };","import * as Cookies from 'js-cookie';\n/** @class */\n\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (mandatory).\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behaviour (default: null)\n */\n function CookieStorage(data) {\n if (data.domain) {\n this.domain = data.domain;\n } else {\n throw new Error('The domain of cookieStorage can not be undefined.');\n }\n\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n\n\n var _proto = CookieStorage.prototype;\n\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n ;\n\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n ;\n\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n\n return Cookies.remove(key, options);\n }\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */\n ;\n\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n\n return {};\n };\n\n return CookieStorage;\n}();\n\nexport { CookieStorage as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport { default as AuthenticationDetails } from './AuthenticationDetails';\nexport { default as AuthenticationHelper } from './AuthenticationHelper';\nexport { default as CognitoAccessToken } from './CognitoAccessToken';\nexport { default as CognitoIdToken } from './CognitoIdToken';\nexport { default as CognitoRefreshToken } from './CognitoRefreshToken';\nexport { default as CognitoUser } from './CognitoUser';\nexport { default as CognitoUserAttribute } from './CognitoUserAttribute';\nexport { default as CognitoUserPool } from './CognitoUserPool';\nexport { default as CognitoUserSession } from './CognitoUserSession';\nexport { default as CookieStorage } from './CookieStorage';\nexport { default as DateHelper } from './DateHelper';\nexport { appendToCognitoUserAgent } from './UserAgent';\nexport { default as WordArray } from './utils/WordArray';","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst SELF = '_self';\n\nexport const launchUri = (url: string) => {\n\tconst windowProxy = window.open(url, SELF);\n\tif (windowProxy) {\n\t\treturn Promise.resolve(windowProxy);\n\t} else {\n\t\treturn Promise.reject();\n\t}\n};\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nexport const setState = (state: string) => {\n\twindow.sessionStorage.setItem('oauth_state', state);\n};\n\nexport const getState = () => {\n\tconst oauth_state = window.sessionStorage.getItem('oauth_state');\n\twindow.sessionStorage.removeItem('oauth_state');\n\treturn oauth_state;\n};\n\nexport const setPKCE = (private_key: string) => {\n\twindow.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\n\nexport const getPKCE = () => {\n\tconst ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\treturn ouath_pkce_key;\n};\n\nexport const clearAll = () => {\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('oauth_state');\n};\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\n\nimport {\n\tOAuthOpts,\n\tisCognitoHostedOpts,\n\tCognitoHostedUIIdentityProvider,\n} from '../types/Auth';\n\nimport { ConsoleLogger as Logger, Hub, urlSafeEncode } from '@aws-amplify/core';\n\nimport sha256 from 'crypto-js/sha256';\nimport Base64 from 'crypto-js/enc-base64';\n\nconst AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\ntypeof Symbol.for === 'function'\n\t? Symbol.for('amplify_default')\n\t: '@@amplify_default') as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\nconst logger = new Logger('OAuth');\n\nexport default class OAuth {\n\tprivate _urlOpener;\n\tprivate _config;\n\tprivate _cognitoClientId;\n\tprivate _scopes;\n\n\tconstructor({\n\t\tconfig,\n\t\tcognitoClientId,\n\t\tscopes = [],\n\t}: {\n\t\tscopes: string[];\n\t\tconfig: OAuthOpts;\n\t\tcognitoClientId: string;\n\t}) {\n\t\tthis._urlOpener = config.urlOpener || launchUri;\n\t\tthis._config = config;\n\t\tthis._cognitoClientId = cognitoClientId;\n\n\t\tif (!this.isValidScopes(scopes))\n\t\t\tthrow Error('scopes must be a String Array');\n\t\tthis._scopes = scopes;\n\t}\n\n\tprivate isValidScopes(scopes: string[]) {\n\t\treturn (\n\t\t\tArray.isArray(scopes) && scopes.every(scope => typeof scope === 'string')\n\t\t);\n\t}\n\n\tpublic oauthSignIn(\n\t\tresponseType = 'code',\n\t\tdomain: string,\n\t\tredirectSignIn: string,\n\t\tclientId: string,\n\t\tprovider:\n\t\t\t| CognitoHostedUIIdentityProvider\n\t\t\t| string = CognitoHostedUIIdentityProvider.Cognito,\n\t\tcustomState?: string\n\t) {\n\t\tconst generatedState = this._generateState(32);\n\n\t\t/* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito \n\t\tsingle-encodes/decodes url on first sign in and double-encodes/decodes url\n\t\twhen user already signed in. Using encodeURIComponent, Base32, Base64 add \n\t\tcharacters % or = which on further encoding becomes unsafe. '=' create issue \n\t\tfor parsing query params. \n\t\tRefer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n\t\tconst state = customState\n\t\t\t? `${generatedState}-${urlSafeEncode(customState)}`\n\t\t\t: generatedState;\n\n\t\toAuthStorage.setState(state);\n\n\t\tconst pkce_key = this._generateRandom(128);\n\t\toAuthStorage.setPKCE(pkce_key);\n\n\t\tconst code_challenge = this._generateChallenge(pkce_key);\n\t\tconst code_challenge_method = 'S256';\n\n\t\tconst scopesString = this._scopes.join(' ');\n\n\t\tconst queryString = Object.entries({\n\t\t\tredirect_uri: redirectSignIn,\n\t\t\tresponse_type: responseType,\n\t\t\tclient_id: clientId,\n\t\t\tidentity_provider: provider,\n\t\t\tscope: scopesString,\n\t\t\tstate,\n\t\t\t...(responseType === 'code' ? { code_challenge } : {}),\n\t\t\t...(responseType === 'code' ? { code_challenge_method } : {}),\n\t\t})\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst URL = `https://${domain}/oauth2/authorize?${queryString}`;\n\t\tlogger.debug(`Redirecting to ${URL}`);\n\t\tthis._urlOpener(URL, redirectSignIn);\n\t}\n\n\tprivate async _handleCodeFlow(currentUrl: string) {\n\t\t/* Convert URL into an object with parameters as keys\n { redirect_uri: 'http://localhost:3000/', response_type: 'code', ...} */\n\t\tconst { code } = (parse(currentUrl).query || '')\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), { code: undefined });\n\n\t\tconst currentUrlPathname = parse(currentUrl).pathname || '/';\n\t\tconst redirectSignInPathname =\n\t\t\tparse(this._config.redirectSignIn).pathname || '/';\n\n\t\tif (!code || currentUrlPathname !== redirectSignInPathname) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst oAuthTokenEndpoint =\n\t\t\t'https://' + this._config.domain + '/oauth2/token';\n\n\t\tdispatchAuthEvent(\n\t\t\t'codeFlow',\n\t\t\t{},\n\t\t\t`Retrieving tokens from ${oAuthTokenEndpoint}`\n\t\t);\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.clientID;\n\n\t\tconst redirect_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignIn\n\t\t\t: this._config.redirectUri;\n\n\t\tconst code_verifier = oAuthStorage.getPKCE();\n\n\t\tconst oAuthTokenBody = {\n\t\t\tgrant_type: 'authorization_code',\n\t\t\tcode,\n\t\t\tclient_id,\n\t\t\tredirect_uri,\n\t\t\t...(code_verifier ? { code_verifier } : {}),\n\t\t};\n\n\t\tlogger.debug(\n\t\t\t`Calling token endpoint: ${oAuthTokenEndpoint} with`,\n\t\t\toAuthTokenBody\n\t\t);\n\n\t\tconst body = Object.entries(oAuthTokenBody)\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst {\n\t\t\taccess_token,\n\t\t\trefresh_token,\n\t\t\tid_token,\n\t\t\terror,\n\t\t} = await ((await fetch(oAuthTokenEndpoint, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t\tbody,\n\t\t})) as any).json();\n\n\t\tif (error) {\n\t\t\tthrow new Error(error);\n\t\t}\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\trefreshToken: refresh_token,\n\t\t\tidToken: id_token,\n\t\t};\n\t}\n\n\tprivate async _handleImplicitFlow(currentUrl: string) {\n\t\t// hash is `null` if `#` doesn't exist on URL\n\t\tconst { id_token, access_token } = (parse(currentUrl).hash || '#')\n\t\t\t.substr(1) // Remove # from returned code\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), {\n\t\t\t\tid_token: undefined,\n\t\t\t\taccess_token: undefined,\n\t\t\t});\n\n\t\tdispatchAuthEvent('implicitFlow', {}, `Got tokens from ${currentUrl}`);\n\t\tlogger.debug(`Retrieving implicit tokens from ${currentUrl} with`);\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\tidToken: id_token,\n\t\t\trefreshToken: null,\n\t\t};\n\t}\n\n\tpublic async handleAuthResponse(currentUrl?: string) {\n\t\ttry {\n\t\t\tconst urlParams = currentUrl\n\t\t\t\t? ({\n\t\t\t\t\t\t...(parse(currentUrl).hash || '#')\n\t\t\t\t\t\t\t.substr(1)\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t\t\t...(parse(currentUrl).query || '')\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t } as any)\n\t\t\t\t: {};\n\t\t\tconst { error, error_description } = urlParams;\n\n\t\t\tif (error) {\n\t\t\t\tthrow new Error(error_description);\n\t\t\t}\n\n\t\t\tconst state: string = this._validateState(urlParams);\n\n\t\t\tlogger.debug(\n\t\t\t\t`Starting ${this._config.responseType} flow with ${currentUrl}`\n\t\t\t);\n\t\t\tif (this._config.responseType === 'code') {\n\t\t\t\treturn { ...(await this._handleCodeFlow(currentUrl)), state };\n\t\t\t} else {\n\t\t\t\treturn { ...(await this._handleImplicitFlow(currentUrl)), state };\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.error(`Error handling auth response.`, e);\n\t\t\tthrow e;\n\t\t}\n\t}\n\n\tprivate _validateState(urlParams: any): string {\n\t\tif (!urlParams) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst savedState = oAuthStorage.getState();\n\t\tconst { state: returnedState } = urlParams;\n\n\t\t// This is because savedState only exists if the flow was initiated by Amplify\n\t\tif (savedState && savedState !== returnedState) {\n\t\t\tthrow new Error('Invalid state in OAuth flow');\n\t\t}\n\t\treturn returnedState;\n\t}\n\n\tpublic async signOut() {\n\t\tlet oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.oauth.clientID;\n\n\t\tconst signout_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignOut\n\t\t\t: this._config.returnTo;\n\n\t\toAuthLogoutEndpoint += Object.entries({\n\t\t\tclient_id,\n\t\t\tlogout_uri: encodeURIComponent(signout_uri),\n\t\t})\n\t\t\t.map(([k, v]) => `${k}=${v}`)\n\t\t\t.join('&');\n\n\t\tdispatchAuthEvent(\n\t\t\t'oAuthSignOut',\n\t\t\t{ oAuth: 'signOut' },\n\t\t\t`Signing out from ${oAuthLogoutEndpoint}`\n\t\t);\n\t\tlogger.debug(`Signing out from ${oAuthLogoutEndpoint}`);\n\n\t\treturn this._urlOpener(oAuthLogoutEndpoint, signout_uri);\n\t}\n\n\tprivate _generateState(length: number) {\n\t\tlet result = '';\n\t\tlet i = length;\n\t\tconst chars =\n\t\t\t'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\t\tfor (; i > 0; --i)\n\t\t\tresult += chars[Math.round(Math.random() * (chars.length - 1))];\n\t\treturn result;\n\t}\n\n\tprivate _generateChallenge(code: string) {\n\t\treturn this._base64URL(sha256(code));\n\t}\n\n\tprivate _base64URL(string) {\n\t\treturn string\n\t\t\t.toString(Base64)\n\t\t\t.replace(/=/g, '')\n\t\t\t.replace(/\\+/g, '-')\n\t\t\t.replace(/\\//g, '_');\n\t}\n\n\tprivate _generateRandom(size: number) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n\t\tconst buffer = new Uint8Array(size);\n\t\tif (typeof window !== 'undefined' && !!window.crypto) {\n\t\t\twindow.crypto.getRandomValues(buffer);\n\t\t} else {\n\t\t\tfor (let i = 0; i < size; i += 1) {\n\t\t\t\tbuffer[i] = (Math.random() * CHARSET.length) | 0;\n\t\t\t}\n\t\t}\n\t\treturn this._bufferToString(buffer);\n\t}\n\n\tprivate _bufferToString(buffer: Uint8Array) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\t\tconst state = [];\n\t\tfor (let i = 0; i < buffer.byteLength; i += 1) {\n\t\t\tconst index = buffer[i] % CHARSET.length;\n\t\t\tstate.push(CHARSET[index]);\n\t\t}\n\t\treturn state.join('');\n\t}\n}\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { browserOrNode } from '@aws-amplify/core';\n\nexport default callback => {\n\tif (browserOrNode().isBrowser && window.location) {\n\t\tconst url = window.location.href;\n\n\t\tcallback({ url });\n\t} else if (browserOrNode().isNode) {\n\t\t// continue building on ssr\n\t\t() => {}; // noop\n\t} else {\n\t\tthrow new Error('Not supported');\n\t}\n};\n","export enum AuthErrorStrings {\n\tDEFAULT_MSG = 'Authentication Error',\n\tEMPTY_EMAIL = 'Email cannot be empty',\n\tEMPTY_PHONE = 'Phone number cannot be empty',\n\tEMPTY_USERNAME = 'Username cannot be empty',\n\tINVALID_USERNAME = 'The username should either be a string or one of the sign in types',\n\tEMPTY_PASSWORD = 'Password cannot be empty',\n\tEMPTY_CODE = 'Confirmation code cannot be empty',\n\tSIGN_UP_ERROR = 'Error creating account',\n\tNO_MFA = 'No valid MFA method provided',\n\tINVALID_MFA = 'Invalid MFA type',\n\tEMPTY_CHALLENGE = 'Challenge response cannot be empty',\n\tNO_USER_SESSION = 'Failed to get the session because the user is empty',\n\tNETWORK_ERROR = 'Network Error',\n\tDEVICE_CONFIG = 'Device tracking has not been configured in this User Pool',\n\tAUTOSIGNIN_ERROR = 'Please use your credentials to sign in',\n}\n","/*\n * Copyright 2019-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { AuthErrorMessages, AuthErrorTypes } from './types';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\n\nconst logger = new Logger('AuthError');\n\nexport class AuthError extends Error {\n\tpublic log: string;\n\tconstructor(type: AuthErrorTypes) {\n\t\tconst { message, log } = authErrorMessages[type];\n\t\tsuper(message);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = AuthError;\n\t\tObject.setPrototypeOf(this, AuthError.prototype);\n\n\t\tthis.name = 'AuthError';\n\t\tthis.log = log || message;\n\n\t\tlogger.error(this.log);\n\t}\n}\n\nexport class NoUserPoolError extends AuthError {\n\tconstructor(type: AuthErrorTypes) {\n\t\tsuper(type);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = NoUserPoolError;\n\t\tObject.setPrototypeOf(this, NoUserPoolError.prototype);\n\n\t\tthis.name = 'NoUserPoolError';\n\t}\n}\n\nexport const authErrorMessages: AuthErrorMessages = {\n\tnoConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly.\n This error is typically caused by one of the following scenarios:\n\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\n \n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\n\t\t\t\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\n `,\n\t},\n\tmissingAuthConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly. \n The configuration object is missing required auth properties.\n This error is typically caused by one of the following scenarios:\n\n 1. Did you run \\`amplify push\\` after adding auth via \\`amplify add auth\\`?\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\n\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\n `,\n\t},\n\temptyUsername: {\n\t\tmessage: AuthErrorStrings.EMPTY_USERNAME,\n\t},\n\t// TODO: should include a list of valid sign-in types\n\tinvalidUsername: {\n\t\tmessage: AuthErrorStrings.INVALID_USERNAME,\n\t},\n\temptyPassword: {\n\t\tmessage: AuthErrorStrings.EMPTY_PASSWORD,\n\t},\n\temptyCode: {\n\t\tmessage: AuthErrorStrings.EMPTY_CODE,\n\t},\n\tsignUpError: {\n\t\tmessage: AuthErrorStrings.SIGN_UP_ERROR,\n\t\tlog: 'The first parameter should either be non-null string or object',\n\t},\n\tnoMFA: {\n\t\tmessage: AuthErrorStrings.NO_MFA,\n\t},\n\tinvalidMFA: {\n\t\tmessage: AuthErrorStrings.INVALID_MFA,\n\t},\n\temptyChallengeResponse: {\n\t\tmessage: AuthErrorStrings.EMPTY_CHALLENGE,\n\t},\n\tnoUserSession: {\n\t\tmessage: AuthErrorStrings.NO_USER_SESSION,\n\t},\n\tdeviceConfig: {\n\t\tmessage: AuthErrorStrings.DEVICE_CONFIG,\n\t},\n\tnetworkError: {\n\t\tmessage: AuthErrorStrings.NETWORK_ERROR,\n\t},\n\tautoSignInError: {\n\t\tmessage: AuthErrorStrings.AUTOSIGNIN_ERROR,\n\t},\n\tdefault: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t},\n};\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n *\t http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport {\n\tAuthOptions,\n\tFederatedResponse,\n\tSignUpParams,\n\tFederatedUser,\n\tConfirmSignUpOptions,\n\tSignOutOpts,\n\tCurrentUserOpts,\n\tGetPreferredMFAOpts,\n\tSignInOpts,\n\tisUsernamePasswordOpts,\n\tisCognitoHostedOpts,\n\tisFederatedSignInOptions,\n\tisFederatedSignInOptionsCustom,\n\thasCustomState,\n\tFederatedSignInOptionsCustom,\n\tLegacyProvider,\n\tFederatedSignInOptions,\n\tAwsCognitoOAuthOpts,\n\tClientMetaData,\n} from './types';\n\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n\tHub,\n\tStorageHelper,\n\tICredentials,\n\tParser,\n\tbrowserOrNode,\n\tUniversalStorage,\n\turlSafeDecode,\n\tHubCallback,\n} from '@aws-amplify/core';\nimport {\n\tCookieStorage,\n\tCognitoUserPool,\n\tAuthenticationDetails,\n\tICognitoUserPoolData,\n\tICognitoUserData,\n\tISignUpResult,\n\tCognitoUser,\n\tMFAOption,\n\tCognitoUserSession,\n\tIAuthenticationCallback,\n\tICognitoUserAttributeData,\n\tCognitoUserAttribute,\n\tCognitoIdToken,\n\tCognitoRefreshToken,\n\tCognitoAccessToken,\n\tNodeCallback,\n} from 'amazon-cognito-identity-js';\n\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport {\n\tAuthErrorTypes,\n\tAutoSignInOptions,\n\tCognitoHostedUIIdentityProvider,\n\tIAuthDevice,\n} from './types/Auth';\n\nconst logger = new Logger('AuthClass');\nconst USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nconst OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nconst MAX_DEVICES = 60;\n\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n\n/**\n * Provide authentication steps\n */\nexport class AuthClass {\n\tprivate _config: AuthOptions;\n\tprivate userPool: CognitoUserPool = null;\n\tprivate user: any = null;\n\tprivate _oAuthHandler: OAuth;\n\tprivate _storage;\n\tprivate _storageSync;\n\tprivate oAuthFlowInProgress: boolean = false;\n\tprivate pendingSignIn: ReturnType | null;\n\tprivate autoSignInInitiated: boolean = false;\n\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize Auth with AWS configurations\n\t * @param {Object} config - Configuration of the Auth\n\t */\n\tconstructor(config: AuthOptions) {\n\t\tthis.configure(config);\n\t\tthis.currentCredentials = this.currentCredentials.bind(this);\n\t\tthis.currentUserCredentials = this.currentUserCredentials.bind(this);\n\n\t\tHub.listen('auth', ({ payload }) => {\n\t\t\tconst { event } = payload;\n\t\t\tswitch (event) {\n\t\t\t\tcase 'signIn':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'false');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signOut':\n\t\t\t\t\tthis._storage.removeItem('amplify-signin-with-hostedUI');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'cognitoHostedUI':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'true');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Auth';\n\t}\n\n\tconfigure(config?) {\n\t\tif (!config) return this._config || {};\n\t\tlogger.debug('configure Auth');\n\t\tconst conf = Object.assign(\n\t\t\t{},\n\t\t\tthis._config,\n\t\t\tParser.parseMobilehubConfig(config).Auth,\n\t\t\tconfig\n\t\t);\n\t\tthis._config = conf;\n\t\tconst {\n\t\t\tuserPoolId,\n\t\t\tuserPoolWebClientId,\n\t\t\tcookieStorage,\n\t\t\toauth,\n\t\t\tregion,\n\t\t\tidentityPoolId,\n\t\t\tmandatorySignIn,\n\t\t\trefreshHandlers,\n\t\t\tidentityPoolRegion,\n\t\t\tclientMetadata,\n\t\t\tendpoint,\n\t\t} = this._config;\n\n\t\tif (!this._config.storage) {\n\t\t\t// backward compatability\n\t\t\tif (cookieStorage) this._storage = new CookieStorage(cookieStorage);\n\t\t\telse {\n\t\t\t\tthis._storage = config.ssr\n\t\t\t\t\t? new UniversalStorage()\n\t\t\t\t\t: new StorageHelper().getStorage();\n\t\t\t}\n\t\t} else {\n\t\t\tif (!this._isValidAuthStorage(this._config.storage)) {\n\t\t\t\tlogger.error('The storage in the Auth config is not valid!');\n\t\t\t\tthrow new Error('Empty storage object');\n\t\t\t}\n\t\t\tthis._storage = this._config.storage;\n\t\t}\n\n\t\tthis._storageSync = Promise.resolve();\n\t\tif (typeof this._storage['sync'] === 'function') {\n\t\t\tthis._storageSync = this._storage['sync']();\n\t\t}\n\n\t\tif (userPoolId) {\n\t\t\tconst userPoolData: ICognitoUserPoolData = {\n\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\tClientId: userPoolWebClientId,\n\t\t\t\tendpoint,\n\t\t\t};\n\t\t\tuserPoolData.Storage = this._storage;\n\n\t\t\tthis.userPool = new CognitoUserPool(\n\t\t\t\tuserPoolData,\n\t\t\t\tthis.wrapRefreshSessionCallback\n\t\t\t);\n\t\t}\n\n\t\tthis.Credentials.configure({\n\t\t\tmandatorySignIn,\n\t\t\tregion: identityPoolRegion || region,\n\t\t\tuserPoolId,\n\t\t\tidentityPoolId,\n\t\t\trefreshHandlers,\n\t\t\tstorage: this._storage,\n\t\t});\n\n\t\t// initialize cognitoauth client if hosted ui options provided\n\t\t// to keep backward compatibility:\n\t\tconst cognitoHostedUIConfig = oauth\n\t\t\t? isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t? oauth\n\t\t\t\t: (oauth).awsCognito\n\t\t\t: undefined;\n\n\t\tif (cognitoHostedUIConfig) {\n\t\t\tconst cognitoAuthParams = Object.assign(\n\t\t\t\t{\n\t\t\t\t\tcognitoClientId: userPoolWebClientId,\n\t\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\t\tdomain: cognitoHostedUIConfig['domain'],\n\t\t\t\t\tscopes: cognitoHostedUIConfig['scope'],\n\t\t\t\t\tredirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n\t\t\t\t\tredirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n\t\t\t\t\tresponseType: cognitoHostedUIConfig['responseType'],\n\t\t\t\t\tStorage: this._storage,\n\t\t\t\t\turlOpener: cognitoHostedUIConfig['urlOpener'],\n\t\t\t\t\tclientMetadata,\n\t\t\t\t},\n\t\t\t\tcognitoHostedUIConfig['options']\n\t\t\t);\n\n\t\t\tthis._oAuthHandler = new OAuth({\n\t\t\t\tscopes: cognitoAuthParams.scopes,\n\t\t\t\tconfig: cognitoAuthParams,\n\t\t\t\tcognitoClientId: cognitoAuthParams.cognitoClientId,\n\t\t\t});\n\n\t\t\t// **NOTE** - Remove this in a future major release as it is a breaking change\n\t\t\t// Prevents _handleAuthResponse from being called multiple times in Expo\n\t\t\t// See https://github.com/aws-amplify/amplify-js/issues/4388\n\t\t\tconst usedResponseUrls = {};\n\t\t\turlListener(({ url }) => {\n\t\t\t\tif (usedResponseUrls[url]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tusedResponseUrls[url] = true;\n\t\t\t\tthis._handleAuthResponse(url);\n\t\t\t});\n\t\t}\n\n\t\tdispatchAuthEvent(\n\t\t\t'configured',\n\t\t\tnull,\n\t\t\t`The Auth category has been configured successfully`\n\t\t);\n\n\t\tif (\n\t\t\t!this.autoSignInInitiated &&\n\t\t\ttypeof this._storage['getItem'] === 'function'\n\t\t) {\n\t\t\tconst pollingInitiated = this.isTrueStorageValue(\n\t\t\t\t'amplify-polling-started'\n\t\t\t);\n\t\t\tif (pollingInitiated) {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t}\n\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t}\n\t\treturn this._config;\n\t}\n\n\twrapRefreshSessionCallback = (callback: NodeCallback.Any) => {\n\t\tconst wrapped: NodeCallback.Any = (error, data) => {\n\t\t\tif (data) {\n\t\t\t\tdispatchAuthEvent('tokenRefresh', undefined, `New token retrieved`);\n\t\t\t} else {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'tokenRefresh_failure',\n\t\t\t\t\terror,\n\t\t\t\t\t`Failed to retrieve new token`\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn callback(error, data);\n\t\t};\n\t\treturn wrapped;\n\t} // prettier-ignore\n\n\t/**\n\t * Sign up with username, password and other attributes like phone, email\n\t * @param {String | object} params - The user attributes used for signin\n\t * @param {String[]} restOfAttrs - for the backward compatability\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic signUp(\n\t\tparams: string | SignUpParams,\n\t\t...restOfAttrs: string[]\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username: string = null;\n\t\tlet password: string = null;\n\t\tconst attributes: CognitoUserAttribute[] = [];\n\t\tlet validationData: CognitoUserAttribute[] = null;\n\t\tlet clientMetadata;\n\t\tlet autoSignIn: AutoSignInOptions = { enabled: false };\n\t\tlet autoSignInValidationData = {};\n\t\tlet autoSignInClientMetaData: ClientMetaData = {};\n\n\t\tif (params && typeof params === 'string') {\n\t\t\tusername = params;\n\t\t\tpassword = restOfAttrs ? restOfAttrs[0] : null;\n\t\t\tconst email: string = restOfAttrs ? restOfAttrs[1] : null;\n\t\t\tconst phone_number: string = restOfAttrs ? restOfAttrs[2] : null;\n\n\t\t\tif (email)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({ Name: 'email', Value: email })\n\t\t\t\t);\n\n\t\t\tif (phone_number)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\tName: 'phone_number',\n\t\t\t\t\t\tValue: phone_number,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t} else if (params && typeof params === 'object') {\n\t\t\tusername = params['username'];\n\t\t\tpassword = params['password'];\n\n\t\t\tif (params && params.clientMetadata) {\n\t\t\t\tclientMetadata = params.clientMetadata;\n\t\t\t} else if (this._config.clientMetadata) {\n\t\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t\t}\n\n\t\t\tconst attrs = params['attributes'];\n\t\t\tif (attrs) {\n\t\t\t\tObject.keys(attrs).map(key => {\n\t\t\t\t\tattributes.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({ Name: key, Value: attrs[key] })\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst validationDataObject = params['validationData'];\n\t\t\tif (validationDataObject) {\n\t\t\t\tvalidationData = [];\n\t\t\t\tObject.keys(validationDataObject).map(key => {\n\t\t\t\t\tvalidationData.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: validationDataObject[key],\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tautoSignIn = params.autoSignIn ?? { enabled: false };\n\t\t\tif (autoSignIn.enabled) {\n\t\t\t\tthis._storage.setItem('amplify-auto-sign-in', 'true');\n\t\t\t\tautoSignInValidationData = autoSignIn.validationData ?? {};\n\t\t\t\tautoSignInClientMetaData = autoSignIn.clientMetaData ?? {};\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.SignUpError);\n\t\t}\n\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tlogger.debug('signUp attrs:', attributes);\n\t\tlogger.debug('signUp validation data:', validationData);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userPool.signUp(\n\t\t\t\tusername,\n\t\t\t\tpassword,\n\t\t\t\tattributes,\n\t\t\t\tvalidationData,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} failed to signup`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has signed up successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (autoSignIn.enabled) {\n\t\t\t\t\t\t\tthis.handleAutoSignIn(\n\t\t\t\t\t\t\t\tusername,\n\t\t\t\t\t\t\t\tpassword,\n\t\t\t\t\t\t\t\tautoSignInValidationData,\n\t\t\t\t\t\t\t\tautoSignInClientMetaData,\n\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate handleAutoSignIn(\n\t\tusername: string,\n\t\tpassword: string,\n\t\tvalidationData: {},\n\t\tclientMetadata: any,\n\t\tdata: any\n\t) {\n\t\tthis.autoSignInInitiated = true;\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (data.userConfirmed) {\n\t\t\tthis.signInAfterUserConfirmed(authDetails);\n\t\t} else if (this._config.signUpVerificationMethod === 'link') {\n\t\t\tthis.handleLinkAutoSignIn(authDetails);\n\t\t} else {\n\t\t\tthis.handleCodeAutoSignIn(authDetails);\n\t\t}\n\t}\n\n\tprivate handleCodeAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tconst listenEvent = ({ payload }) => {\n\t\t\tif (payload.event === 'confirmSignUp') {\n\t\t\t\tthis.signInAfterUserConfirmed(authDetails, listenEvent);\n\t\t\t}\n\t\t};\n\t\tHub.listen('auth', listenEvent);\n\t}\n\n\tprivate handleLinkAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tthis._storage.setItem('amplify-polling-started', 'true');\n\t\tconst start = Date.now();\n\t\tconst autoSignInPollingIntervalId = setInterval(() => {\n\t\t\tif (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\t'Please confirm your account and use your credentials to sign in.'\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t} else {\n\t\t\t\tthis.signInAfterUserConfirmed(\n\t\t\t\t\tauthDetails,\n\t\t\t\t\tnull,\n\t\t\t\t\tautoSignInPollingIntervalId\n\t\t\t\t);\n\t\t\t}\n\t\t}, 5000);\n\t}\n\n\tprivate async signInAfterUserConfirmed(\n\t\tauthDetails: AuthenticationDetails,\n\t\tlistenEvent?: HubCallback,\n\t\tautoSignInPollingIntervalId?: ReturnType\n\t) {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\ttry {\n\t\t\tawait user.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'autoSignIn',\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t`${authDetails.getUsername()} has signed in successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (listenEvent) {\n\t\t\t\t\t\t\tHub.remove('auth', listenEvent);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (autoSignInPollingIntervalId) {\n\t\t\t\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tlogger.error(error);\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * Send the verification code to confirm sign up\n\t * @param {String} username - The username to be confirmed\n\t * @param {String} code - The verification code\n\t * @param {ConfirmSignUpOptions} options - other options for confirm signup\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic confirmSignUp(\n\t\tusername: string,\n\t\tcode: string,\n\t\toptions?: ConfirmSignUpOptions\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\tconst forceAliasCreation =\n\t\t\toptions && typeof options.forceAliasCreation === 'boolean'\n\t\t\t\t? options.forceAliasCreation\n\t\t\t\t: true;\n\n\t\tlet clientMetadata;\n\t\tif (options && options.clientMetadata) {\n\t\t\tclientMetadata = options.clientMetadata;\n\t\t} else if (this._config.clientMetadata) {\n\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t}\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmRegistration(\n\t\t\t\tcode,\n\t\t\t\tforceAliasCreation,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'confirmSignUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has been confirmed successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst autoSignIn = this.isTrueStorageValue('amplify-auto-sign-in');\n\t\t\t\t\t\tif (autoSignIn && !this.autoSignInInitiated) {\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate isTrueStorageValue(value: string) {\n\t\tconst item = this._storage.getItem(value);\n\t\treturn item ? item === 'true' : false;\n\t}\n\n\t/**\n\t * Resend the verification code\n\t * @param {String} username - The username to be confirmed\n\t * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n\t * @return - A promise resolves code delivery details if successful\n\t */\n\tpublic resendSignUp(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.resendConfirmationCode((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t}, clientMetadata);\n\t\t});\n\t}\n\n\t/**\n\t * Sign in\n\t * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n\t * @param {String} password - The password of the username\n\t * @return - A promise resolves the CognitoUser\n\t */\n\tpublic signIn(\n\t\tusernameOrSignInOpts: string | SignInOpts,\n\t\tpw?: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username = null;\n\t\tlet password = null;\n\t\tlet validationData = {};\n\n\t\t// for backward compatibility\n\t\tif (typeof usernameOrSignInOpts === 'string') {\n\t\t\tusername = usernameOrSignInOpts;\n\t\t\tpassword = pw;\n\t\t} else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n\t\t\tif (typeof pw !== 'undefined') {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t'The password should be defined under the first parameter object!'\n\t\t\t\t);\n\t\t\t}\n\t\t\tusername = usernameOrSignInOpts.username;\n\t\t\tpassword = usernameOrSignInOpts.password;\n\t\t\tvalidationData = usernameOrSignInOpts.validationData;\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (password) {\n\t\t\treturn this.signInWithPassword(authDetails);\n\t\t} else {\n\t\t\treturn this.signInWithoutPassword(authDetails);\n\t\t}\n\t}\n\n\t/**\n\t * Return an object with the authentication callbacks\n\t * @param {CognitoUser} user - the cognito user object\n\t * @param {} resolve - function called when resolving the current step\n\t * @param {} reject - function called when rejecting the current step\n\t * @return - an object with the callback methods for user authentication\n\t */\n\tprivate authCallbacks(\n\t\tuser: CognitoUser,\n\t\tresolve: (value?: CognitoUser | any) => void,\n\t\treject: (value?: any) => void\n\t): IAuthenticationCallback {\n\t\tconst that = this;\n\t\treturn {\n\t\t\tonSuccess: async session => {\n\t\t\t\tlogger.debug(session);\n\t\t\t\tdelete user['challengeName'];\n\t\t\t\tdelete user['challengeParam'];\n\t\t\t\ttry {\n\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// In order to get user attributes and MFA methods\n\t\t\t\t\t\t// We need to trigger currentUserPoolUser again\n\t\t\t\t\t\tconst currentUser = await this.currentUserPoolUser();\n\t\t\t\t\t\tthat.user = currentUser;\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(currentUser);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlogger.error('Failed to get the signed in user', e);\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonFailure: err => {\n\t\t\t\tlogger.debug('signIn failure', err);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'signIn_failure',\n\t\t\t\t\terr,\n\t\t\t\t\t`${user.getUsername()} failed to signin`\n\t\t\t\t);\n\t\t\t\treject(err);\n\t\t\t},\n\t\t\tcustomChallenge: challengeParam => {\n\t\t\t\tlogger.debug('signIn custom challenge answer required');\n\t\t\t\tuser['challengeName'] = 'CUSTOM_CHALLENGE';\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tnewPasswordRequired: (userAttributes, requiredAttributes) => {\n\t\t\t\tlogger.debug('signIn new password');\n\t\t\t\tuser['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n\t\t\t\tuser['challengeParam'] = {\n\t\t\t\t\tuserAttributes,\n\t\t\t\t\trequiredAttributes,\n\t\t\t\t};\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn totpRequired');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tselectMFAType: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn selectMFAType', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Sign in with a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise {\n\t\tif (this.pendingSignIn) {\n\t\t\tthrow new Error('Pending sign-in attempt already in progress');\n\t\t}\n\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\n\t\tthis.pendingSignIn = new Promise((resolve, reject) => {\n\t\t\tuser.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\tresolve(value);\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\treturn this.pendingSignIn;\n\t}\n\n\t/**\n\t * Sign in without a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithoutPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\tuser.setAuthenticationFlowType('CUSTOM_AUTH');\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.initiateAuth(authDetails, this.authCallbacks(user, resolve, reject));\n\t\t});\n\t}\n\n\t/**\n\t * This was previously used by an authenticated user to get MFAOptions,\n\t * but no longer returns a meaningful response. Refer to the documentation for\n\t * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves the current preferred mfa option if success\n\t */\n\tpublic getMFAOptions(user: CognitoUser | any): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getMFAOptions((err, mfaOptions) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('get MFA Options failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('get MFA options success', mfaOptions);\n\t\t\t\tres(mfaOptions);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * get preferred mfa method\n\t * @param {CognitoUser} user - the current cognito user\n\t * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n\t */\n\tpublic getPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tparams?: GetPreferredMFAOpts\n\t): Promise {\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\t\t\tuser.getUserData(\n\t\t\t\tasync (err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('getting preferred mfa failed', err);\n\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst mfaType = that._getMfaTypeFromUserData(data);\n\t\t\t\t\tif (!mfaType) {\n\t\t\t\t\t\trej('invalid MFA Type');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres(mfaType);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getMfaTypeFromUserData(data) {\n\t\tlet ret = null;\n\t\tconst preferredMFA = data.PreferredMfaSetting;\n\t\t// if the user has used Auth.setPreferredMFA() to setup the mfa type\n\t\t// then the \"PreferredMfaSetting\" would exist in the response\n\t\tif (preferredMFA) {\n\t\t\tret = preferredMFA;\n\t\t} else {\n\t\t\t// if mfaList exists but empty, then its noMFA\n\t\t\tconst mfaList = data.UserMFASettingList;\n\t\t\tif (!mfaList) {\n\t\t\t\t// if SMS was enabled by using Auth.enableSMS(),\n\t\t\t\t// the response would contain MFAOptions\n\t\t\t\t// as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n\t\t\t\t// if it does not exist, then it should be NOMFA\n\t\t\t\tconst MFAOptions = data.MFAOptions;\n\t\t\t\tif (MFAOptions) {\n\t\t\t\t\tret = 'SMS_MFA';\n\t\t\t\t} else {\n\t\t\t\t\tret = 'NOMFA';\n\t\t\t\t}\n\t\t\t} else if (mfaList.length === 0) {\n\t\t\t\tret = 'NOMFA';\n\t\t\t} else {\n\t\t\t\tlogger.debug('invalid case for getPreferredMFA', data);\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _getUserData(user, params) {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getUserData(async (err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tres(data);\n\t\t\t\t}\n\t\t\t}, params);\n\t\t});\n\t}\n\n\t/**\n\t * set preferred MFA method\n\t * @param {CognitoUser} user - the current Cognito user\n\t * @param {string} mfaMethod - preferred mfa method\n\t * @return - A promise resolve if success\n\t */\n\tpublic async setPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tmfaMethod: 'TOTP' | 'SMS' | 'NOMFA' | 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA'\n\t): Promise {\n\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\tconst userData = await this._getUserData(user, {\n\t\t\tbypassCache: true,\n\t\t\tclientMetadata,\n\t\t});\n\t\tlet smsMfaSettings = null;\n\t\tlet totpMfaSettings = null;\n\n\t\tswitch (mfaMethod) {\n\t\t\tcase 'TOTP':\n\t\t\tcase 'SOFTWARE_TOKEN_MFA':\n\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'SMS':\n\t\t\tcase 'SMS_MFA':\n\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'NOMFA':\n\t\t\t\tconst mfaList = userData['UserMFASettingList'];\n\t\t\t\tconst currentMFAType = await this._getMfaTypeFromUserData(userData);\n\t\t\t\tif (currentMFAType === 'NOMFA') {\n\t\t\t\t\treturn Promise.resolve('No change for mfa type');\n\t\t\t\t} else if (currentMFAType === 'SMS_MFA') {\n\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidMFA);\n\t\t\t\t}\n\t\t\t\t// if there is a UserMFASettingList in the response\n\t\t\t\t// we need to disable every mfa type in that list\n\t\t\t\tif (mfaList && mfaList.length !== 0) {\n\t\t\t\t\t// to disable SMS or TOTP if exists in that list\n\t\t\t\t\tmfaList.forEach(mfaType => {\n\t\t\t\t\t\tif (mfaType === 'SMS_MFA') {\n\t\t\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlogger.debug('no validmfa method provided');\n\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoMFA);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.setUserMfaPreference(\n\t\t\t\tsmsMfaSettings,\n\t\t\t\ttotpMfaSettings,\n\t\t\t\t(err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Set user mfa preference error', err);\n\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t}\n\t\t\t\t\tlogger.debug('Set user mfa success', result);\n\t\t\t\t\tlogger.debug('Caching the latest user data into local');\n\t\t\t\t\t// cache the latest result into user data\n\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn res(result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbypassCache: true,\n\t\t\t\t\t\t\tclientMetadata,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * disable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic disableSMS(user: CognitoUser): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.disableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('disable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('disable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * enable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic enableSMS(user: CognitoUser): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.enableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('enable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('enable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Setup TOTP\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves with the secret code if success\n\t */\n\tpublic setupTOTP(user: CognitoUser | any): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.associateSoftwareToken({\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tassociateSecretCode: secretCode => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken sucess', secretCode);\n\t\t\t\t\tres(secretCode);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * verify TOTP setup\n\t * @param {CognitoUser} user - the current user\n\t * @param {string} challengeAnswer - challenge answer\n\t * @return - A promise resolves is success\n\t */\n\tpublic verifyTotpToken(\n\t\tuser: CognitoUser | any,\n\t\tchallengeAnswer: string\n\t): Promise {\n\t\tlogger.debug('verification totp token', user, challengeAnswer);\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('verifyTotpToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\tuser,\n\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t);\n\t\t\t\t\tlogger.debug('verifyTotpToken success', data);\n\t\t\t\t\tres(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Send MFA code to confirm sign in\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} code - The confirmation code\n\t */\n\tpublic confirmSignIn(\n\t\tuser: CognitoUser | any,\n\t\tcode: string,\n\t\tmfaType?: 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA' | null,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendMFACode(\n\t\t\t\tcode,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('confirm signIn failure', err);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmfaType,\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic completeNewPassword(\n\t\tuser: CognitoUser | any,\n\t\tpassword: string,\n\t\trequiredAttributes: any = {},\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.completeNewPasswordChallenge(\n\t\t\t\tpassword,\n\t\t\t\trequiredAttributes,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('completeNewPassword failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'completeNewPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${this.user} failed to complete the new password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Send the answer to a custom challenge\n\t * @param {CognitoUser} user - The CognitoUser object\n\t * @param {String} challengeResponses - The confirmation code\n\t */\n\tpublic sendCustomChallengeAnswer(\n\t\tuser: CognitoUser | any,\n\t\tchallengeResponses: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!challengeResponses) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendCustomChallengeAnswer(\n\t\t\t\tchallengeResponses,\n\t\t\t\tthis.authCallbacks(user, resolve, reject),\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Delete an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic deleteUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributeNames: string[]\n\t) {\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tuser.deleteAttributes(attributeNames, (err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Delete the current authenticated user\n\t * @return {Promise}\n\t **/\n\t// TODO: Check return type void\n\tpublic async deleteUser(): Promise {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow new Error(e);\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise(async (res, rej) => {\n\t\t\tif (this.userPool) {\n\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\treturn rej(new Error('No current user.'));\n\t\t\t\t} else {\n\t\t\t\t\tuser.getSession(async (err, session) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuser.deleteUser((err, result: string) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t'userDeleted',\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\t'The authenticated user has been deleted.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tuser.signOut();\n\t\t\t\t\t\t\t\t\tthis.user = null;\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tthis.cleanCachedItems(); // clean aws credentials\n\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t// TODO: change to rejects in refactor\n\t\t\t\t\t\t\t\t\t\tlogger.debug('failed to clear cached items');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t\t'signOut',\n\t\t\t\t\t\t\t\t\t\t\tthis.user,\n\t\t\t\t\t\t\t\t\t\t\t`A user has been signed out`\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tres(result);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogger.debug('no Congito User pool');\n\t\t\t\trej(new Error('Cognito User pool does not exist'));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Update an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic updateUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributes: object,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tconst attributeList: ICognitoUserAttributeData[] = [];\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tfor (const key in attributes) {\n\t\t\t\t\tif (key !== 'sub' && key.indexOf('_verified') < 0) {\n\t\t\t\t\t\tconst attr: ICognitoUserAttributeData = {\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: attributes[key],\n\t\t\t\t\t\t};\n\t\t\t\t\t\tattributeList.push(attr);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tuser.updateAttributes(\n\t\t\t\t\tattributeList,\n\t\t\t\t\t(err, result) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t * Return user attributes\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to user attributes if success\n\t */\n\tpublic userAttributes(\n\t\tuser: CognitoUser | any\n\t): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.getUserAttributes((err, attributes) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(attributes);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifiedContact(user: CognitoUser | any) {\n\t\tconst that = this;\n\t\treturn this.userAttributes(user).then(attributes => {\n\t\t\tconst attrs = that.attributesToObject(attributes);\n\t\t\tconst unverified = {};\n\t\t\tconst verified = {};\n\t\t\tif (attrs['email']) {\n\t\t\t\tif (attrs['email_verified']) {\n\t\t\t\t\tverified['email'] = attrs['email'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['email'] = attrs['email'];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (attrs['phone_number']) {\n\t\t\t\tif (attrs['phone_number_verified']) {\n\t\t\t\t\tverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tverified,\n\t\t\t\tunverified,\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate isErrorWithMessage(err: any): err is { message: string } {\n\t\treturn (\n\t\t\ttypeof err === 'object' &&\n\t\t\tObject.prototype.hasOwnProperty.call(err, 'message')\n\t\t);\n\t}\n\n\t// Session revoked by another app\n\tprivate isTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Access Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Access Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isUserDisabledError(\n\t\terr: any\n\t): err is { message: 'User is disabled.' } {\n\t\treturn this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n\t}\n\n\tprivate isUserDoesNotExistError(\n\t\terr: any\n\t): err is { message: 'User does not exist.' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) && err.message === 'User does not exist.'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenExpiredError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has expired' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has expired'\n\t\t);\n\t}\n\n\tprivate isSignedInHostedUI() {\n\t\treturn (\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true'\n\t\t);\n\t}\n\n\tprivate isSessionInvalid(err: any) {\n\t\treturn (\n\t\t\tthis.isUserDisabledError(err) ||\n\t\t\tthis.isUserDoesNotExistError(err) ||\n\t\t\tthis.isTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenExpiredError(err)\n\t\t);\n\t}\n\n\tprivate async cleanUpInvalidSession(user: CognitoUser) {\n\t\tuser.signOut();\n\t\tthis.user = null;\n\t\ttry {\n\t\t\tawait this.cleanCachedItems(); // clean aws credentials\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\t\tif (this.isSignedInHostedUI()) {\n\t\t\treturn new Promise((res, rej) => {\n\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t});\n\t\t} else {\n\t\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\t}\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic currentUserPoolUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthis._storageSync\n\t\t\t\t.then(async () => {\n\t\t\t\t\tif (this.isOAuthInProgress()) {\n\t\t\t\t\t\tlogger.debug('OAuth signIn in progress, waiting for resolution...');\n\n\t\t\t\t\t\tawait new Promise(res => {\n\t\t\t\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\t\t\t\tlogger.debug('OAuth signIn in progress timeout');\n\n\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}, OAUTH_FLOW_MS_TIMEOUT);\n\n\t\t\t\t\t\t\tHub.listen('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\tfunction hostedUISignCallback({ payload }) {\n\t\t\t\t\t\t\t\tconst { event } = payload;\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI' ||\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI_failure'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tlogger.debug(`OAuth signIn resolved: ${event}`);\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutId);\n\n\t\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\t\tif (!user) {\n\t\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\t\trej('No current user');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\t\t\t// refresh the session if the session expired.\n\t\t\t\t\tuser.getSession(\n\t\t\t\t\t\tasync (err, session) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('Failed to get the user session', err);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// get user data from Cognito\n\t\t\t\t\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\n\t\t\t\t\t\t\tif (bypassCache) {\n\t\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\t\t\t\t\t// validate the token's scope first before calling this function\n\t\t\t\t\t\t\tconst { scope = '' } = session.getAccessToken().decodePayload();\n\t\t\t\t\t\t\tif (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n\t\t\t\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tres(user);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconst preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n\t\t\t\t\t\t\t\t\t\tconst attributeList = [];\n\n\t\t\t\t\t\t\t\t\t\tfor (let i = 0; i < data.UserAttributes.length; i++) {\n\t\t\t\t\t\t\t\t\t\t\tconst attribute = {\n\t\t\t\t\t\t\t\t\t\t\t\tName: data.UserAttributes[i].Name,\n\t\t\t\t\t\t\t\t\t\t\t\tValue: data.UserAttributes[i].Value,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst userAttribute = new CognitoUserAttribute(attribute);\n\t\t\t\t\t\t\t\t\t\t\tattributeList.push(userAttribute);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tconst attributes = this.attributesToObject(attributeList);\n\t\t\t\t\t\t\t\t\t\tObject.assign(user, { attributes, preferredMFA });\n\t\t\t\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t\t`Unable to get the user data because the ${USER_ADMIN_SCOPE} ` +\n\t\t\t\t\t\t\t\t\t\t`is not in the scopes of the access token`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ clientMetadata }\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\t\t\treturn rej(e);\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate isOAuthInProgress(): boolean {\n\t\treturn this.oAuthFlowInProgress;\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @param {CurrentUserOpts} - options for getting the current user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic async currentAuthenticatedUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise {\n\t\tlogger.debug('getting current authenticated user');\n\t\tlet federatedUser = null;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\ttry {\n\t\t\tconst federatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t\tif (federatedInfo) {\n\t\t\t\tfederatedUser = {\n\t\t\t\t\t...federatedInfo.user,\n\t\t\t\t\ttoken: federatedInfo.token,\n\t\t\t\t};\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.debug('cannot load federated user from auth storage');\n\t\t}\n\n\t\tif (federatedUser) {\n\t\t\tthis.user = federatedUser;\n\t\t\tlogger.debug('get current authenticated federated user', this.user);\n\t\t\treturn this.user;\n\t\t} else {\n\t\t\tlogger.debug('get current authenticated userpool user');\n\t\t\tlet user = null;\n\t\t\ttry {\n\t\t\t\tuser = await this.currentUserPoolUser(params);\n\t\t\t} catch (e) {\n\t\t\t\tif (e === 'No userPool') {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Cannot get the current user because the user pool is missing. ' +\n\t\t\t\t\t\t\t'Please make sure the Auth module is configured with a valid Cognito User Pool ID'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlogger.debug('The user is not authenticated by the error', e);\n\t\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t\t}\n\t\t\tthis.user = user;\n\t\t\treturn this.user;\n\t\t}\n\t}\n\n\t/**\n\t * Get current user's session\n\t * @return - A promise resolves to session object if success\n\t */\n\tpublic currentSession(): Promise {\n\t\tconst that = this;\n\t\tlogger.debug('Getting current session');\n\t\t// Purposely not calling the reject method here because we don't need a console error\n\t\tif (!this.userPool) {\n\t\t\treturn Promise.reject(new Error('No User Pool in the configuration.'));\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthat\n\t\t\t\t.currentUserPoolUser()\n\t\t\t\t.then(user => {\n\t\t\t\t\tthat\n\t\t\t\t\t\t.userSession(user)\n\t\t\t\t\t\t.then(session => {\n\t\t\t\t\t\t\tres(session);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(e => {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the current session', e);\n\t\t\t\t\t\t\trej(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to get the current user', e);\n\t\t\t\t\trej(e);\n\t\t\t\t\treturn;\n\t\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Get the corresponding user session\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to the session\n\t */\n\tpublic userSession(user): Promise {\n\t\tif (!user) {\n\t\t\tlogger.debug('the user is null');\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoUserSession);\n\t\t}\n\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tlogger.debug('Getting the session from this user:', user);\n\t\t\tuser.getSession(\n\t\t\t\tasync (err, session) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Failed to get the session from user', user);\n\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogger.debug('Succeed to get the user session', session);\n\t\t\t\t\t\tres(session);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ clientMetadata }\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Get authenticated credentials of current user.\n\t * @return - A promise resolves to be current user's credentials\n\t */\n\tpublic async currentUserCredentials(): Promise {\n\t\tlogger.debug('Getting current user credentials');\n\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\t// first to check whether there is federation info in the auth storage\n\t\tlet federatedInfo = null;\n\t\ttry {\n\t\t\tfederatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n\t\t}\n\n\t\tif (federatedInfo) {\n\t\t\t// refresh the jwt token here if necessary\n\t\t\treturn this.Credentials.refreshFederatedToken(federatedInfo);\n\t\t} else {\n\t\t\treturn this.currentSession()\n\t\t\t\t.then(session => {\n\t\t\t\t\tlogger.debug('getting session success', session);\n\t\t\t\t\treturn this.Credentials.set(session, 'session');\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tlogger.debug('getting guest credentials');\n\t\t\t\t\treturn this.Credentials.set(null, 'guest');\n\t\t\t\t});\n\t\t}\n\t}\n\n\tpublic currentCredentials(): Promise {\n\t\tlogger.debug('getting current credentials');\n\t\treturn this.Credentials.get();\n\t}\n\n\t/**\n\t * Initiate an attribute confirmation request\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attributes to be verified\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttribute(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.getAttributeVerificationCode(\n\t\t\t\tattr,\n\t\t\t\t{\n\t\t\t\t\tonSuccess(success) {\n\t\t\t\t\t\treturn resolve(success);\n\t\t\t\t\t},\n\t\t\t\t\tonFailure(err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm an attribute using a confirmation code\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttributeSubmit(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tcode: string\n\t): Promise {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.verifyAttribute(attr, code, {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tresolve(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonFailure(err) {\n\t\t\t\t\treject(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifyCurrentUserAttribute(attr: string): Promise {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttribute(user, attr));\n\t}\n\n\t/**\n\t * Confirm current user's attribute using a confirmation code\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tverifyCurrentUserAttributeSubmit(\n\t\tattr: string,\n\t\tcode: string\n\t): Promise {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttributeSubmit(user, attr, code));\n\t}\n\n\tprivate async cognitoIdentitySignOut(\n\t\topts: SignOutOpts,\n\t\tuser: CognitoUser | any\n\t) {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tif (opts && opts.global) {\n\t\t\t\tlogger.debug('user global sign out', user);\n\t\t\t\t// in order to use global signout\n\t\t\t\t// we must validate the user as an authenticated user by using getSession\n\t\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\t\tuser.getSession(\n\t\t\t\t\tasync (err, result) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuser.globalSignOut({\n\t\t\t\t\t\t\tonSuccess: data => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out success');\n\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn res();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out failed', err);\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t{ clientMetadata }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlogger.debug('user sign out', user);\n\t\t\t\tuser.signOut(() => {\n\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn res();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate oAuthSignOutRedirect(\n\t\tresolve: () => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tconst { isBrowser } = browserOrNode();\n\n\t\tif (isBrowser) {\n\t\t\tthis.oAuthSignOutRedirectOrReject(reject);\n\t\t} else {\n\t\t\tthis.oAuthSignOutAndResolve(resolve);\n\t\t}\n\t}\n\n\tprivate oAuthSignOutAndResolve(resolve: () => void) {\n\t\tthis._oAuthHandler.signOut();\n\t\tresolve();\n\t}\n\n\tprivate oAuthSignOutRedirectOrReject(reject: (reason?: any) => void) {\n\t\tthis._oAuthHandler.signOut(); // this method redirects url\n\n\t\t// App should be redirected to another url otherwise it will reject\n\t\tsetTimeout(() => reject(Error('Signout timeout fail')), 3000);\n\t}\n\n\t/**\n\t * Sign out method\n\t * @\n\t * @return - A promise resolved if success\n\t */\n\tpublic async signOut(opts?: SignOutOpts): Promise {\n\t\ttry {\n\t\t\tawait this.cleanCachedItems();\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\n\t\tif (this.userPool) {\n\t\t\tconst user = this.userPool.getCurrentUser();\n\t\t\tif (user) {\n\t\t\t\tawait this.cognitoIdentitySignOut(opts, user);\n\t\t\t} else {\n\t\t\t\tlogger.debug('no current Cognito user');\n\t\t\t}\n\t\t} else {\n\t\t\tlogger.debug('no Cognito User pool');\n\t\t}\n\n\t\t/**\n\t\t * Note for future refactor - no reliable way to get username with\n\t\t * Cognito User Pools vs Identity when federating with Social Providers\n\t\t * This is why we need a well structured session object that can be inspected\n\t\t * and information passed back in the message below for Hub dispatch\n\t\t */\n\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\tthis.user = null;\n\t}\n\n\tprivate async cleanCachedItems() {\n\t\t// clear cognito cached item\n\t\tawait this.Credentials.clear();\n\t}\n\n\t/**\n\t * Change a password for an authenticated user\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} oldPassword - the current password\n\t * @param {String} newPassword - the requested new password\n\t * @return - A promise resolves if success\n\t */\n\tpublic changePassword(\n\t\tuser: CognitoUser | any,\n\t\toldPassword: string,\n\t\tnewPassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<'SUCCESS'> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.changePassword(\n\t\t\t\t\toldPassword,\n\t\t\t\t\tnewPassword,\n\t\t\t\t\t(err, data) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('change password failure', err);\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn resolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Initiate a forgot password request\n\t * @param {String} username - the username to change password\n\t * @return - A promise resolves if success\n\t */\n\tpublic forgotPassword(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.forgotPassword(\n\t\t\t\t{\n\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('forgot password failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPassword failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tinputVerificationCode: data => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} has initiated forgot password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm a new password using a confirmation Code\n\t * @param {String} username - The username\n\t * @param {String} code - The confirmation code\n\t * @param {String} password - The new password\n\t * @return - A promise that resolves if success\n\t */\n\tpublic forgotPasswordSubmit(\n\t\tusername: string,\n\t\tcode: string,\n\t\tpassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmPassword(\n\t\t\t\tcode,\n\t\t\t\tpassword,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: success => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit successful`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(success);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Get user information\n\t * @async\n\t * @return {Object }- current User's information\n\t */\n\tpublic async currentUserInfo() {\n\t\tconst source = this.Credentials.getCredSource();\n\n\t\tif (!source || source === 'aws' || source === 'userPool') {\n\t\t\tconst user = await this.currentUserPoolUser().catch(err =>\n\t\t\t\tlogger.error(err)\n\t\t\t);\n\t\t\tif (!user) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst attributes = await this.userAttributes(user);\n\t\t\t\tconst userAttrs: object = this.attributesToObject(attributes);\n\t\t\t\tlet credentials = null;\n\t\t\t\ttry {\n\t\t\t\t\tcredentials = await this.currentCredentials();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t'Failed to retrieve credentials while getting current user info',\n\t\t\t\t\t\te\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst info = {\n\t\t\t\t\tid: credentials ? credentials.identityId : undefined,\n\t\t\t\t\tusername: user.getUsername(),\n\t\t\t\t\tattributes: userAttrs,\n\t\t\t\t};\n\t\t\t\treturn info;\n\t\t\t} catch (err) {\n\t\t\t\tlogger.error('currentUserInfo error', err);\n\t\t\t\treturn {};\n\t\t\t}\n\t\t}\n\n\t\tif (source === 'federated') {\n\t\t\tconst user = this.user;\n\t\t\treturn user ? user : {};\n\t\t}\n\t}\n\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptions\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\tprovider: LegacyProvider,\n\t\tresponse: FederatedResponse,\n\t\tuser: FederatedUser\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptionsCustom\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\tproviderOrOptions:\n\t\t\t| LegacyProvider\n\t\t\t| FederatedSignInOptions\n\t\t\t| FederatedSignInOptionsCustom,\n\t\tresponse?: FederatedResponse,\n\t\tuser?: FederatedUser\n\t): Promise {\n\t\tif (!this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\tthrow new Error(\n\t\t\t\t`Federation requires either a User Pool or Identity Pool in config`\n\t\t\t);\n\t\t}\n\n\t\t// Ensure backwards compatability\n\t\tif (typeof providerOrOptions === 'undefined') {\n\t\t\tif (this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Federation with Identity Pools requires tokens passed as arguments`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tisFederatedSignInOptions(providerOrOptions) ||\n\t\t\tisFederatedSignInOptionsCustom(providerOrOptions) ||\n\t\t\thasCustomState(providerOrOptions) ||\n\t\t\ttypeof providerOrOptions === 'undefined'\n\t\t) {\n\t\t\tconst options = providerOrOptions || {\n\t\t\t\tprovider: CognitoHostedUIIdentityProvider.Cognito,\n\t\t\t};\n\t\t\tconst provider = isFederatedSignInOptions(options)\n\t\t\t\t? options.provider\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customProvider;\n\n\t\t\tconst customState = isFederatedSignInOptions(options)\n\t\t\t\t? options.customState\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customState;\n\n\t\t\tif (this._config.userPoolId) {\n\t\t\t\tconst client_id = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.userPoolWebClientId\n\t\t\t\t\t: this._config.oauth.clientID;\n\t\t\t\t/*Note: Invenstigate automatically adding trailing slash */\n\t\t\t\tconst redirect_uri = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.oauth.redirectSignIn\n\t\t\t\t\t: this._config.oauth.redirectUri;\n\n\t\t\t\tthis._oAuthHandler.oauthSignIn(\n\t\t\t\t\tthis._config.oauth.responseType,\n\t\t\t\t\tthis._config.oauth.domain,\n\t\t\t\t\tredirect_uri,\n\t\t\t\t\tclient_id,\n\t\t\t\t\tprovider,\n\t\t\t\t\tcustomState\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst provider = providerOrOptions;\n\t\t\t// To check if the user is already logged in\n\t\t\ttry {\n\t\t\t\tconst loggedInUser = JSON.stringify(\n\t\t\t\t\tJSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user\n\t\t\t\t);\n\t\t\t\tif (loggedInUser) {\n\t\t\t\t\tlogger.warn(`There is already a signed in user: ${loggedInUser} in your app.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.`);\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tconst { token, identity_id, expires_at } = response;\n\t\t\t// Because this.Credentials.set would update the user info with identity id\n\t\t\t// So we need to retrieve the user again.\n\t\t\tconst credentials = await this.Credentials.set(\n\t\t\t\t{ provider, token, identity_id, user, expires_at },\n\t\t\t\t'federation'\n\t\t\t);\n\t\t\tconst currentUser = await this.currentAuthenticatedUser();\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'signIn',\n\t\t\t\tcurrentUser,\n\t\t\t\t`A user ${currentUser.username} has been signed in`\n\t\t\t);\n\t\t\tlogger.debug('federated sign in credentials', credentials);\n\t\t\treturn credentials;\n\t\t}\n\t}\n\n\t/**\n\t * Used to complete the OAuth flow with or without the Cognito Hosted UI\n\t * @param {String} URL - optional parameter for customers to pass in the response URL\n\t */\n\tprivate async _handleAuthResponse(URL?: string) {\n\t\tif (this.oAuthFlowInProgress) {\n\t\t\tlogger.debug(`Skipping URL ${URL} current flow in progress`);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tthis.oAuthFlowInProgress = true;\n\t\t\tif (!this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`OAuth responses require a User Pool defined in config`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'parsingCallbackUrl',\n\t\t\t\t{ url: URL },\n\t\t\t\t`The callback url is being parsed`\n\t\t\t);\n\n\t\t\tconst currentUrl =\n\t\t\t\tURL || (browserOrNode().isBrowser ? window.location.href : '');\n\n\t\t\tconst hasCodeOrError = !!(parse(currentUrl).query || '')\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'code' || k === 'error');\n\n\t\t\tconst hasTokenOrError = !!(parse(currentUrl).hash || '#')\n\t\t\t\t.substr(1)\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'access_token' || k === 'error');\n\n\t\t\tif (hasCodeOrError || hasTokenOrError) {\n\t\t\t\tthis._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n\t\t\t\ttry {\n\t\t\t\t\tconst { accessToken, idToken, refreshToken, state } =\n\t\t\t\t\t\tawait this._oAuthHandler.handleAuthResponse(currentUrl);\n\t\t\t\t\tconst session = new CognitoUserSession({\n\t\t\t\t\t\tIdToken: new CognitoIdToken({ IdToken: idToken }),\n\t\t\t\t\t\tRefreshToken: new CognitoRefreshToken({\n\t\t\t\t\t\t\tRefreshToken: refreshToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tAccessToken: new CognitoAccessToken({\n\t\t\t\t\t\t\tAccessToken: accessToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tlet credentials;\n\t\t\t\t\t// Get AWS Credentials & store if Identity Pool is defined\n\t\t\t\t\tif (this._config.identityPoolId) {\n\t\t\t\t\t\tcredentials = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\tlogger.debug('AWS credentials', credentials);\n\t\t\t\t\t}\n\n\t\t\t\t\t/*\n\t\t\t\tPrior to the request we do sign the custom state along with the state we set. This check will verify\n\t\t\t\tif there is a dash indicated when setting custom state from the request. If a dash is contained\n\t\t\t\tthen there is custom state present on the state string.\n\t\t\t\t*/\n\t\t\t\t\tconst isCustomStateIncluded = /-/.test(state);\n\n\t\t\t\t\t/*\n\t\t\t\tThe following is to create a user for the Cognito Identity SDK to store the tokens\n\t\t\t\tWhen we remove this SDK later that logic will have to be centralized in our new version\n\t\t\t\t*/\n\t\t\t\t\t//#region\n\t\t\t\t\tconst currentUser = this.createCognitoUser(\n\t\t\t\t\t\tsession.getIdToken().decodePayload()['cognito:username']\n\t\t\t\t\t);\n\n\t\t\t\t\t// This calls cacheTokens() in Cognito SDK\n\t\t\t\t\tcurrentUser.setSignInUserSession(session);\n\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in via Cognito Hosted UI`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (isCustomStateIncluded) {\n\t\t\t\t\t\tconst customState = state.split('-').splice(1).join('-');\n\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'customOAuthState',\n\t\t\t\t\t\t\turlSafeDecode(customState),\n\t\t\t\t\t\t\t`State for user ${currentUser.getUsername()}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t//#endregion\n\n\t\t\t\t\treturn credentials;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger.debug('Error in cognito hosted auth response', err);\n\n\t\t\t\t\t// Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n\t\t\t\t\t// Otherwise, reloading the page will throw errors as the `code` has already been spent.\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`The OAuth response flow failed`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning to the Cognito Hosted UI`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'customState_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning state`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.oAuthFlowInProgress = false;\n\t\t}\n\t}\n\n\t/**\n\t * Compact version of credentials\n\t * @param {Object} credentials\n\t * @return {Object} - Credentials\n\t */\n\tpublic essentialCredentials(credentials): ICredentials {\n\t\treturn {\n\t\t\taccessKeyId: credentials.accessKeyId,\n\t\t\tsessionToken: credentials.sessionToken,\n\t\t\tsecretAccessKey: credentials.secretAccessKey,\n\t\t\tidentityId: credentials.identityId,\n\t\t\tauthenticated: credentials.authenticated,\n\t\t};\n\t}\n\n\tprivate attributesToObject(attributes) {\n\t\tconst obj = {};\n\t\tif (attributes) {\n\t\t\tattributes.map(attribute => {\n\t\t\t\tif (\n\t\t\t\t\tattribute.Name === 'email_verified' ||\n\t\t\t\t\tattribute.Name === 'phone_number_verified'\n\t\t\t\t) {\n\t\t\t\t\tobj[attribute.Name] =\n\t\t\t\t\t\tthis.isTruthyString(attribute.Value) || attribute.Value === true;\n\t\t\t\t} else {\n\t\t\t\t\tobj[attribute.Name] = attribute.Value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn obj;\n\t}\n\n\tprivate isTruthyString(value: any): boolean {\n\t\treturn (\n\t\t\ttypeof value.toLowerCase === 'function' && value.toLowerCase() === 'true'\n\t\t);\n\t}\n\n\tprivate createCognitoUser(username: string): CognitoUser {\n\t\tconst userData: ICognitoUserData = {\n\t\t\tUsername: username,\n\t\t\tPool: this.userPool,\n\t\t};\n\t\tuserData.Storage = this._storage;\n\n\t\tconst { authenticationFlowType } = this._config;\n\n\t\tconst user = new CognitoUser(userData);\n\t\tif (authenticationFlowType) {\n\t\t\tuser.setAuthenticationFlowType(authenticationFlowType);\n\t\t}\n\t\treturn user;\n\t}\n\n\tprivate _isValidAuthStorage(obj) {\n\t\t// We need to check if the obj has the functions of Storage\n\t\treturn (\n\t\t\t!!obj &&\n\t\t\ttypeof obj.getItem === 'function' &&\n\t\t\ttypeof obj.setItem === 'function' &&\n\t\t\ttypeof obj.removeItem === 'function' &&\n\t\t\ttypeof obj.clear === 'function'\n\t\t);\n\t}\n\n\tprivate noUserPoolErrorHandler(config: AuthOptions): AuthErrorTypes {\n\t\tif (config) {\n\t\t\tif (!config.userPoolId || !config.identityPoolId) {\n\t\t\t\treturn AuthErrorTypes.MissingAuthConfig;\n\t\t\t}\n\t\t}\n\t\treturn AuthErrorTypes.NoConfig;\n\t}\n\n\tprivate rejectAuthError(type: AuthErrorTypes): Promise {\n\t\treturn Promise.reject(new AuthError(type));\n\t}\n\n\tprivate rejectNoUserPool(): Promise {\n\t\tconst type = this.noUserPoolErrorHandler(this._config);\n\t\treturn Promise.reject(new NoUserPoolError(type));\n\t}\n\n\tpublic async rememberDevice(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.setDeviceStatusRemembered({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async forgetDevice(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.forgetDevice({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async fetchDevices(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\tthrow new Error('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst cb = {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tconst deviceList: IAuthDevice[] = data.Devices.map(device => {\n\t\t\t\t\t\tconst deviceName =\n\t\t\t\t\t\t\tdevice.DeviceAttributes.find(\n\t\t\t\t\t\t\t\t({ Name }) => Name === 'device_name'\n\t\t\t\t\t\t\t) || {};\n\n\t\t\t\t\t\tconst deviceInfo: IAuthDevice = {\n\t\t\t\t\t\t\tid: device.DeviceKey,\n\t\t\t\t\t\t\tname: deviceName.Value,\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn deviceInfo;\n\t\t\t\t\t});\n\t\t\t\t\tres(deviceList);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t\tcurrUser.listDevices(MAX_DEVICES, null, cb);\n\t\t});\n\t}\n}\n\nexport const Auth = new AuthClass(null);\n\nAmplify.register(Auth);\n","import axios from \"axios\";\nimport { lsKeys, routes, StatusCodes } from \"@/constants\";\nimport { Auth } from \"aws-amplify\";\n\nexport class ApiClient {\n constructor() {\n this.apiClient = axios.create({\n baseURL: process.env.REACT_APP_API_URL || \"https://localhost:8088\",\n timeout: 10 * 1000\n });\n\n this.initRequestInterceptors();\n this.initResponseInterceptors();\n }\n\n initRequestInterceptors(resToken) {\n this.apiClient.interceptors.request.use((config) => {\n const token =\n resToken ?? localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN);\n\n if (token) {\n return {\n ...config,\n headers: {\n ...config.headers,\n Authorization: `Bearer ${token}`\n }\n };\n }\n\n return config;\n });\n }\n\n initResponseInterceptors() {\n this.apiClient.interceptors.response.use(\n (config) => {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n\n return config.data;\n },\n async (error) => {\n const { data = null, status = null } = error.response ?? {};\n const { code } = error;\n\n if (status === StatusCodes._403) {\n localStorage.clear();\n await Auth.signOut();\n document.location = routes.LOGIN;\n // window.location.reload();\n }\n\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n // eslint-disable-next-line prefer-promise-reject-errors\n return Promise.reject({\n data,\n code,\n status\n });\n }\n );\n }\n}\n","import { ApiClient } from \"@/services/api\";\n\nclass AccountService extends ApiClient {\n fetchUserDetails() {\n return this.apiClient.get(\"/api/v2/user/details\");\n }\n\n changePassword(params) {\n return this.apiClient.post(\"/api/v1/user/change-password\", params);\n }\n\n postPreEnableMFA() {\n return this.apiClient.post(\"/api/v2/user/mfa/pre-enable\");\n }\n\n postEnableMFA(params) {\n return this.apiClient.post(\"/api/v2/user/mfa/enable\", params);\n }\n\n postDisableMFA(params) {\n return this.apiClient.post(\"api/v2/user/mfa/disable\", params);\n }\n}\n\nexport default new AccountService();\n","import { createAsyncAction } from \"@/utils/createAsyncAction\";\nimport AccountService from \"@/services/AccountService\";\n\nexport const AccountActions = {\n GET_USER_DETAILS: \"GET_USER_DETAILS\",\n CHANGE_PASSWORD: \"CHANGE_PASSWORD\",\n POST_PRE_ENABLE_MFA: \"POST_PRE_ENABLE_MFA\",\n POST_ENABLE_MFA: \"POST_ENABLE_MFA\",\n POST_DISABLE_MFA: \"POST_DISABLE_MFA\"\n};\n\nexport const getUserDetails = createAsyncAction(\n AccountActions.GET_USER_DETAILS,\n () => AccountService.fetchUserDetails()\n);\n\nexport const changePassword = createAsyncAction(\n AccountActions.CHANGE_PASSWORD,\n async (params) => AccountService.changePassword(params)\n);\n\nexport const preEnableMFA = createAsyncAction(\n AccountActions.POST_PRE_ENABLE_MFA,\n () => AccountService.postPreEnableMFA()\n);\n\nexport const enableMFA = createAsyncAction(\n AccountActions.POST_ENABLE_MFA,\n async (params) => AccountService.postEnableMFA(params)\n);\n\nexport const disableMFA = createAsyncAction(\n AccountActions.POST_DISABLE_MFA,\n async (params) => AccountService.postDisableMFA(params)\n);\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { reduceSuccessResponse } from \"@/utils/getSuccessResponse\";\nimport { AccountActions } from \"@/store/account/account.actions\";\n\nconst initialState = {\n accountDetails: null\n};\n\nexport const account = createReducer(initialState, {\n [AccountActions.GET_USER_DETAILS]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n return {\n ...state,\n accountDetails: res\n };\n })\n});\n\nexport const getAccountEmail = (state) => state.account.accountDetails?.email;\n\nexport const getAccountChangePasswordDate = (state) =>\n state.account.accountDetails?.changepassword_at;\n\nexport default account;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState, useEffect, useRef, useCallback } from \"react\";\nimport { datadogRum } from \"@datadog/browser-rum\";\nimport { useSelector } from \"react-redux\";\nimport TagManager from \"react-gtm-module\";\nimport { useCookies } from \"react-cookie\";\nimport { getAccountEmail } from \"@/store/account/account.reducer\";\nimport \"./CookiesPopup.scss\";\n\nconst CookiesPopup = () => {\n const [isOpenedSettings, setIsOpenedSettings] = useState(false);\n const [isShowBlock, setIsShowBlock] = useState(true);\n const [cookieAnalytics, setCookieAnalytics] = useState(true);\n const analyticsCheckbox = useRef(null);\n const [cookies, setCookie] = useCookies([\"gdprMasa\"]);\n const accountEmail = useSelector(getAccountEmail);\n\n const initAllAnalytics = useCallback((userEmail) => {\n if (process.env.REACT_APP_NODE_ENV !== \"stage\") {\n datadogRum.init({\n applicationId: process.env.REACT_APP_DATADOG_APP_ID,\n clientToken: process.env.REACT_APP_DATADOG_CLIENT_TOKEN,\n site: \"datadoghq.com\",\n service: \"assessment-hub\",\n env: \"prod\",\n sessionSampleRate: 100,\n sessionReplaySampleRate: 100,\n trackUserInteractions: true,\n trackResources: true,\n trackLongTasks: true,\n defaultPrivacyLevel: \"allow\"\n });\n datadogRum.startSessionReplayRecording();\n datadogRum.setUser({ email: userEmail });\n\n const tagManagerArgs = { gtmId: process.env.REACT_APP_GTM };\n TagManager.initialize(tagManagerArgs);\n }\n }, []);\n\n const handleToggleSettings = () => {\n setIsOpenedSettings(!isOpenedSettings);\n };\n\n const setCookies = useCallback(() => {\n const settings = {\n analytics: `${cookieAnalytics}`\n };\n setCookie(\"gdprMasa\", JSON.stringify(settings), {\n path: \"/\",\n maxAge: \"2592000\" // 30 days\n });\n setIsShowBlock(false);\n\n if (cookieAnalytics) {\n initAllAnalytics();\n }\n }, [initAllAnalytics, cookieAnalytics, setCookie]);\n\n const handleCheckboxClick = () => {\n setCookieAnalytics(analyticsCheckbox.current.checked);\n };\n\n const handleSaveSettings = () => {\n setCookies();\n };\n\n const setAllCookies = () => {\n setCookieAnalytics(true);\n setCookies();\n };\n\n useEffect(() => {\n const storage = cookies.gdprMasa;\n\n if (storage) {\n setIsShowBlock(false);\n if (storage.analytics === \"true\" && accountEmail) {\n initAllAnalytics(accountEmail);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [accountEmail]);\n\n return (\n isShowBlock && (\n
\n {!isOpenedSettings && (\n
\n
\n
\n Our website uses cookies\n
\n
\n Thank you for using Assessment Hub. The information that`s\n shared with us helps to provide a great experience for you.\n
\n
\n
\n \n Accept All\n \n \n Manage Preferences\n \n
\n
\n )}\n {isOpenedSettings && (\n
\n
\n
\n Cookies Preferences\n
\n
\n When you visit websites, they may store or retrieve data in your\n browser. This storage is often necessary for the basic\n functionality of the website. The storage may be used for\n marketing, analytics, and personalisation of the site, such as\n storing your preferences. Privacy is important to us, so you\n have the option of disabling certain types of storage that may\n not be necessary for the basic functioning of the website.\n Blocking categories may impact your experience on the website.\n
\n
\n
\n
\n
\n Essential\n
\n
\n These items are required to enable basic website\n functionality.\n
\n
\n \n \n
\n
\n Analytics\n
\n
\n These items help the website operator understand how its\n website performs, how visitors interact with the site, and\n whether there may be technical issues. This storage type\n usually doesn’t collect information that identifies a\n visitor.\n
\n \n
\n
\n
\n \n Save Preferences\n \n \n Close\n \n
\n
\n )}\n
\n )\n );\n};\n\nexport default CookiesPopup;\n","import CookiesPopup from \"./CookiesPopup\";\n\nexport default CookiesPopup;\n","import { useEffect } from \"react\";\nimport { useLocation, useNavigationType } from \"react-router-dom\";\n\nconst ScrollToTop = () => {\n const location = useLocation();\n const navType = useNavigationType();\n\n useEffect(() => {\n if (navType !== \"POP\") {\n window.scrollTo({ top: 0 });\n }\n }, [navType, location]);\n};\n\nexport default ScrollToTop;\n","// extracted by mini-css-extract-plugin\nexport default {};","import { ApiClient } from \"@/services/api\";\n\nclass AuthService extends ApiClient {\n register(data) {\n return this.apiClient.post(\"/auth/register\", data);\n }\n\n confirmEmailCode(data) {\n return this.apiClient.post(\"/auth/confirm\", data);\n }\n\n async login(credentials) {\n const res = await this.apiClient.post(\"/auth/login\", credentials);\n this.initRequestInterceptors(res?.token);\n return res;\n }\n\n validateToken(cancelToken) {\n return this.apiClient.get(\"/auth/check\", {\n cancelToken\n });\n }\n\n sendResetCode(email) {\n return this.apiClient.post(\"/auth/send-reset-code\", {\n email\n });\n }\n\n resetPassword(params) {\n return this.apiClient.post(\"/auth/reset-password\", params);\n }\n\n associateMFASoftwareToken({ session }) {\n return this.apiClient.post(\"/auth/associate-software-token\", {\n session\n });\n }\n\n verifyMFASoftwareToken({ session, code }) {\n return this.apiClient.post(\"/auth/verify-software-token\", {\n session,\n code\n });\n }\n\n async respondToAuthChallenge({ session, code }) {\n const res = await this.apiClient.post(\"/auth/respond-to-auth-challenge\", {\n session,\n code\n });\n this.initRequestInterceptors(res?.token);\n\n return res;\n }\n}\n\nexport default new AuthService();\n","import { createAsyncAction } from \"@/utils/createAsyncAction\";\nimport AuthService from \"@/services/AuthService\";\nimport { createAction } from \"@reduxjs/toolkit\";\n\nexport const AuthActions = {\n REGISTER: \"REGISTER\",\n CONFIRM_EMAIL_CODE: \"CONFIRM_EMAIL_CODE\",\n LOGOUT: \"LOGOUT\",\n LOGIN: \"LOGIN\",\n RESPOND_TO_AUTH_CHALLENGE: \"RESPOND_TO_AUTH_CHALLENGE\",\n ASSOCIATE_MFA_SOFTWARE_TOKEN: \"ASSOCIATE_MFA_SOFTWARE_TOKEN\",\n VERIFY_MFA_SOFTWARE_TOKEN: \"VERIFY_MFA_SOFTWARE_TOKEN\",\n REMOVE_MFA_SETUP_DETAILS: \"REMOVE_MFA_SETUP_DETAILS\",\n VALIDATE_TOKEN: \"VALIDATE_TOKEN\",\n LOGIN_USING_SOCIAL: \"LOGIN_USING_SOCIAL\",\n SEND_RESET_CODE: \"SEND_RESET_CODE\",\n RESET_PASSWORD: \"RESET_PASSWORD\"\n};\n\nexport const registerUser = createAsyncAction(\n AuthActions.REGISTER,\n async (data) => AuthService.register(data)\n);\n\nexport const confirmEmailCode = createAsyncAction(\n AuthActions.CONFIRM_EMAIL_CODE,\n async (data) => AuthService.confirmEmailCode(data)\n);\n\nexport const login =\n ({ login: _login, password, code }) =>\n async (dispatch) => {\n const loginAction = createAsyncAction(\n AuthActions.LOGIN,\n async (credentials) => {\n return AuthService.login(credentials);\n }\n );\n\n const res = await dispatch(loginAction({ login: _login, password, code }));\n\n return res;\n };\n\nexport const associateMFASoftwareToken = createAsyncAction(\n AuthActions.ASSOCIATE_MFA_SOFTWARE_TOKEN,\n async (data) => {\n return AuthService.associateMFASoftwareToken(data);\n }\n);\n\nexport const removeMFASetupDetails = createAction(\n AuthActions.REMOVE_MFA_SETUP_DETAILS\n);\n\nexport const respondToAuthChallenge = createAsyncAction(\n AuthActions.RESPOND_TO_AUTH_CHALLENGE,\n async (data) => AuthService.respondToAuthChallenge(data)\n);\n\nexport const verifyMFASoftwareToken = createAsyncAction(\n AuthActions.VERIFY_MFA_SOFTWARE_TOKEN,\n async (data) => {\n return AuthService.verifyMFASoftwareToken(data);\n }\n);\n\nexport const logout = createAction(AuthActions.LOGOUT);\n\nexport const validateToken = createAsyncAction(\n AuthActions.VALIDATE_TOKEN,\n (cancelToken) => AuthService.validateToken(cancelToken)\n);\n\nexport const loginUsingSocial = createAction(AuthActions.LOGIN_USING_SOCIAL);\n\nexport const setSessionThroughSocial = createAction(\n AuthActions.LOGIN_USING_SOCIAL\n);\n\nexport const sendResetCode = createAsyncAction(\n AuthActions.SEND_RESET_CODE,\n async (email) => AuthService.sendResetCode(email)\n);\n\nexport const resetPassword = createAsyncAction(\n AuthActions.RESET_PASSWORD,\n async (params) => AuthService.resetPassword(params)\n);\n","const parseJwt = (token) => {\n try {\n return JSON.parse(atob(token.split(\".\")[1]));\n } catch (e) {\n return null;\n }\n};\n\nexport default parseJwt;\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { AuthActions } from \"@/store/auth/auth.actions\";\nimport { AuthTypes, lsKeys } from \"@/constants\";\nimport { reduceSuccessResponse } from \"@/utils/getSuccessResponse\";\nimport { isFailure, isSuccess } from \"@/utils/createAsyncAction\";\nimport parseJwt from \"@/utils/parseJwtToken\";\n\nconst initialState = {\n authType: localStorage.getItem(lsKeys.AUTH_TYPE),\n isLoggedIn: !!localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN),\n mfaSetupDetails: null,\n account: localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN)\n ? parseJwt(localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN))\n : null,\n registerRequest: {},\n confirmEmailCodeRequest: {}\n};\n\nexport const auth = createReducer(initialState, {\n [AuthActions.REGISTER]: (state, action) => {\n state.registerRequest = action.payload;\n },\n [AuthActions.CONFIRM_EMAIL_CODE]: (state, action) => {\n return {\n ...state,\n confirmEmailCodeRequest: action.payload\n };\n },\n [AuthActions.LOGIN]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n if (res?.token) {\n localStorage.setItem(lsKeys.AUTHORIZATION_TOKEN, res.token);\n }\n localStorage.setItem(lsKeys.AUTH_TYPE, AuthTypes.EMAIL_PASSWORD);\n\n return {\n ...state,\n authType: AuthTypes.EMAIL_PASSWORD,\n isLoggedIn: !!res?.token,\n account: res?.token ? parseJwt(res?.token) : null\n };\n }),\n [AuthActions.VERIFY_MFA_SOFTWARE_TOKEN]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n if (res?.token) {\n localStorage.setItem(lsKeys.AUTHORIZATION_TOKEN, res.token);\n }\n localStorage.setItem(lsKeys.AUTH_TYPE, AuthTypes.EMAIL_PASSWORD);\n\n return {\n ...state,\n authType: AuthTypes.EMAIL_PASSWORD,\n isLoggedIn: !!res?.token,\n account: res?.token ? parseJwt(res?.token) : null\n };\n }),\n [AuthActions.RESPOND_TO_AUTH_CHALLENGE]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n if (res?.token) {\n localStorage.setItem(lsKeys.AUTHORIZATION_TOKEN, res.token);\n }\n localStorage.setItem(lsKeys.AUTH_TYPE, AuthTypes.EMAIL_PASSWORD);\n\n return {\n ...state,\n authType: AuthTypes.EMAIL_PASSWORD,\n isLoggedIn: !!res?.token,\n account: res?.token ? parseJwt(res?.token) : null\n };\n }),\n [AuthActions.LOGOUT]: (state) => {\n localStorage.clear();\n state.authType = null;\n state.isLoggedIn = false;\n state.account = null;\n state.mfaSetupDetails = null;\n },\n [AuthActions.VALIDATE_TOKEN]: (state, action) => {\n if (\n isFailure(action) &&\n action.payload?.errorData?.code !== \"ECONNABORTED\" &&\n action.payload?.errorData?.code !== \"ERR_CANCELED\"\n ) {\n state.isLoggedIn = false;\n state.user = false;\n state.authType = null;\n state.mfaSetupDetails = null;\n\n localStorage.clear();\n\n return state;\n }\n\n if (isSuccess(action)) {\n state.isLoggedIn = true;\n state.user = parseJwt(localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN));\n }\n\n return state;\n },\n [AuthActions.LOGIN_USING_SOCIAL]: (\n state,\n { payload: { authenticationFlowType, accessToken, idToken } }\n ) => {\n localStorage.setItem(lsKeys.AUTHORIZATION_TOKEN, accessToken);\n state.isLoggedIn = true;\n state.authType = authenticationFlowType;\n state.user = parseJwt(idToken);\n },\n [AuthActions.ASSOCIATE_MFA_SOFTWARE_TOKEN]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n return {\n ...state,\n mfaSetupDetails: res\n };\n }),\n [AuthActions.REMOVE_MFA_SETUP_DETAILS]: (state) => {\n state.mfaSetupDetails = null;\n }\n});\n\nexport const getIsAuthenticated = (state) => state.auth.isLoggedIn;\n\nexport const getMFASetupDetails = (state) => state.auth.mfaSetupDetails;\n\nexport const getAuthType = (state) => state.auth.authType;\n\nexport const getRegisterErrorData = (state) =>\n state.auth.registerRequest?.errorData;\n\nexport const getCodeConfirmationErrorData = (state) =>\n state.auth.confirmEmailCodeRequest?.errorData;\n\nexport default auth;\n","var _path, _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 249,\n height: 26,\n viewBox: \"0 0 249 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.6384 0C26.196 0.0457788 26.7594 0.0801129 27.3169 0.137337C28.2345 0.228894 29.1522 0.337619 30.0757 0.446344C30.4822 0.492123 30.8946 0.537901 31.3011 0.612292C32.1839 0.766796 33.0725 0.915577 33.9494 1.10441C34.6115 1.24747 35.2619 1.44204 35.9936 1.63087C35.8715 2.12871 35.7783 2.64945 35.6155 3.1473C34.9756 5.16156 34.1152 7.08427 33.0108 8.8925C31.9123 10.6894 30.7731 12.4633 29.5817 14.2029C28.8611 15.2501 28.0184 16.2172 27.1933 17.1842C26.4552 18.0483 25.6882 18.8838 24.8921 19.6964C24.3168 20.2857 23.6893 20.8179 23.0676 21.3615C22.4401 21.9052 21.7952 22.4316 21.1503 22.958C20.912 23.1526 20.668 23.33 20.4066 23.496C19.721 23.9423 19.0238 24.3829 18.3325 24.8179C17.9025 25.0868 17.7864 25.0639 17.38 24.7091C17.1535 24.5146 16.8806 24.3601 16.6426 24.1769C15.6962 23.4387 14.7497 22.7005 13.815 21.9395C13.1589 21.4073 12.5086 20.8637 11.8931 20.2857C11.1674 19.6163 10.4766 18.9124 9.77991 18.2085C9.28063 17.705 8.78135 17.2014 8.31112 16.6692C7.70737 15.9883 7.12687 15.2844 6.55216 14.5805C6.00649 13.9111 5.44339 13.2415 4.9442 12.5377C4.10833 11.3646 3.2899 10.1744 2.50633 8.96689C2.00136 8.18294 1.58354 7.3475 1.11924 6.53493C1.09022 6.4777 1.03216 6.44337 0.991522 6.39187L0.991613 6.18586C2.32175 6.03136 3.64029 5.8368 4.97622 5.72807C6.4167 5.61362 7.86877 5.54496 9.31502 5.52207C11.7719 5.48201 14.223 5.47057 16.6622 5.84252C17.8702 6.02564 19.0841 6.14581 20.2921 6.32892C21.1633 6.46054 22.0344 6.64365 22.8998 6.80388C23.3702 6.89544 23.8406 6.98699 24.311 7.09C24.8163 7.19872 24.8453 7.25594 24.6825 7.73662C24.665 7.7824 24.6534 7.82246 24.6359 7.86824C24.2579 8.88681 23.8509 9.89395 23.2116 10.7809C22.6595 11.5477 22.0784 12.2916 21.4798 13.0241C21.1311 13.4475 20.7302 13.8309 20.3351 14.2086C20.062 14.4718 19.7482 14.6893 19.452 14.9296C19.667 14.5691 19.9227 14.2543 20.1552 13.9224C20.719 13.1328 21.1549 12.2859 21.376 11.3417C21.5215 10.7008 21.3997 10.4833 20.7725 10.2659C19.9653 9.9855 19.1581 9.69939 18.3392 9.45904C17.6772 9.26448 17.0035 9.09284 16.3181 8.98413C15.023 8.78379 13.7221 8.595 12.4153 8.47483C11.184 8.36035 9.94681 8.43474 8.70378 8.67509C8.72116 8.77233 8.71531 8.86396 8.75012 8.94405C9.05179 9.73947 9.30704 10.5634 9.6842 11.3245C10.2007 12.3603 10.7694 13.3731 11.3962 14.346C11.9651 15.2215 12.6269 16.0454 13.2886 16.8523C13.9156 17.6134 14.6007 18.3344 15.2683 19.0612C15.6282 19.4503 15.9998 19.8222 16.3945 20.177C16.8648 20.6005 17.3584 20.9896 17.8519 21.4131C18.1715 21.1498 18.4852 20.9209 18.764 20.6634C19.3277 20.1313 19.8797 19.5876 20.426 19.0383C20.9489 18.5118 21.4893 17.9911 21.9716 17.4246C22.6922 16.5891 23.3837 15.7308 24.0521 14.8552C24.6623 14.0599 25.2609 13.253 25.8072 12.4118C26.7313 10.9755 27.5509 9.4762 28.0511 7.84534C28.3362 6.9126 28.4818 5.9398 28.6797 4.98417C28.6971 4.89261 28.6392 4.73238 28.5637 4.68661C28.3256 4.54355 28.0701 4.41194 27.803 4.3261C26.8621 4.01137 25.9214 3.69092 24.9631 3.42769C24.2314 3.22741 23.488 3.06718 22.7331 2.95274C21.4901 2.76389 20.2473 2.55789 18.9927 2.4835C16.8787 2.36333 14.7645 2.28322 12.6503 2.28894C10.1121 2.28894 7.56812 2.39767 5.02993 2.45489C4.82664 2.45489 4.62336 2.45489 4.38522 2.45489C4.93705 2.31755 5.43662 2.1745 5.94778 2.07149C6.81909 1.8941 7.69038 1.73959 8.56748 1.5851C9.45624 1.42487 10.3391 1.26464 11.2279 1.12731C12.3779 0.949913 13.5338 0.795407 14.6897 0.640904C15.2473 0.566513 15.8049 0.515012 16.3684 0.463511C17.4255 0.360508 18.4826 0.257506 19.5397 0.160226C20.0974 0.108725 20.6549 0.0686683 21.2126 0.0228894C22.682 0.0228894 24.1573 0.0228894 25.6267 0.0228894L25.6384 0Z\",\n fill: \"black\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1101_3952)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.4468 16H41.4795L46.6393 0.727272H51.5537L56.7 16H52.7327L49.1507 4.57528H49.0314L45.4468 16ZM44.92 9.98935H53.2126L53.2114 12.7933H44.9188L44.92 9.98935ZM67.6846 8.04297L64.3362 8.13246C64.3015 7.89382 64.2071 7.68253 64.0531 7.49858C63.8991 7.30966 63.6978 7.163 63.4492 7.05859C63.2057 6.94922 62.9223 6.89453 62.5992 6.89453C62.1766 6.89453 61.8161 6.97905 61.5177 7.14808C61.2243 7.31712 61.0801 7.54581 61.0849 7.83416C61.0798 8.05788 61.1692 8.25177 61.3531 8.41584C61.542 8.5799 61.8775 8.71165 62.3597 8.81108L64.5669 9.22869C65.7103 9.44744 66.5602 9.81037 67.1168 10.3175C67.6784 10.8246 67.9615 11.4957 67.9661 12.331C67.9608 13.1165 67.7268 13.8001 67.2642 14.3817C66.8066 14.9634 66.1799 15.4158 65.3844 15.739C64.5888 16.0572 63.6789 16.2163 62.6547 16.2163C61.0191 16.2163 59.7291 15.8807 58.7848 15.2095C57.8455 14.5334 57.3089 13.6286 57.1752 12.495L60.7771 12.4055C60.8565 12.8232 61.0627 13.1413 61.3957 13.3601C61.7287 13.5788 62.1537 13.6882 62.6708 13.6882C63.1381 13.6882 63.5185 13.6012 63.8119 13.4272C64.1053 13.2532 64.2545 13.022 64.2596 12.7337C64.2547 12.4751 64.1405 12.2688 63.9168 12.1147C63.6932 11.9556 63.3427 11.8313 62.8655 11.7418L60.8671 11.3615C59.7187 11.1527 58.8638 10.7674 58.3023 10.2056C57.7407 9.63885 57.4626 8.91797 57.468 8.04297C57.4633 7.27734 57.6675 6.62358 58.0803 6.08168C58.4932 5.5348 59.0801 5.11719 59.8408 4.82883C60.6016 4.54048 61.4991 4.39631 62.5331 4.39631C64.0843 4.39631 65.3071 4.72195 66.2017 5.37322C67.0964 6.01953 67.5906 6.90945 67.6846 8.04297ZM79.4487 8.04297L76.1003 8.13246C76.0656 7.89382 75.9712 7.68253 75.8172 7.49858C75.6632 7.30966 75.4619 7.163 75.2133 7.05859C74.9698 6.94922 74.6864 6.89453 74.3633 6.89453C73.9407 6.89453 73.5802 6.97905 73.2818 7.14808C72.9884 7.31712 72.8442 7.54581 72.849 7.83416C72.8439 8.05788 72.9333 8.25177 73.1172 8.41584C73.3061 8.5799 73.6416 8.71165 74.1238 8.81108L76.331 9.22869C77.4744 9.44744 78.3243 9.81037 78.8809 10.3175C79.4425 10.8246 79.7256 11.4957 79.7302 12.331C79.7249 13.1165 79.4909 13.8001 79.0283 14.3817C78.5707 14.9634 77.944 15.4158 77.1485 15.739C76.3529 16.0572 75.443 16.2163 74.4188 16.2163C72.7832 16.2163 71.4932 15.8807 70.5489 15.2095C69.6096 14.5334 69.073 13.6286 68.9393 12.495L72.5412 12.4055C72.6206 12.8232 72.8268 13.1413 73.1598 13.3601C73.4928 13.5788 73.9178 13.6882 74.4349 13.6882C74.9022 13.6882 75.2826 13.6012 75.576 13.4272C75.8694 13.2532 76.0186 13.022 76.0237 12.7337C76.0188 12.4751 75.9046 12.2688 75.6809 12.1147C75.4573 11.9556 75.1068 11.8313 74.6296 11.7418L72.6312 11.3615C71.4828 11.1527 70.6279 10.7674 70.0664 10.2056C69.5048 9.63885 69.2267 8.91797 69.2321 8.04297C69.2274 7.27734 69.4316 6.62358 69.8444 6.08168C70.2573 5.5348 70.8442 5.11719 71.6049 4.82883C72.3657 4.54048 73.2632 4.39631 74.2972 4.39631C75.8484 4.39631 77.0713 4.72195 77.9659 5.37322C78.8605 6.01953 79.3547 6.90945 79.4487 8.04297ZM86.5633 16.2163C85.3651 16.2163 84.3311 15.9801 83.4613 15.5078C82.5965 15.0305 81.9306 14.3519 81.4636 13.4719C81.0016 12.587 80.7709 11.5355 80.7715 10.3175C80.772 9.13423 81.0061 8.10014 81.4738 7.2152C81.9415 6.32528 82.6006 5.63423 83.4509 5.14204C84.3013 4.64489 85.3032 4.39631 86.4566 4.39631C87.2719 4.39631 88.0176 4.52308 88.6936 4.77663C89.3697 5.03018 89.9537 5.40554 90.4456 5.9027C90.9376 6.39986 91.3201 7.01385 91.5933 7.74467C91.8664 8.47052 92.0027 9.30327 92.0023 10.2429L92.0019 11.1527H82.0463L82.0472 9.0348H88.6097C88.6049 8.64702 88.5131 8.30149 88.3343 7.99822C88.1554 7.69496 87.9094 7.45881 87.5963 7.28977C87.2881 7.11577 86.9327 7.02876 86.53 7.02876C86.1223 7.02876 85.7569 7.12074 85.4337 7.30469C85.1104 7.48366 84.8543 7.72976 84.6652 8.04297C84.4762 8.35121 84.3766 8.7017 84.3665 9.09446L84.3655 11.2496C84.3653 11.717 84.4571 12.1271 84.6409 12.4801C84.8247 12.8281 85.0856 13.0991 85.4236 13.293C85.7616 13.4869 86.1642 13.5838 86.6315 13.5838C86.9547 13.5838 87.248 13.5391 87.5116 13.4496C87.7751 13.3601 88.0014 13.2283 88.1904 13.0543C88.3794 12.8803 88.5211 12.6665 88.6157 12.413L91.964 12.5099C91.8245 13.2607 91.5185 13.9144 91.0459 14.4712C90.5784 15.0231 89.9642 15.4531 89.2034 15.7614C88.4426 16.0646 87.5626 16.2163 86.5633 16.2163ZM103.551 8.04297L100.203 8.13246C100.168 7.89382 100.074 7.68253 99.9196 7.49858C99.7656 7.30966 99.5643 7.163 99.3158 7.05859C99.0722 6.94922 98.7888 6.89453 98.4657 6.89453C98.0431 6.89453 97.6826 6.97905 97.3843 7.14808C97.0909 7.31712 96.9466 7.54581 96.9514 7.83416C96.9464 8.05788 97.0358 8.25177 97.2196 8.41584C97.4085 8.5799 97.744 8.71165 98.2262 8.81108L100.433 9.22869C101.577 9.44744 102.427 9.81037 102.983 10.3175C103.545 10.8246 103.828 11.4957 103.833 12.331C103.827 13.1165 103.593 13.8001 103.131 14.3817C102.673 14.9634 102.046 15.4158 101.251 15.739C100.455 16.0572 99.5454 16.2163 98.5213 16.2163C96.8856 16.2163 95.5956 15.8807 94.6513 15.2095C93.712 14.5334 93.1755 13.6286 93.0417 12.495L96.6437 12.4055C96.723 12.8232 96.9292 13.1413 97.2622 13.3601C97.5952 13.5788 98.0202 13.6882 98.5373 13.6882C99.0046 13.6882 99.385 13.6012 99.6784 13.4272C99.9718 13.2532 100.121 13.022 100.126 12.7337C100.121 12.4751 100.007 12.2688 99.7834 12.1147C99.5597 11.9556 99.2093 11.8313 98.732 11.7418L96.7336 11.3615C95.5853 11.1527 94.7303 10.7674 94.1688 10.2056C93.6072 9.63885 93.3291 8.91797 93.3345 8.04297C93.3299 7.27734 93.534 6.62358 93.9469 6.08168C94.3598 5.5348 94.9466 5.11719 95.7074 4.82883C96.4681 4.54048 97.3656 4.39631 98.3997 4.39631C99.9508 4.39631 101.174 4.72195 102.068 5.37322C102.963 6.01953 103.457 6.90945 103.551 8.04297ZM115.315 8.04297L111.967 8.13246C111.932 7.89382 111.838 7.68253 111.684 7.49858C111.53 7.30966 111.328 7.163 111.08 7.05859C110.836 6.94922 110.553 6.89453 110.23 6.89453C109.807 6.89453 109.447 6.97905 109.148 7.14808C108.855 7.31712 108.711 7.54581 108.716 7.83416C108.71 8.05788 108.8 8.25177 108.984 8.41584C109.173 8.5799 109.508 8.71165 109.99 8.81108L112.198 9.22869C113.341 9.44744 114.191 9.81037 114.747 10.3175C115.309 10.8246 115.592 11.4957 115.597 12.331C115.591 13.1165 115.357 13.8001 114.895 14.3817C114.437 14.9634 113.811 15.4158 113.015 15.739C112.219 16.0572 111.31 16.2163 110.285 16.2163C108.65 16.2163 107.36 15.8807 106.415 15.2095C105.476 14.5334 104.94 13.6286 104.806 12.495L108.408 12.4055C108.487 12.8232 108.693 13.1413 109.026 13.3601C109.359 13.5788 109.784 13.6882 110.301 13.6882C110.769 13.6882 111.149 13.6012 111.442 13.4272C111.736 13.2532 111.885 13.022 111.89 12.7337C111.885 12.4751 111.771 12.2688 111.547 12.1147C111.324 11.9556 110.973 11.8313 110.496 11.7418L108.498 11.3615C107.349 11.1527 106.494 10.7674 105.933 10.2056C105.371 9.63885 105.093 8.91797 105.099 8.04297C105.094 7.27734 105.298 6.62358 105.711 6.08168C106.124 5.5348 106.711 5.11719 107.471 4.82883C108.232 4.54048 109.13 4.39631 110.164 4.39631C111.715 4.39631 112.938 4.72195 113.832 5.37322C114.727 6.01953 115.221 6.90945 115.315 8.04297ZM117.075 16L117.081 4.54545H120.548L120.547 6.64844H120.674C120.913 5.95241 121.316 5.40305 121.883 5.00035C122.45 4.59766 123.126 4.39631 123.912 4.39631C124.707 4.39631 125.388 4.60014 125.955 5.00781C126.521 5.41548 126.881 5.96236 127.035 6.64844H127.155C127.369 5.96733 127.786 5.42294 128.408 5.01527C129.03 4.60263 129.763 4.39631 130.608 4.39631C131.692 4.39631 132.572 4.74432 133.248 5.44034C133.924 6.13139 134.261 7.08097 134.261 8.28906L134.257 16H130.611L130.614 9.12429C130.614 8.55256 130.467 8.11754 130.174 7.81925C129.881 7.51598 129.501 7.36435 129.033 7.36435C128.531 7.36435 128.136 7.52841 127.848 7.85653C127.564 8.17969 127.422 8.6147 127.422 9.16158L127.419 16H123.914L123.917 9.087C123.917 8.55504 123.773 8.13494 123.485 7.8267C123.197 7.51847 122.816 7.36435 122.344 7.36435C122.026 7.36435 121.745 7.44141 121.501 7.59552C121.258 7.74467 121.066 7.95845 120.927 8.23686C120.793 8.51527 120.725 8.84339 120.725 9.22123L120.722 16H117.075ZM141.556 16.2163C140.358 16.2163 139.324 15.9801 138.454 15.5078C137.589 15.0305 136.923 14.3519 136.457 13.4719C135.995 12.587 135.764 11.5355 135.764 10.3175C135.765 9.13423 135.999 8.10014 136.467 7.2152C136.934 6.32528 137.594 5.63423 138.444 5.14204C139.294 4.64489 140.296 4.39631 141.45 4.39631C142.265 4.39631 143.011 4.52308 143.687 4.77663C144.363 5.03018 144.947 5.40554 145.439 5.9027C145.931 6.39986 146.313 7.01385 146.586 7.74467C146.859 8.47052 146.996 9.30327 146.995 10.2429L146.995 11.1527H137.039L137.04 9.0348H143.603C143.598 8.64702 143.506 8.30149 143.327 7.99822C143.148 7.69496 142.902 7.45881 142.589 7.28977C142.281 7.11577 141.926 7.02876 141.523 7.02876C141.115 7.02876 140.75 7.12074 140.427 7.30469C140.103 7.48366 139.847 7.72976 139.658 8.04297C139.469 8.35121 139.37 8.7017 139.359 9.09446L139.358 11.2496C139.358 11.717 139.45 12.1271 139.634 12.4801C139.818 12.8281 140.079 13.0991 140.416 13.293C140.754 13.4869 141.157 13.5838 141.624 13.5838C141.948 13.5838 142.241 13.5391 142.504 13.4496C142.768 13.3601 142.994 13.2283 143.183 13.0543C143.372 12.8803 143.514 12.6665 143.609 12.413L146.957 12.5099C146.817 13.2607 146.511 13.9144 146.039 14.4712C145.571 15.0231 144.957 15.4531 144.196 15.7614C143.436 16.0646 142.555 16.2163 141.556 16.2163ZM152.19 9.46733L152.187 16H148.54L148.545 4.54545H152.013L152.012 6.64844H152.139C152.393 5.94744 152.825 5.39808 153.437 5.00035C154.049 4.59766 154.777 4.39631 155.622 4.39631C156.428 4.39631 157.126 4.57777 157.718 4.94069C158.314 5.29865 158.776 5.80078 159.104 6.44709C159.437 7.08842 159.601 7.83913 159.595 8.69922L159.592 16H155.945L155.948 9.41513C155.954 8.77876 155.792 8.2816 155.464 7.92365C155.141 7.5657 154.691 7.38672 154.115 7.38672C153.732 7.38672 153.394 7.47124 153.1 7.64027C152.812 7.80433 152.588 8.04048 152.429 8.34872C152.275 8.65696 152.195 9.02983 152.19 9.46733ZM168.005 4.54545L168.004 7.23011H160.778L160.779 4.54545H168.005ZM162.294 1.80114H165.941L165.936 12.3981C165.936 12.6218 165.971 12.8033 166.04 12.9425C166.115 13.0767 166.222 13.1736 166.361 13.2333C166.5 13.288 166.667 13.3153 166.861 13.3153C167 13.3153 167.146 13.3029 167.301 13.2781C167.46 13.2482 167.579 13.2234 167.659 13.2035L168.209 15.8359C168.035 15.8857 167.789 15.9478 167.471 16.0224C167.158 16.0969 166.782 16.1442 166.345 16.1641C165.49 16.2038 164.756 16.1044 164.145 15.8658C163.538 15.6222 163.074 15.2443 162.751 14.7322C162.433 14.2202 162.279 13.5763 162.289 12.8008L162.294 1.80114ZM173.743 16L173.749 0.727272H177.441L177.438 6.85724H183.456L183.459 0.727272H187.143L187.136 16H183.452L183.455 9.86257H177.437L177.434 16H173.743ZM196.529 11.0558L196.532 4.54545H200.171L200.166 16H196.691L196.692 13.8672H196.573C196.319 14.5682 195.886 15.125 195.274 15.5376C194.668 15.9453 193.934 16.1491 193.074 16.1491C192.294 16.1491 191.608 15.9702 191.016 15.6122C190.425 15.2543 189.965 14.7546 189.637 14.1133C189.309 13.467 189.143 12.7113 189.138 11.8462L189.142 4.54545H192.788L192.785 11.1303C192.79 11.7518 192.954 12.2415 193.277 12.5994C193.6 12.9574 194.04 13.1364 194.597 13.1364C194.96 13.1364 195.285 13.0568 195.574 12.8977C195.867 12.7337 196.098 12.4975 196.268 12.1893C196.442 11.8761 196.529 11.4982 196.529 11.0558ZM202.172 16L202.179 0.727272H205.826L205.823 6.50675H205.898C206.047 6.15874 206.258 5.82315 206.532 5.5C206.811 5.17685 207.164 4.91335 207.591 4.70952C208.024 4.50071 208.541 4.39631 209.143 4.39631C209.938 4.39631 210.681 4.60511 211.372 5.02273C212.068 5.44034 212.629 6.08416 213.057 6.95419C213.484 7.82422 213.697 8.93288 213.696 10.2802C213.696 11.5778 213.489 12.6641 213.076 13.5391C212.668 14.4141 212.116 15.0703 211.42 15.5078C210.728 15.9453 209.96 16.1641 209.115 16.1641C208.538 16.1641 208.039 16.0696 207.616 15.8807C207.194 15.6918 206.838 15.4432 206.55 15.1349C206.267 14.8267 206.048 14.4961 205.894 14.1431H205.782L205.782 16H202.172ZM205.747 10.2727C205.747 10.8892 205.828 11.4261 205.992 11.8835C206.161 12.3409 206.402 12.6964 206.715 12.9499C207.033 13.1985 207.413 13.3228 207.856 13.3228C208.303 13.3228 208.684 13.1985 208.997 12.9499C209.31 12.6964 209.547 12.3409 209.706 11.8835C209.87 11.4261 209.953 10.8892 209.953 10.2727C209.953 9.65625 209.871 9.1218 209.707 8.66939C209.549 8.21697 209.313 7.86648 208.999 7.6179C208.691 7.36932 208.311 7.24503 207.859 7.24503C207.411 7.24503 207.031 7.36683 206.717 7.61044C206.404 7.85405 206.163 8.20206 205.994 8.65447C205.829 9.10689 205.747 9.64631 205.747 10.2727Z\",\n fill: \"#111111\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.4138 25L41.4157 20.6364H43.0862C43.4015 20.6364 43.6636 20.6861 43.8723 20.7855C44.0825 20.8835 44.2394 21.0178 44.343 21.1882C44.4481 21.3587 44.5005 21.5518 44.5004 21.7678C44.5004 21.9453 44.4662 22.0973 44.398 22.2237C44.3297 22.3487 44.2381 22.4503 44.123 22.5284C44.0079 22.6065 43.8793 22.6626 43.7372 22.6967L43.7372 22.7393C43.8921 22.7479 44.0405 22.7955 44.1825 22.8821C44.3259 22.9673 44.443 23.0881 44.5339 23.2443C44.6247 23.4006 44.6701 23.5895 44.67 23.8111C44.6699 24.0369 44.6151 24.2401 44.5057 24.4205C44.3962 24.5994 44.2314 24.7408 44.0112 24.8445C43.7909 24.9482 43.5139 25 43.1801 25H41.4138ZM42.2046 24.3395H43.0547C43.3416 24.3395 43.5483 24.2848 43.6748 24.1754C43.8027 24.0646 43.8667 23.9226 43.8668 23.7493C43.8668 23.62 43.8349 23.5036 43.771 23.3999C43.7072 23.2947 43.6163 23.2124 43.4984 23.1527C43.3805 23.0916 43.2399 23.0611 43.0766 23.0611H42.2051L42.2046 24.3395ZM42.2054 22.4922H42.9873C43.1237 22.4922 43.2466 22.4673 43.356 22.4176C43.4654 22.3665 43.5513 22.2947 43.6139 22.2024C43.6778 22.1087 43.7099 21.9979 43.7099 21.87C43.71 21.701 43.6504 21.5618 43.5311 21.4524C43.4133 21.343 43.2379 21.2884 43.0049 21.2884H42.2059L42.2054 22.4922ZM45.0608 20.6364H45.9535L47.0201 22.5668H47.0628L48.1311 20.6364H49.0238L47.4353 23.3722L47.4346 25H46.6462L46.6469 23.3722L45.0608 20.6364ZM51.07 25L51.072 20.6364H51.8624L51.8608 24.3374H53.7827L53.7824 25H51.07ZM54.4685 25L54.4704 20.6364H57.3085L57.3082 21.299H55.2606L55.2601 22.4837H57.1606L57.1603 23.1463H55.2598L55.2593 24.3374H57.3239L57.3236 25H54.4685ZM58.6987 20.6364L59.8329 24.071H59.8776L61.0126 20.6364H61.882L60.3417 25H59.3659L57.8315 20.6364H58.6987ZM63.2472 20.6364L63.2453 25H62.4548L62.4567 20.6364H63.2472ZM64.6617 25H63.8179L65.356 20.6364H66.3319L67.8683 25H67.0246L65.8606 21.5312H65.8265L64.6617 25ZM64.6901 23.2891H66.9912L66.991 23.924H64.6898L64.6901 23.2891ZM67.7256 21.299L67.7259 20.6364H71.2074L71.2071 21.299H69.8584L69.8568 25H69.0727L69.0743 21.299H67.7256ZM71.8767 25L71.8786 20.6364H72.6691L72.6683 22.4837H74.6903L74.6911 20.6364H75.4837L75.4818 25H74.6892L74.69 23.1463H72.668L72.6672 25H71.8767ZM76.9019 25H76.0581L77.5963 20.6364H78.5721L80.1086 25H79.2648L78.1009 21.5312H78.0668L76.9019 25ZM76.9303 23.2891H79.2315L79.2312 23.924H76.9301L76.9303 23.2891ZM84.2712 20.6364L84.2693 25H83.5661L81.5113 22.0277H81.4751L81.4738 25H80.6833L80.6852 20.6364H81.3926L83.4453 23.6108H83.4836L83.485 20.6364H84.2712ZM88.9917 21.8359C88.9719 21.6499 88.8882 21.505 88.7405 21.4013C88.5942 21.2976 88.4039 21.2457 88.1695 21.2457C88.0047 21.2457 87.8634 21.2706 87.7455 21.3203C87.6276 21.37 87.5373 21.4375 87.4748 21.5227C87.4123 21.608 87.3803 21.7053 87.3788 21.8146C87.3787 21.9055 87.3993 21.9844 87.4405 22.0511C87.4831 22.1179 87.5406 22.1747 87.613 22.2216C87.6854 22.267 87.7656 22.3054 87.8537 22.3366C87.9418 22.3679 88.0305 22.3942 88.12 22.4155L88.529 22.5178C88.6938 22.5561 88.8522 22.608 89.0041 22.6733C89.1575 22.7386 89.2945 22.821 89.4152 22.9205C89.5374 23.0199 89.6339 23.1399 89.7048 23.2805C89.7758 23.4212 89.8113 23.5859 89.8112 23.7749C89.8111 24.0305 89.7456 24.2557 89.6148 24.4503C89.4841 24.6435 89.2951 24.7947 89.0479 24.9041C88.8021 25.0121 88.5045 25.0661 88.1551 25.0661C87.8156 25.0661 87.5209 25.0135 87.2709 24.9084C87.0224 24.8033 86.8278 24.6499 86.6873 24.4482C86.5482 24.2464 86.473 24.0007 86.4618 23.7109H87.2395C87.2508 23.8629 87.2976 23.9893 87.3799 24.0902C87.4623 24.1911 87.5695 24.2663 87.7016 24.3161C87.8351 24.3658 87.9842 24.3906 88.149 24.3906C88.3208 24.3906 88.4714 24.3651 88.6007 24.3139C88.7314 24.2614 88.8337 24.1889 88.9076 24.0966C88.9815 24.0028 89.0192 23.8935 89.0207 23.7685C89.0193 23.6548 88.986 23.5611 88.9207 23.4872C88.8554 23.4119 88.7638 23.3494 88.6459 23.2997C88.5294 23.2486 88.3931 23.2031 88.2369 23.1634L87.7405 23.0355C87.3811 22.9432 87.0971 22.8033 86.8884 22.6158C86.6811 22.4268 86.5775 22.1761 86.5776 21.8636C86.5777 21.6065 86.6474 21.3814 86.7867 21.1882C86.9274 20.995 87.1186 20.8452 87.3601 20.7386C87.6016 20.6307 87.8751 20.5767 88.1805 20.5767C88.4901 20.5767 88.7614 20.6307 88.9943 20.7386C89.2286 20.8452 89.4125 20.9936 89.546 21.1839C89.6794 21.3729 89.7482 21.5902 89.7524 21.8359H88.9917ZM90.5154 25L90.5173 20.6364H93.3553L93.355 21.299H91.3075L91.3069 22.4837H93.2075L93.2072 23.1463H91.3066L91.3061 24.3374H93.3708L93.3705 25H90.5154ZM97.8962 22.1087H97.0994C97.0767 21.978 97.0348 21.8622 96.9738 21.7614C96.9128 21.6591 96.8368 21.5724 96.7459 21.5014C96.6551 21.4304 96.5514 21.3771 96.4349 21.3416C96.3199 21.3047 96.1956 21.2862 96.0621 21.2862C95.8249 21.2862 95.6146 21.3459 95.4313 21.4652C95.248 21.5831 95.1045 21.7564 95.0007 21.9851C94.8969 22.2124 94.8449 22.4901 94.8448 22.8182C94.8446 23.152 94.8964 23.4332 95 23.6619C95.105 23.8892 95.2484 24.0611 95.4301 24.1776C95.6133 24.2926 95.8228 24.3501 96.0586 24.3501C96.1893 24.3501 96.3115 24.3331 96.4251 24.299C96.5402 24.2635 96.6432 24.2116 96.7341 24.1435C96.8265 24.0753 96.9039 23.9915 96.9665 23.892C97.0304 23.7926 97.0745 23.679 97.0987 23.5511L97.8956 23.5554C97.8657 23.7628 97.801 23.9574 97.7015 24.1392C97.6034 24.321 97.4747 24.4815 97.3156 24.6207C97.1564 24.7585 96.9703 24.8665 96.7572 24.9446C96.5441 25.0213 96.3076 25.0597 96.0476 25.0597C95.6641 25.0597 95.3218 24.9709 95.0208 24.7933C94.7197 24.6158 94.4826 24.3594 94.3095 24.0241C94.1363 23.6889 94.0498 23.2869 94.05 22.8182C94.0503 22.348 94.1378 21.946 94.3126 21.6122C94.4875 21.277 94.7255 21.0206 95.0268 20.843C95.328 20.6655 95.6689 20.5767 96.0496 20.5767C96.2925 20.5767 96.5183 20.6108 96.7271 20.679C96.9359 20.7472 97.1219 20.8473 97.2852 20.9794C97.4485 21.1101 97.5827 21.2706 97.6877 21.4609C97.7942 21.6499 97.8637 21.8658 97.8962 22.1087ZM101.371 20.6364H102.162L102.161 23.4872C102.161 23.7997 102.087 24.0746 101.939 24.3118C101.792 24.549 101.586 24.7344 101.321 24.8679C101.055 25 100.745 25.0661 100.389 25.0661C100.033 25.0661 99.7219 25 99.4563 24.8679C99.1907 24.7344 98.9848 24.549 98.8386 24.3118C98.6924 24.0746 98.6194 23.7997 98.6195 23.4872L98.6208 20.6364H99.4113L99.41 23.4212C99.41 23.603 99.4497 23.7649 99.5291 23.907C99.6101 24.049 99.7236 24.1605 99.8699 24.2415C100.016 24.321 100.189 24.3608 100.39 24.3608C100.59 24.3608 100.763 24.321 100.91 24.2415C101.057 24.1605 101.171 24.049 101.251 23.907C101.33 23.7649 101.37 23.603 101.37 23.4212L101.371 20.6364ZM103.019 25L103.021 20.6364H104.658C104.993 20.6364 105.274 20.6946 105.501 20.8111C105.73 20.9276 105.902 21.0909 106.019 21.3011C106.137 21.5099 106.195 21.7536 106.195 22.032C106.195 22.3118 106.135 22.5547 106.016 22.7607C105.898 22.9652 105.724 23.1236 105.494 23.2358C105.264 23.3466 104.981 23.402 104.646 23.402H103.48L103.48 22.7457H104.539C104.735 22.7457 104.896 22.7187 105.021 22.6648C105.146 22.6094 105.238 22.5291 105.298 22.424C105.359 22.3175 105.39 22.1868 105.39 22.032C105.39 21.8771 105.359 21.745 105.298 21.6357C105.237 21.5249 105.144 21.4411 105.019 21.3842C104.894 21.326 104.733 21.2969 104.536 21.2969H103.811L103.81 25H103.019ZM105.274 23.0227L106.354 25H105.472L104.411 23.0227H105.274ZM107.714 20.6364L107.712 25H106.922L106.924 20.6364H107.714ZM108.378 21.299L108.378 20.6364H111.86L111.859 21.299H110.511L110.509 25H109.725L109.727 21.299H108.378ZM112.233 20.6364H113.125L114.192 22.5668H114.235L115.303 20.6364H116.196L114.607 23.3722L114.606 25H113.818L113.819 23.3722L112.233 20.6364ZM121.167 22.0298C121.131 21.9148 121.082 21.8118 121.02 21.7209C120.959 21.6286 120.885 21.5497 120.798 21.4844C120.713 21.419 120.615 21.37 120.504 21.3374C120.393 21.3033 120.273 21.2862 120.142 21.2862C119.908 21.2862 119.699 21.3452 119.515 21.4631C119.332 21.581 119.188 21.7543 119.083 21.983C118.979 22.2102 118.927 22.4872 118.927 22.8139C118.927 23.1435 118.978 23.4226 119.082 23.6513C119.186 23.88 119.33 24.054 119.514 24.1733C119.699 24.2912 119.913 24.3501 120.158 24.3501C120.379 24.3501 120.571 24.3075 120.733 24.2223C120.896 24.1371 121.022 24.0163 121.11 23.8601C121.198 23.7024 121.243 23.5178 121.243 23.3061L121.422 23.3338H120.237L120.237 22.7159H122.008L122.008 23.2401C122.007 23.6136 121.928 23.9368 121.769 24.2095C121.609 24.4822 121.39 24.6925 121.112 24.8402C120.834 24.9865 120.514 25.0597 120.153 25.0597C119.751 25.0597 119.398 24.9695 119.094 24.7891C118.792 24.6072 118.555 24.3494 118.385 24.0156C118.216 23.6804 118.132 23.2827 118.132 22.8224C118.132 22.4702 118.182 22.1555 118.282 21.8786C118.383 21.6016 118.523 21.3665 118.704 21.1733C118.884 20.9787 119.096 20.831 119.339 20.7301C119.582 20.6278 119.846 20.5767 120.132 20.5767C120.373 20.5767 120.598 20.6122 120.807 20.6832C121.016 20.7528 121.201 20.8523 121.363 20.9815C121.526 21.1108 121.66 21.2642 121.765 21.4418C121.871 21.6193 121.939 21.8153 121.972 22.0298H121.167ZM122.771 25L122.773 20.6364H124.409C124.745 20.6364 125.026 20.6946 125.253 20.8111C125.482 20.9276 125.654 21.0909 125.771 21.3011C125.889 21.5099 125.947 21.7536 125.947 22.032C125.947 22.3118 125.887 22.5547 125.768 22.7607C125.65 22.9652 125.476 23.1236 125.246 23.2358C125.016 23.3466 124.733 23.402 124.398 23.402H123.232L123.232 22.7457H124.291C124.487 22.7457 124.648 22.7187 124.773 22.6648C124.898 22.6094 124.99 22.5291 125.05 22.424C125.111 22.3175 125.142 22.1868 125.142 22.032C125.142 21.8771 125.111 21.745 125.05 21.6357C124.989 21.5249 124.896 21.4411 124.771 21.3842C124.646 21.326 124.485 21.2969 124.288 21.2969H123.563L123.562 25H122.771ZM125.026 23.0227L126.106 25H125.224L124.163 23.0227H125.026ZM130.574 22.8182C130.573 23.2884 130.485 23.6911 130.309 24.0263C130.134 24.3601 129.895 24.6158 129.593 24.7933C129.291 24.9709 128.95 25.0597 128.568 25.0597C128.186 25.0597 127.843 24.9709 127.541 24.7933C127.24 24.6143 127.001 24.358 126.825 24.0241C126.651 23.6889 126.564 23.2869 126.564 22.8182C126.564 22.348 126.651 21.946 126.826 21.6122C127.003 21.277 127.241 21.0206 127.543 20.843C127.845 20.6655 128.188 20.5767 128.57 20.5767C128.952 20.5767 129.293 20.6655 129.594 20.843C129.897 21.0206 130.135 21.277 130.31 21.6122C130.486 21.946 130.574 22.348 130.574 22.8182ZM129.779 22.8182C129.779 22.4872 129.727 22.2081 129.624 21.9808C129.522 21.7521 129.38 21.5795 129.198 21.4631C129.016 21.3452 128.807 21.2862 128.569 21.2862C128.332 21.2862 128.123 21.3452 127.941 21.4631C127.759 21.5795 127.616 21.7521 127.512 21.9808C127.41 22.2081 127.359 22.4872 127.358 22.8182C127.358 23.1491 127.409 23.429 127.512 23.6577C127.615 23.8849 127.758 24.0575 127.94 24.1754C128.121 24.2919 128.331 24.3501 128.568 24.3501C128.805 24.3501 129.015 24.2919 129.197 24.1754C129.379 24.0575 129.521 23.8849 129.623 23.6577C129.727 23.429 129.779 23.1491 129.779 22.8182ZM134.073 20.6364H134.863L134.862 23.4872C134.862 23.7997 134.788 24.0746 134.64 24.3118C134.494 24.549 134.287 24.7344 134.022 24.8679C133.756 25 133.446 25.0661 133.091 25.0661C132.734 25.0661 132.423 25 132.157 24.8679C131.892 24.7344 131.686 24.549 131.54 24.3118C131.394 24.0746 131.321 23.7997 131.321 23.4872L131.322 20.6364H132.112L132.111 23.4212C132.111 23.603 132.151 23.7649 132.23 23.907C132.311 24.049 132.425 24.1605 132.571 24.2415C132.717 24.321 132.891 24.3608 133.091 24.3608C133.291 24.3608 133.465 24.321 133.611 24.2415C133.759 24.1605 133.872 24.049 133.952 23.907C134.032 23.7649 134.071 23.603 134.071 23.4212L134.073 20.6364ZM135.72 25L135.722 20.6364H137.359C137.694 20.6364 137.975 20.6989 138.202 20.8239C138.431 20.9489 138.604 21.1207 138.72 21.3395C138.838 21.5568 138.897 21.804 138.896 22.081C138.896 22.3608 138.837 22.6094 138.719 22.8267C138.601 23.044 138.427 23.2152 138.197 23.3402C137.967 23.4638 137.683 23.5256 137.347 23.5256H136.262L136.263 22.8757H137.241C137.437 22.8757 137.597 22.8416 137.722 22.7734C137.847 22.7053 137.94 22.6115 137.999 22.4922C138.06 22.3729 138.091 22.2358 138.091 22.081C138.091 21.9261 138.061 21.7898 138 21.6719C137.94 21.554 137.847 21.4624 137.721 21.397C137.596 21.3303 137.434 21.2969 137.237 21.2969H136.513L136.511 25H135.72Z\",\n fill: \"#111111\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1101_3952\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 173,\n height: 26,\n fill: \"white\",\n transform: \"matrix(1 0 -0.00043829 1 40.9943 0)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.b50057c336316a4edef6bfe400e39c7a.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport MediaQuery from \"react-responsive\";\n\nconst MIN_DESKTOP_WIDTH = 1024;\nconst MIN_TABLET_WIDTH = 768;\nconst MIN_LG_WIDTH = 1440;\nconst MIN_MD_WIDTH = 1260;\n\nconst Desktop = (props) => (\n \n);\n\nconst Tablet = (props) => (\n \n);\n\nconst Mobile = (props) => (\n \n);\n\nconst TabletDesktop = (props) => (\n \n);\n\nconst MobileTablet = (props) => (\n \n);\n\nconst TabletMd = (props) => (\n \n);\n\nconst Lg = (props) => ;\nconst MdLg = (props) => ;\n\nexport {\n Desktop,\n Tablet,\n Mobile,\n TabletDesktop,\n MobileTablet,\n TabletMd,\n Lg,\n MdLg\n};\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import { ApiClient } from \"@/services/api\";\n\nclass AuthService extends ApiClient {\n createOrder(params) {\n // developer info\n return this.apiClient.post(\"/api/v1/order\", params);\n }\n\n updateDeveloperInfo({ id, ...params }) {\n // developer info\n return this.apiClient.post(`/api/v1/order/${id}/developer-info`, params);\n }\n\n getOrderDetails(id) {\n return this.apiClient.get(`/api/v1/order/${id}`);\n }\n\n sendApplicationInfo({ id, data }) {\n return this.apiClient.post(`/api/v1/order/${id}/application-info`, data);\n }\n\n // eslint-disable-next-line camelcase\n sendVerificationInfo({ id, is_manual_verification }) {\n return this.apiClient.post(`/api/v1/order/${id}/verification-info`, {\n // eslint-disable-next-line camelcase\n is_manual_verification\n });\n }\n\n resendOtpVerification(id) {\n return this.apiClient.post(`/api/v1/order/${id}/verification-resend-otp`);\n }\n\n verifyOtpCode({ id, otp }) {\n return this.apiClient.post(`/api/v1/order/${id}/verification-verify-otp`, {\n otp\n });\n }\n\n sendAgreement({ id, agree }) {\n return this.apiClient.post(`/api/v1/order/${id}/agreement`, {\n agree\n });\n }\n\n // eslint-disable-next-line camelcase\n fetchPayment({ id, product_id }) {\n return this.apiClient.post(`/api/v1/order/${id}/payment`, {\n // eslint-disable-next-line camelcase\n product_id\n });\n }\n\n sendMitigationsRecheck({ id }) {\n return this.apiClient.post(\n `/api/v1/order/${id}/mitigations-needed/recheck`,\n null\n );\n }\n\n getProducts() {\n return this.apiClient.get(\"/api/v1/products\");\n }\n\n getOrders(page, status) {\n return this.apiClient.get(\"/api/v2/orders\", {\n params: {\n page,\n status\n }\n });\n }\n\n fetchOrderTableCount() {\n return this.apiClient(\"/api/v1/orders/count\");\n }\n\n getServices() {\n return this.apiClient.get(\"/api/v1/services/list\");\n }\n\n createOrderCasa(params) {\n return this.apiClient.post(\"/api/v2/order-casa\", params);\n }\n\n updateDeveloperInfoCasa({ id, ...params }) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/developer-info`,\n params\n );\n }\n\n getOrderCasaDetails(id) {\n return this.apiClient.get(`/api/v2/order-casa/${id}`);\n }\n\n sendApplicationInfoCasa({ id, data }) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/application-info`,\n data\n );\n }\n\n sendAssesmentInfo({ id, data }) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/assessment-info`,\n data\n );\n }\n\n sendSourceCodeInfo({ id, data }) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/source-code-info`,\n data\n );\n }\n\n // eslint-disable-next-line camelcase\n fetchPaymentCasa({ id, plane_id }) {\n return this.apiClient.post(`/api/v2/order-casa/${id}/payment`, {\n // eslint-disable-next-line camelcase\n plane_id\n });\n }\n\n readyForRevalidationCasa(id) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/ready-for-revalidation`\n );\n }\n\n sendPurchaseOrder({ id, data }) {\n return this.apiClient.post(`/api/v2/order-casa/${id}/purchase-order`, data);\n }\n\n sendInvoiceCasa({ id, data }) {\n return this.apiClient.post(`/api/v2/order-casa/${id}/invoice`, data);\n }\n\n sendInvoice({ id, data }) {\n return this.apiClient.post(`/api/v1/order/${id}/invoice`, data);\n }\n\n removeAssesmentFileCasa(id) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/assessment-info/file/unlink`\n );\n }\n\n removeSourceCodeFileCasa(id) {\n return this.apiClient.post(\n `/api/v2/order-casa/${id}/source-code-info/file/unlink`\n );\n }\n\n // removePurchaseOrderFileCasa(id) {\n // return this.apiClient.post(\n // `/api/v2/order-casa/${id}/purchase-order/file/unlink`\n // );\n // }\n\n removeProjectCasa(id) {\n return this.apiClient.post(`/api/v2/order-casa/${id}/delete`);\n }\n\n removeProjectMasa(id) {\n return this.apiClient.post(`/api/v1/order/${id}/delete`);\n }\n\n sendAgreementCasa({ id, agree }) {\n return this.apiClient.post(`/api/v2/order-casa/${id}/agreement`, {\n agree\n });\n }\n\n readyForRevalidation(id) {\n return this.apiClient.post(`/api/v1/order/${id}/ready-for-revalidation`);\n }\n}\n\nexport default new AuthService();\n","import { createAsyncAction } from \"@/utils/createAsyncAction\";\nimport OrderService from \"@/services/OrderService\";\nimport { createAction } from \"@reduxjs/toolkit\";\n\nexport const OrderActions = {\n CREATE_ORDER: \"CREATE_ORDER\",\n GET_ORDER_DETAILS_BY_ID: \"GET_ORDER_DETAILS_BY_ID\",\n POST_APPLICATION_INFO: \"POST_APPLICATION_INFO\",\n APP_INFO_FILE_UPLOAD_SUCCESS: \"APP_INFO_FILE_UPLOAD_SUCCESS\",\n GET_ALL_ORDERS: \"GET_ALL_ORDERS\",\n GET_ALL_ORDERS_MORE: \"GET_ALL_ORDERS_MORE\",\n GET_ORDERS_TABLE: \"GET_ORDERS_TABLE\",\n UPDATE_DEVELOPER_INFO: \"UPDATE_DEVELOPER_INFO\",\n SEND_VERIFICATION_INFO_MANUAL: \"SEND_VERIFICATION_INFO_MANUAL\",\n SEND_VERIFICATION_INFO_AUTO: \"SEND_VERIFICATION_INFO_AUTO\",\n POST_AGREEMENT: \"POST_AGREEMENT\",\n RESEND_OTP_CODE: \"RESEND_OTP_CODE\",\n VERIFY_OTP_CODE: \"VERIFY_OTP_CODE\",\n CREATE_PAYMENT: \"CREATE_PAYMENT\",\n FETCH_ORDER_PRODUCTS: \"FETCH_ORDER_PRODUCTS\",\n CLEAR_ORDERS_TABLE: \"CLEAR_ORDERS_TABLE\",\n CLEAR_ORDER_DETAILS: \"CLEAR_ORDER_DETAILS\",\n FETCH_ORDER_TABLE_COUNT: \"FETCH_ORDER_TABLE_COUNT\",\n FETCH_MITIGATIONS_RECHECK: \"FETCH_MITIGATIONS_RECHECK\",\n CLEAR_ORDERS_REDUCER: \"CLEAR_ORDERS_REDUCER\",\n GET_ALL_SERVICES: \"GET_ALL_SERVICES\",\n POST_ASSESMENT_INFO: \"POST_ASSESMENT_INFO\",\n POST_SOURCE_CODE_INFO: \"POST_SOURCE_CODE_INFO\",\n READY_FOR_REVALIDATION: \"READY_FOR_REVALIDATION\",\n POST_PURCHASE_ORDER: \"POST_PURCHASE_ORDER\",\n POST_INVOICE: \"POST_INVOICE\",\n POST_REMOVE_ASSESMENT_FILE: \"POST_REMOVE_ASSESMENT_FILE\",\n POST_REMOVE_SOURCE_CODE_FILE: \"POST_REMOVE_SOURCE_CODE_FILE\",\n POST_REMOVE_PROJECT: \"POST_REMOVE_PROJECT\",\n\n GET_NEW_ORDERS: \"GET_NEW_ORDERS\",\n GET_IN_PROGRESS_ORDERS: \"GET_IN_PROGRESS_ORDERS\",\n GET_COMPLETED_ORDERS: \"GET_COMPLETED_ORDERS\",\n CLEAR_NEW_ORDERS: \"CLEAR_NEW_ORDERS\",\n CLEAR_IN_PROGRESS_ORDERS: \"CLEAR_IN_PROGRESS_ORDERS\",\n CLEAR_COMPLETED_ORDERS: \"CLEAR_COMPLETED_ORDERS\"\n};\n\n// CASA Order\nexport const createOrderCasa = createAsyncAction(\n OrderActions.CREATE_ORDER,\n async (params) => OrderService.createOrderCasa(params)\n);\n\nexport const updateDeveloperInfoCasa = createAsyncAction(\n OrderActions.UPDATE_DEVELOPER_INFO,\n async (params) => OrderService.updateDeveloperInfoCasa(params)\n);\n\nexport const getOrderCasaDetailsById = createAsyncAction(\n OrderActions.GET_ORDER_DETAILS_BY_ID,\n async (id) => OrderService.getOrderCasaDetails(id)\n);\n\nexport const postApplicationInfoCasa = createAsyncAction(\n OrderActions.POST_APPLICATION_INFO,\n async ({ id, data }) => OrderService.sendApplicationInfoCasa({ id, data })\n);\n\nexport const postAssesmentInfo = createAsyncAction(\n OrderActions.POST_ASSESMENT_INFO,\n async ({ id, file, data }) =>\n OrderService.sendAssesmentInfo({ id, file, data })\n);\n\nexport const postSourceCodeInfo = createAsyncAction(\n OrderActions.POST_SOURCE_CODE_INFO,\n async ({ id, file, data }) =>\n OrderService.sendSourceCodeInfo({ id, file, data })\n);\n\nexport const createPaymentCasa = createAsyncAction(\n OrderActions.CREATE_PAYMENT,\n // eslint-disable-next-line camelcase\n async ({ id, plane_id }) => OrderService.fetchPaymentCasa({ id, plane_id })\n);\n\nexport const postReadyForRevalidationCasa = createAsyncAction(\n OrderActions.READY_FOR_REVALIDATION,\n async (id) => OrderService.readyForRevalidationCasa(id)\n);\n\nexport const postPurchaseOrder = createAsyncAction(\n OrderActions.POST_PURCHASE_ORDER,\n async ({ id, file, data }) =>\n OrderService.sendPurchaseOrder({ id, file, data })\n);\n\nexport const postInvoiceCasa = createAsyncAction(\n OrderActions.POST_INVOICE,\n async ({ id, data }) => OrderService.sendInvoiceCasa({ id, data })\n);\n\nexport const postRemoveAssesmentFileCasa = createAsyncAction(\n OrderActions.POST_REMOVE_ASSESMENT_FILE,\n async (id) => OrderService.removeAssesmentFileCasa(id)\n);\n\nexport const postRemoveSourceCodeFileCasa = createAsyncAction(\n OrderActions.POST_REMOVE_SOURCE_CODE_FILE,\n async (id) => OrderService.removeSourceCodeFileCasa(id)\n);\n\nexport const postRemoveProjectCasa = createAsyncAction(\n OrderActions.POST_REMOVE_PROJECT,\n async (id) => OrderService.removeProjectCasa(id)\n);\n\nexport const postAgreementCasa = createAsyncAction(\n OrderActions.POST_AGREEMENT,\n async ({ id, agree }) => OrderService.sendAgreementCasa({ id, agree })\n);\n// CASA Order\n\nexport const getAllServices = createAsyncAction(\n OrderActions.GET_ALL_SERVICES,\n async () => OrderService.getServices()\n);\n\nexport const createOrder = createAsyncAction(\n OrderActions.CREATE_ORDER,\n async (params) => OrderService.createOrder(params)\n);\n\nexport const updateDeveloperInfo = createAsyncAction(\n OrderActions.UPDATE_DEVELOPER_INFO,\n async (params) => OrderService.updateDeveloperInfo(params)\n);\n\nexport const uploadFileSuccessful = createAction(\n OrderActions.APP_INFO_FILE_UPLOAD_SUCCESS\n);\n\nexport const getOrderDetailsById = createAsyncAction(\n OrderActions.GET_ORDER_DETAILS_BY_ID,\n async (id) => OrderService.getOrderDetails(id)\n);\n\nexport const postApplicationInfo = createAsyncAction(\n OrderActions.POST_APPLICATION_INFO,\n async ({ id, file, data }) =>\n OrderService.sendApplicationInfo({ id, file, data })\n);\n\nexport const sendVerificationInfoManual = createAsyncAction(\n OrderActions.SEND_VERIFICATION_INFO_MANUAL,\n (data) => OrderService.sendVerificationInfo(data)\n);\n\nexport const sendVerificationInfoAuto = createAsyncAction(\n OrderActions.SEND_VERIFICATION_INFO_AUTO,\n (data) => OrderService.sendVerificationInfo(data)\n);\n\nexport const postAgreement = createAsyncAction(\n OrderActions.POST_AGREEMENT,\n async ({ id, agree }) => OrderService.sendAgreement({ id, agree })\n);\n\nexport const resendOtpCode = createAsyncAction(\n OrderActions.RESEND_OTP_CODE,\n async (id) => OrderService.resendOtpVerification(id)\n);\n\nexport const verifyOtpCode = createAsyncAction(\n OrderActions.VERIFY_OTP_CODE,\n async (id) => OrderService.verifyOtpCode(id)\n);\n\nexport const clearOrdersTable = createAction(OrderActions.CLEAR_ORDERS_TABLE);\n\nexport const getAllOrders = createAsyncAction(\n OrderActions.GET_ALL_ORDERS,\n async (_page, _status) => OrderService.getOrders(_page, _status)\n);\n\nexport const getAllOrdersMore = createAsyncAction(\n OrderActions.GET_ALL_ORDERS_MORE,\n async (_page) => OrderService.getOrders(_page)\n);\n\nexport const getOrdersTable = (page, status) => async (dispatch) => {\n const fetchOrders = createAsyncAction(\n OrderActions.GET_ORDERS_TABLE,\n async (_page, filter) => OrderService.getOrders(_page, filter)\n );\n\n dispatch(clearOrdersTable());\n return dispatch(fetchOrders(page, status));\n};\n\nexport const clearOrderDetails = createAction(OrderActions.CLEAR_ORDER_DETAILS);\n\nexport const createPayment = createAsyncAction(\n OrderActions.CREATE_PAYMENT,\n // eslint-disable-next-line camelcase\n async ({ id, product_id }) => OrderService.fetchPayment({ id, product_id })\n);\n\nexport const fetchOrderTableCount = createAsyncAction(\n OrderActions.FETCH_ORDER_TABLE_COUNT,\n async () => OrderService.fetchOrderTableCount()\n);\n\nexport const fetchOrderProducts = createAsyncAction(\n OrderActions.FETCH_ORDER_PRODUCTS,\n async () => OrderService.getProducts()\n);\n\nexport const fetchMitigationsRecheck = createAsyncAction(\n OrderActions.FETCH_MITIGATIONS_RECHECK,\n async ({ id }) => OrderService.sendMitigationsRecheck({ id })\n);\n\nexport const clearOrdersReducer = createAction(\n OrderActions.CLEAR_ORDERS_REDUCER\n);\n\nexport const postRemoveProjectMasa = createAsyncAction(\n OrderActions.POST_REMOVE_PROJECT,\n async (id) => OrderService.removeProjectMasa(id)\n);\n\nexport const postInvoice = createAsyncAction(\n OrderActions.POST_INVOICE,\n async ({ id, data }) => OrderService.sendInvoice({ id, data })\n);\n\nexport const postReadyForRevalidation = createAsyncAction(\n OrderActions.READY_FOR_REVALIDATION,\n async (id) => OrderService.readyForRevalidation(id)\n);\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Link, NavLink, useNavigate } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Auth } from \"aws-amplify\";\nimport { logout } from \"@/store/auth/auth.actions\";\nimport { clearOrdersReducer } from \"@/store/order/order.actions\";\nimport { getAccountEmail } from \"@/store/account/account.reducer\";\nimport { routes } from \"@/constants\";\nimport { Mobile, MobileTablet, Desktop } from \"@/components/Responsive\";\nimport {\n LogoutIcon,\n InfoIcon,\n DashboardIcon,\n SettingsIcon,\n NotificationIcon\n} from \"@/icons\";\nimport \"./PageSidebar.scss\";\n\nconst PageSidebar = ({ handleClick, handleClickNotifications }) => {\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const accountEmail = useSelector(getAccountEmail);\n const [comingSoon] = useState(false);\n\n const handleLogout = async () => {\n dispatch(logout());\n await Auth.signOut();\n navigate(routes.LOGIN);\n dispatch(clearOrdersReducer());\n };\n\n const handleNoticeClick = () => {\n handleClickNotifications();\n handleClick();\n };\n\n return (\n
\n \n
\n {accountEmail && (\n
\n
{accountEmail[0]}
\n
{accountEmail}
\n
\n )}\n {comingSoon && (\n \n
\n \n
\n \n )}\n
\n
\n
\n {accountEmail && (\n \n
\n
{accountEmail[0]}
\n
{accountEmail}
\n
\n
\n )}\n
    \n
  • \n \n \n Dashboard\n \n
  • \n
  • \n \n \n Settings\n \n
  • \n
  • \n \n \n Help\n \n
  • \n
\n \n
\n \n New assesment\n \n
\n
\n
\n
\n \n \n Log Out\n \n
\n
\n );\n};\n\nPageSidebar.propTypes = {\n handleClick: PropTypes.func,\n handleClickNotifications: PropTypes.func\n};\n\nexport default PageSidebar;\n","import PageSidebar from \"./PageSidebar\";\n\nexport default PageSidebar;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useMemo, useState } from \"react\";\nimport { Link, matchPath, useLocation } from \"react-router-dom\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport cn from \"classnames\";\nimport { routes } from \"@/constants\";\nimport { getIsAuthenticated } from \"@/store/auth/auth.reducer\";\nimport Logo from \"@/assets/images/logo.svg\";\nimport { NotificationIcon } from \"@/icons\";\nimport { Desktop, TabletDesktop, MobileTablet } from \"@/components/Responsive\";\nimport PageSidebar from \"@/components/PageSidebar\";\nimport \"./Header.scss\";\n\nconst Header = ({ mod, handleClickNotifications }) => {\n const location = useLocation();\n const isAuthenticated = useSelector(getIsAuthenticated);\n const [isOpened, setIsOpened] = useState(false);\n const [comingSoon] = useState(false);\n\n const rootRoute = useMemo(() => {\n const isMainRoute = matchPath(routes.ROOT, location.pathname);\n return routes.ROOT + (isMainRoute ? location.search : \"\");\n }, [location]);\n\n const handleToggleMenu = () => {\n setIsOpened(!isOpened);\n };\n const handleHideMenu = () => {\n if (isOpened) {\n setIsOpened(false);\n }\n };\n\n return (\n
\n \n \n \n {isAuthenticated && (\n
\n \n {comingSoon && (\n \n
\n \n
\n
Notifications
\n \n )}\n
\n \n \n Start new assesment\n \n \n \n \n
\n \n {isOpened && (\n
\n
\n \n
\n
\n )}\n \n
\n )}\n
\n );\n};\n\nHeader.propTypes = {\n mod: PropTypes.string,\n handleClickNotifications: PropTypes.func\n};\n\nexport default Header;\n","import Header from \"./Header\";\n\nexport default Header;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport \"./Footer.scss\";\n\nconst Footer = ({ mod }) => {\n const date = new Date();\n\n return (\n
\n
\n Need assistance or have questions? Reach out to \n hub@leviathansecurity.com\n
\n
\n © {date.getFullYear()} Leviathan Security Group\n
\n
\n );\n};\n\nFooter.propTypes = {\n mod: PropTypes.string\n};\n\nexport default Footer;\n","import Footer from \"./Footer\";\n\nexport default Footer;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _ellipse, _path58, _path59, _path60, _path61, _path62, _g, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _circle, _circle2, _circle3, _path77, _path78, _path79, _path80, _ellipse2, _path81, _path82, _path83, _path84, _ellipse3, _ellipse4, _ellipse5, _ellipse6, _path85, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _path93, _rect, _rect2, _rect3, _rect4, _path94, _path95, _path96, _g2, _path97, _circle4, _path98, _path99, _g3, _path100, _path101, _g4, _path102, _path103, _path104, _path105, _g5, _path106, _path107, _path108, _path109, _path110, _path111, _path112, _path113, _path114, _path115, _path116, _circle5, _path117, _circle6, _circle7, _path118, _path119, _path120;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgForgotPassImg(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 4000 3000\",\n width: 4000,\n height: 3000,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1551.0 1463.0) rotate(0.0 858.0 567.0) scale(0.999453678583618 0.9994632512169391)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 1716.938,\n height: 1134.609,\n viewBox: \"0 0 1716.938 1134.609\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1711.938 1134.609H5a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h1706.938a5 5 0 0 1 5 5v1124.609a5 5 0 0 1-5 5zM10 1124.609h1696.938V10H10z\",\n fill: \"#91a0e2\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(432.0 166.0) rotate(0.0 965.5 1335.0) scale(0.9986119758967856 0.9990649201365465)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 1933.684,\n height: 2672.499,\n viewBox: \"0 0 1933.684 2672.499\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1187.403 2260.237v136.174H983.142v-157.305zm-834.653 1.174-74.608 229.695 234-94.695 36.261-124.435z\",\n fill: \"#e59673\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1412.4 2630.708v40.4c0 3.13-416.35 0-467.22 0-4.42-35.4-3.34-69.29 5.01-100.69a191.205 191.205 0 0 1 32.95-67.57v-106.44h81.78l-.31-31.07a45.062 45.062 0 0 1 45.93-45.52l33.32.63a44.389 44.389 0 0 1 43.54 44.38v79.38a68.549 68.549 0 0 0 47.65 65.28l115.94 37.1a88.319 88.319 0 0 1 61.41 84.12z\",\n fill: \"#f36a8d\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.363 2579.058a51.777 51.777 0 0 1-20.1-4.028 5 5 0 1 1 3.861-9.224 41.966 41.966 0 1 0 29.448-78.531 5 5 0 0 1 3.143-9.494 51.96 51.96 0 0 1-16.351 101.277zm444.037 60.266h-414a5 5 0 1 1 0-10h414a5 5 0 0 1 0 10z\",\n fill: \"#fff\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1205.794 2639.324a5 5 0 0 1-5-5c0-23.88 13.572-51.139 35.418-71.138 24.457-22.389 55.709-33.146 88.005-30.288a5 5 0 1 1-.882 9.961c-29.466-2.606-58.008 7.232-80.37 27.7-19.844 18.165-32.171 42.6-32.171 63.762a5 5 0 0 1-5 5.003zm-7.046-60.26a4.991 4.991 0 0 1-2-.42c-58.33-25.52-91.6-48.154-111.24-75.683-21.233-29.758-25.583-64.117-25.583-106.553a5 5 0 0 1 10 0c0 40.514 4.034 73.15 23.723 100.745 18.519 25.954 50.551 47.585 107.108 72.329a5 5 0 0 1-2.006 9.582z\",\n fill: \"#fff\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1187.403 2260.237-204.261 76.695v-97.826z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m2.7 2649.865-1.6 21.241c0 3.131 436.008 0 486.877 0 21.819-49.3 24.167-116.608-7.815-166.442l31.982-108.253H355.62l19.251-58.277a13.945 13.945 0 0 0-13.24-18.318H348.8a20.416 20.416 0 0 0-19.41 14.088L308.818 2397a184.8 184.8 0 0 1-126.009 120.72L89.8 2543.686a119.59 119.59 0 0 0-87.1 106.179z\",\n fill: \"#f36a8d\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M399.229 2579.063a51.957 51.957 0 1 1 51.956-51.957 52.016 52.016 0 0 1-51.956 51.957zm0-93.913a41.957 41.957 0 1 0 41.956 41.956 42 42 0 0 0-41.956-41.956zm41.171 154.174H5a5 5 0 0 1 0-10h435.4a5 5 0 0 1 0 10z\",\n fill: \"#fff\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.1 2637.758a5 5 0 0 1-5-5c0-20.687-3.442-40.567-9.693-55.977-8-19.722-20.412-32.585-36.888-38.231a5 5 0 0 1 3.242-9.46c19.337 6.626 33.775 21.408 42.912 43.932 8.618 21.246 10.427 44.212 10.427 59.736a5 5 0 0 1-5 5zm-.006-71.999a5 5 0 0 1-1.1-9.876c34.535-7.849 68.285-20.99 95.032-37 28.724-17.2 48.049-36.707 55.887-56.42 4.316-10.857 17.451-43.895 26-67.738a5 5 0 1 1 9.413 3.377c-8.611 24-21.793 57.159-26.125 68.055-19.194 48.277-93.183 84.75-158 99.48a5 5 0 0 1-1.107.122z\",\n fill: \"#fff\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m352.75 2261.411 168.766 102.832 26.887-92.267zM859.62 374.085l41.217-9.587 81.392 3.13 42.049 26.723-7.615 59.103-163.826-34.174z\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m891.224 173.15 109.523 1.692-5.478 354.644-109.523-1.692z\",\n fill: \"#e59673\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M920.838 269.478c-.847 38.81 10.522 101.524 76.644 116.737l1.555-100.668z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1137.474 235.672c-21.248 73.041-83.619 131.3-141.606 118.5-59.139-13.049-95.32-95.878-74.072-168.919s85.613-118.541 143.764-101.625 93.161 79.002 71.914 152.044z\",\n fill: \"#e59673\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M906.177 193.129c25.428-2.934 83.13-22.494 112.959-64.548 57.7 33.252 123.228 37.164 162.836 32.274s25.4-26.484 14.181-35.7c-27.383-22.494-49.364-31.8-87.53-42.054 120.034-9.224 66.014-37.653 28.851-41.565-35.351-3.721-102.2 2.445-118.338 11.247 21.027-14.181 33.741-35.685 33.741-45.477 0-12.714-20.016-6.373-34.23.489-14.181 6.846-36.675 26.895-48.411 47.922-60.147 23.472-97.782 77.332-99.756 132.03 22.005 3.915 35.697 5.382 35.697 5.382z\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1048.427 238.543c-17.229 12.163-41.443 11.148-56.538-3.444-7.184-6.94-12.3-16.96-13.621-30.1a47.052 47.052 0 0 1 19.052-7.452c20.63-3.518 46.796 4.153 51.107 40.996zm88.04.211c-10.194 18.939-21.333 28.638-39.725 17.941a74.113 74.113 0 0 1-11.877-8.893c4.086-8.493 9.977-15.338 16.475-19.563 12.206-7.947 26.56-6.619 35.127 10.515z\",\n fill: \"#fff\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1063.631 280.283a5 5 0 0 1-1.209-9.852l18.344-4.586-11.485-10.486a5 5 0 0 1 6.743-7.385l18.366 16.77a5 5 0 0 1-2.158 8.543l-27.385 6.846a5.047 5.047 0 0 1-1.216.15zm-15.204-41.74c-17.229 12.163-41.443 11.148-56.538-3.444a37.585 37.585 0 0 1 5.431-37.556c20.63-3.514 46.796 4.157 51.107 41zm88.04.211c-10.194 18.939-21.333 28.638-39.725 17.941a37.638 37.638 0 0 1 4.6-28.456c12.204-7.947 26.558-6.619 35.125 10.515zM1055.6 200.92a5 5 0 0 1-4.586-3c-8.624-19.776-30.965-25.744-49-24.736a5 5 0 0 1-.558-9.985c21.4-1.2 48.047 6.247 58.719 30.724a5 5 0 0 1-4.58 7zm38.441 8.296a5 5 0 0 1-3.535-8.536c11.041-11.041 33.412-14.675 46.825-3.011a5 5 0 1 1-6.561 7.546c-9.084-7.9-25.586-5.071-33.193 2.536a4.986 4.986 0 0 1-3.536 1.465zM870.48 187.75c0 23.961 0 59.9 19.166 87.532 0-35.7.957-61.957.957-61.957zm160.877 113.935a46.26 46.26 0 0 1-9.691 5.492c-24.237 10.047-50.33-4.958-53.685-33.385a55.107 55.107 0 0 1-.188-10.741c20.779 1.959 50.855 16.384 63.564 38.634z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1031.357 301.685a46.26 46.26 0 0 1-9.691 5.492c-12.175-16.336-34.743-29.486-53.685-33.385a55.107 55.107 0 0 1-.188-10.741c20.779 1.959 50.855 16.384 63.564 38.634z\",\n fill: \"#fff\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M918.4 210.244c0-18.095-18.092-38.142-36.186-38.142s-32.763 18.091-32.763 36.186 17.115 38.141 40.1 38.63c18.09.382 28.849-18.58 28.849-36.674z\",\n fill: \"#e59673\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M904.953 217.69a5 5 0 0 1-4.761-3.478c-4.833-15.1-19.029-20.866-29.41-17.544a5 5 0 1 1-3.048-9.524c14.961-4.788 35.267 3.035 41.983 24.021a5 5 0 0 1-4.764 6.525z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880.011 224.254a5 5 0 0 1-4.989-4.739c-.629-12.006 11.564-22.744 22.473-23.97a5 5 0 1 1 1.117 9.937c-6.212.7-13.925 7.375-13.6 13.51a5 5 0 0 1-4.732 5.255c-.092.004-.18.007-.269.007z\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m215.9 860.159 338.32-418.74a164.744 164.744 0 0 1 121.7-54.576c38.964-.2 120.965 10.036 180.791 15.233 53.2 20.422 82.481 28.161 82.481 28.161l23.478 100.174 20.769-98.611s21.616-2.87 42.313-5.791c52.483 10.516 115.346 27.443 170.9 43.158 26.455 7.483 48.707 25.5 65.116 47.554C1367.6 659 1541.924 918.454 1541.924 918.454l-191.24 137.263L1212.837 839.8s13.036 80.774 19.566 126.261c7.826 54.522-8.609 82.7-45 95.608-56.715 20.125-235.957 55.174-235.957 55.174H679.359c-35.348-2.608-106.956-53.217-95.348-142.043C454.881 928.628 215.9 860.159 215.9 860.159z\",\n fill: \"#fdc93a\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1108.062 864.111c-.742-.154-1.729-1.838-2.243-.542 1.326.447 1.307 1.173 2.243.542zm-8.094-4.164c.02 1.243 2.092.325 1.483 1.76-3.68-1.192-6.142-3.326-8.551-4.023 2.189 3.163 4.971 3.707 8.127 5.879.39-1.475 1.552-1.3 1.717-2.745-.944-.402-2.044-1.827-2.776-.871zm-7.942 179.684c.12.763 1.441 1.4 1.978.375-.704-.428-1.461-1.135-1.978-.375zm-2.891-.1c-.039.682.081 2.167 1.136 1.131-.296-.271-.746-1.693-1.136-1.131zm-3.001-185.189c.3.322.236.751.871.967 1.145-1.847 2.1 1.351 3.614.12-1.487-.7-2.959-2.082-4.179-2.169 1.329.534.318 1.069-.306 1.082zm10.182 189.637a1.834 1.834 0 0 0 1.52.517 1.666 1.666 0 0 0 .232-1.553c-.534.67-1.278-.001-1.752 1.036zm-10.842-.361c.159 1.008 1.381 1.01 1.98.376-.727-.536-1.402-.757-1.98-.376zm17.517 9.154c-.3-.236-.569-.484-.151-.939-1.5-.034-.6-1.252-1.593-.989.166.192.149.447-.115.776 1.441-.362.852 1.58 1.859 1.152zm-7.199-12.082c-.6-.72-.962 0-1.523-.517-.845.833.616.956.035 1.713-.147-.091-.457.06-.191.306.517-.77 1.31.2 1.83-.565a.989.989 0 0 1-.151-.937zm-3.749 9.534a1.056 1.056 0 0 0 1.329.823c.993-1.288-.764-1.865-1.329-.823zm15.331-184.424 1.065.66a2.262 2.262 0 0 1 1.028-1.056c-.75-.204-1.493-.358-2.093.396zm81.504 27.178c-.083.7-.182 2.663.377 2.35-.672-.693.661-.5.763-1.222-.284-.244-.786-.416-.608-.8.43.194.915.718 1.259.353-.612-1.118-.782-.2-1.791-.681zm-17.105-5.092c-1.6.233-1.7-.754-2.928-1.81-1.307 1.094-1.6-.76-2.89-.1 1.288 1.693 3.654 2.134 4.863 3.435q.474-.76.955-1.525zm-2.064 5.075c.276.244-.014.661-.31 1.079a1.731 1.731 0 0 0 2.361-.229c-.098-.643-1.493-1.735-2.051-.85zm2.009 2.089a8.127 8.127 0 0 0 1.82 2.4c.421-.541.123-.859.5-1.386-1.299-.293-1.438-2.013-2.32-1.014zm-25.327-22.032c-1.028 1.14.771 1.408.828 2.214.394-1.056 1.022-.616 1.414-1.67-1.013-1.287-3.25-.895-4.9-2.191.893.652 1.592 2.508 2.658 1.647zm-4.068.022c.84.891 1.879-.243 1.749-1.033-1.241-.7-1.2-.39-2.128-1.316-.912 1.781 2.323 1.022.379 2.349zm35.865 20.517c.641 0 1.423.888 1.9-.1-.441-.274-.886-.546-1.328-.822l-.572.922zm3.322-4.72c-.578-.113-1.332-1.337-1.79-.685.685.6 1.114 2.819 2.2 1.787-.753-.407-1.4-.792-.41-1.102zm-98.048 152.687c1.111.329 1.043 1.871 2.053.851a1.959 1.959 0 0 0-2.053-.851zm92.374-150.695a2.962 2.962 0 0 0-4.178-2.167c.655 1.254 2.758 1.875 4.669 3.741 1.871-2.153 3.03.121 4.261-.327-1.188-2.5-2.837-2.049-4.752-1.247zm-57.13-23.092c.282.264-.047.44-.382.61.744.661 1.326.289 1.9-.093-.487-.072-1.145-1.208-1.518-.517zm10.852 197.996a2.182 2.182 0 0 0-1.1-.584c-.292.886.582.274 1.1.584zm-.889-195.639c-1.222.2-1.35-1.451-2.244-.543.746.149 1.734 1.834 2.244.543zm-11.557-3.347c.376-.765-1.008-.587-1.256-.352.953.282.454 1.011 1.407 1.294.51-.745 1.105-.644.5-1.387-.211.198-.387.598-.651.445zm15.476 2.387c-1.071-.434-1.661-2.427-2.848-1.341 1.383 1.171-.338.815-1.028 1.055 1.871.381 2.34.763 3.876.286zm1.457-5.871c1.29-1.628.486-2.616-.334-3.6-.666 1.443.365 2.358.334 3.6zm4.555 7.471a.9.9 0 0 0-1.71-.211 1.452 1.452 0 0 0 1.71.211zm-7.879.208c1.311.353 1.3 1.158 2.321 1.009-.133-.651-1.722-1.927-2.321-1.009zm4.05-7.654c.143 1.046 1.065.306 1.86 1.149 1.13-1.116-1.355-2.653-1.86-1.149zm2.535 207.764c.784.78 1.5 1.051 1.823 2.4 1.533-1.308-.983-2.643-1.823-2.4zm17.841-200.233c-.856.337-.179.719-1.032 1.057.632.456 1.255.857 1.71.211a.973.973 0 0 1 .044-1.242c-.706-.441-1.59-.827-1.674-1.458-.914.854.533.987.952 1.432zm-211.02 56.069c.651 1.4 2.881 1.539 4.027 1.226-1.814-.551-2.354-1.991-4.027-1.226zm24.551 29.172c.471.531 1.723 2.08 2.662 1.648-.794-.428-1.54-2.131-2.662-1.648zm55.896-61.079c-.478-.522-1.26-1.8-2.053-.849.844.409 1.085 1.858 2.053.849zm28.04 16.513c-2.683-.946-3.766-1.58-6.731-1.626 1.755.97 3.35.982 5.169 2.353.329-1.453 1.086-.203 1.562-.727zm-78.371 40.39c.629.384.453 1.012 1.4 1.295 1.011-1.198-.759-1.848-1.4-1.295zm-13.18-83.949c2.166 1.2 5.662 4.832 8.553 4.024-3.042-.998-5.327-5.206-8.553-4.024zm46.703 23.835c-.641-.516-1.21-.6-1.635.261.356.217.71.44 1.062.658zm125.095 176.95c.843-.835.186-1.208-.035-1.713a4.046 4.046 0 0 1-.41.163c.923.279.02 1.119.445 1.55zm19.626-199.548c-.667-.774-.591-1.6-1.863-1.151.663.779.584 1.603 1.863 1.151zm-20.119 197.977-.018.043c.022-.006.044-.015.066-.022-.016-.006-.027-.015-.048-.021zm-115.817-193.162c.25.137.47.253.646.339a2.939 2.939 0 0 0-.646-.339zm183.78 36.664-.571.915 1.065.659c.582-.753-.066-1.125-.494-1.574zm26.016 39.818c-1.069-.051-.953-2.074-1.789-.684.533.655.942 1.207 1.789.684zM982.7 964.321c-.852.664-2.213-1.842-2.967-.569.828.693 1.7 1.738 2.47 1.953-.83-.329 1.377-.723.497-1.384zm101.646-110.661c.745.663 1.325.294 1.9-.092-.111-.747-1.313-.607-1.9.092z\",\n fill: \"none\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1058.22 922.59c.764.761 1.292.09 1.83-.565.09-.685.168-1.368-.76-1.737-1.533 1.644-3.632-1.664-4.56-1.555a4.475 4.475 0 0 1 3.039 1.037c-.658-5.71-8.238-5.642-10.6-7.832.219.2.687 0 .723.023-1.859-1.2-3.014-2.159-3.764-1.057.543-.391.967 1.322 1.483 1.76-1.881-1.174-2.166-.253-4.3-1.39-1.066-2.556-5.371-6.553-8.245-5.1-.8-1.152-3.792-3.4-5.966-2.847-.921-2.551-6.273-1.983-6.8-5.058-.555-.473-.847.7-1.373.421.437-1.3-1.974-1.078-2.848-1.341.316-.67-.33-1.049-.494-1.571-2.345.676-3.17-2.345-6.082-2.074.443.606 1.333 1.071 1.025 1.9-2.475-1.177-3.963 1.3-6.47 1.483v.015c-.01 0-.015-.01-.025-.014a3.908 3.908 0 0 1-.7-.009 12.072 12.072 0 0 1-1.821-2.395c1.417.624 1.125 1.773 2.52 2.4h.025c.172-1.84-2.337-2.151-2.239-3.484.6.245 1.038-.5 1.636-.261.273.578-.1 1.347.3 1.88a4.608 4.608 0 0 1 2.018-.867c.105.462-.622 1.176.225 1.409.446-.777.089-1.249.951-1.525-1.466-.689-.94-.048-.678-1.268-1.318-.549-1.751-2.241-3.193-1.976.455-.552.019-.829.038-1.246-2.076-1.8-5.677-2.118-9.007-3.883-4.061-2.151-7.8-7.457-12.465-6.027-.333-.835-1.211-.6-1.137-1.127.624-.571 1.662 1.422 2.167.075-1.338-1.528-3.395-1.1-5.093-1.885-3.083-1.423-5.24-5.12-8.552-4.024 2.646 1.432 4.545 3.563 7.828 4-.19.306-.383.61-.573.915 3.575 2.28 7.338 4.739 9.952 8.274 1.248-.9 1.638.6 1.671 1.462.64-.492 1.566.821 2.165.074-.16-.2-.516-.336-.342-.635.682.014.321 1.462 1.065.658a2.237 2.237 0 0 1-.414-1.1c1.084.255.563 2.26 1.479 1.759-.241-.251-.324-.9.116-.772.49 1.943 3.215 1.646 3.076 2.75 1.213.228.5-2.236 1.6-1.968-.06.955.207.911-.688 1.688a6.466 6.466 0 0 1 .814.664c.084 0 .167 0 .25-.008a1.624 1.624 0 0 1-.083.172c1.274 1.264 2.143 2.885 4.107 4.016-2.72.5-3.914-2.1-5.054-3.13.312-.33.669-.355.947-.886-.055-.054-.11-.111-.167-.164-1.309.039-2.617-.033-3.063 1.752 1.4-.042.718-.057 1.136 1.131 3.585-.554 5.595 5.754 10.151 5.009a.872.872 0 0 1-.418-1.106c1.6 1.345 2.131-1.236 4.378-1.1-.5.848-.828.34-.763 1.223.971.357 1.106.975 1.668 1.458.866-.076.136-.955.841-.752-.112.475.089 2.072-.424 1.857-.706-.436-1.458-1.145-1.975-.382.469 1.008 1.344 1.888 1.894 2.87-.053-1.594 1.165-2.1 1.717-2.748 1.021 1.217.66 2 2.469 1.953-.859.272-.508.75-.951 1.523a2.409 2.409 0 0 0 1.675-1.5c.8.577-.033 1.654 1.289 2.069.488-.444.8-1.993 1.41-1.669a8.916 8.916 0 0 1-1.981 2.583c1.073 1.219 1.717-.235 2.7.4-.3.345-.8.367-.115.771.772.61-.125-1.3.838-.748.962 1.407 1.812 3.664 3.8 2.774-.4.864-.048 1.493 1.025 1.9.257-1.082.551-1.229 1.486-1.194.538 1.84 6.367 5.205 7.788 5.245.712.271-1.015 1.294.225 1.408 1.7.2 4.58-.233 4.56 1.558-.63-.456-1.255-.859-1.709-.216.937.872 1.7.647 2.585 1.177.3-1.264 1.924-1.765 1.823-.561-.434-.234-.893-.615-1.177.115q-.192.3-.381.612c1.53 1.8 4.617 1.106 7.028 3.5.461-1.291-1.373-1.878-.523-3.289 3.864 3.285 6.511 4.585 11.4 5.366-1.727-1.1-2.686-2.054-2.886-3.059 1.855.992 2.387 2.39 4.14 3.408 1.101-.814-.778-.728-.217-1.392zm-40.5-22.543c-.281-.241.122-.692.308-1.08 1.011.268.52.994.947 1.434-.745 1.03-.835-1.278-1.258-.354zm4.091 7.619a1.841 1.841 0 0 1-1.139-1.127c.65-.088 1.591-.68 1.714.212q-.286.456-.578.915zm7.958-2.7c-.977.4-2.152-.47-3.308-1.2.01-.512 2.317.586 3.305 1.204zm-.926 6.2c.874-.519 1.717-1.251 2.817-.374-.913.308-1.787.853-2.82.379zm4.791 0c-.429-.446-1.092-.385-.721-.027-1.54-.629-1.278-1.605.687-1.69.294.135-.285 1.65.607.8.311.385-.35.334-.576.927zm2.055.845a1.17 1.17 0 0 1-1.788-.68c.467-.584 1.171.326 1.636-.259.263.085.176.275.076.47-.213.239-.079.363.073.479zm6.988 4.752c.266-.313.373 0 .266.166.536-.146 1.028-.572 1.71.211-.601.644-1.823.641-1.979-.367zm3.157.261c.81-1.145 3.054 1.074 3.381 1.669-.701.186-2.115-1.893-3.384-1.659zm13.071 6.83c.973.694 2.527 2.018 3.688.593-1.325-.787-2.724-2.047-3.688-.593z\",\n fill: \"none\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1012.233 901.74c-.332 1.429.4 1.8 1.217 1.593-.305-.559-.145-1.269-1.217-1.593zm62.967 124.085c-.257.386-.6.212-.837.749.253.839 2.055 1.761 2.776.871-1.148-.383-1.039-1.156-1.939-1.62zm3.876 3.244c-.851 1.025 1.211 2.568 1.936 1.625-.612-.878-1.286-.535-1.936-1.625zm-65.625-125.735v-.002l-.001.001zm50.437 20.224a1.6 1.6 0 0 0 1.254.353c2.949 2.199-.275-1.86-1.254-.353zm-13.105 82.913a1.166 1.166 0 0 0 1.784.684c-.037-.372-1.326-1.955-1.784-.684zm-45.283-106.36c.621-.188 1.839-1.816 1.069-2.3-.49.952-1.9 1.398-1.069 2.3zm1.68-1.501c.155.609-.4 1.436.3 1.877.567-.668-.074-.961.687-1.69-.339-.146-.722-.518-.987-.187zm-24.931 62.89c-.881.291-1.351-.63-1.864-1.156-1.364 1.764 2.298 1.907 1.864 1.156zm16.603 9.433a9.592 9.592 0 0 0-4.252-2.633 6.146 6.146 0 0 0 4.252 2.633zm15.194 11.101c.1.728 1.239 1.385 1.71.212-.585-.177-1.339-1.408-1.71-.212zm33.054 20.888c-.852.336-.173.72-1.028 1.054 1.465.67 3.13 2.584 4.37 1.861a8.43 8.43 0 0 1-3.342-2.915zm-12.959 11.878c-.118-.765-1.44-1.4-1.976-.377.721.537 1.396.756 1.976.377zm188.871-70.21c-.756-.2-1.691-1.577-2.321-1.008 1.033.775.909 2.202 2.321 1.008zm-23.712-32.883c-.092-.545-.722-.925-1.4-1.295l-.573.919c.708.43 1.457 1.139 1.973.376zm5.887 5.338c1.218-.072 1.474 1.581 2.7.4-.887-.045-1.987-1.424-2.7-.4zm-84.405 161.555c-.135-.865-1.392-1.083-2.052-.848.664.162 1.509 1.463 2.052.848zm74.249-180.124c-1.127-.645-1.613 1.1-1.6 1.976 1.036-.581 1.027-.691 1.6-1.976zm-1.9.095c.449.182.351-.479.115-.776a1.891 1.891 0 0 1-.842.75c.349.222-.089.686.153.939.287-.333.411 0 .529.335.455-.555.02-.83.045-1.248zm11.276 9.099c.108-.167 0-.479-.266-.165.282.244-.012.663-.306 1.082.432.194.914.719 1.255.354-.99-.33 1.11-2.098-.683-1.271zm-1.614 7.893c-2.287-.539-6.8-4.125-9.73-3.908 2.912 1.426 7.749 5.333 9.73 3.908z\",\n fill: \"none\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M908.929 913.563a1.445 1.445 0 0 0 1.71.211c-.662-.649.705-.22.837-.749a3.349 3.349 0 0 0-2.547.538zm1.617 8.625a1.879 1.879 0 0 1-.839.752c.8 1.221 2.526 2.66 4.105 1.693-2.076-1.021-2.545-.622-3.266-2.445zm7.817-9.556c1.731.834 2.4 1.725 3.576 1.364-1.215-.612-2.569-2.071-3.576-1.364zm-2.499 12.849c-.41 1.572-.916-1.8-1.9.093.956.279.454 1.012 1.407 1.289.211-.2.384-.6.646-.443 1.191 1.314 4.308 1.89.458-.142.309-.317-.113-1.527-.611-.797zm3.683 3.548c.809.568 1.6 1.007 2.243.546-.783-.416-1.657-1.395-2.243-.546zm2.204 1.786c.767.811 1.347.442 1.9-.089-.723-.532-1.426-.939-1.9.089zm2.243.545c1.436 1.3 1.28 1.563 2.62 2.89.733-.2 1-1.351.877-2-.912 2.85-2.583-2.379-3.497-.89zm13.57 5.44c.563.489 0 1.314.3 1.884.443-.725 1.021-.62 1.408-1.668-.628-.459-1.253-.861-1.708-.216zm9.593-2.953c-.745-.662-1.232.3-1.83.561.763.762 1.294.092 1.83-.561zm3.796 2.774c-.758-.257-1.6-1.007-2.169-.074.761.253 1.599 1.006 2.169.074zm7.747 9.445c-1.351-.414-1.515-2.472-2.737-2.111.557.659 1.503 2.476 2.737 2.111zm59.325-47.099c-.186.388-.589.839-.308 1.08.423-.924.513 1.384 1.255.354-.427-.44.064-1.166-.947-1.434zm2.644 7.572a1.841 1.841 0 0 0 1.139 1.127q.291-.459.575-.915c-.123-.892-1.064-.3-1.714-.212zm9.097-1.569c-.988-.618-3.3-1.716-3.308-1.2 1.156.73 2.331 1.599 3.308 1.2zm-39.7 66.45c-.615-.55-.235-1.407-1.023-1.9-.504.745.399 2.309 1.023 1.9zm38.774-60.249c1.033.474 1.907-.07 2.817-.374-1.1-.877-1.943-.145-2.817.374zm6.694-.089c-.465.585-1.169-.325-1.636.259a1.17 1.17 0 0 0 1.788.68c-.152-.116-.288-.24-.076-.469.1-.195.19-.385-.076-.47zm-35.589 65.185-.571.914c.841.774 1.507.443 2.243.542 3.835 1.737-1.241-.675-1.672-1.456zm-6.38 12.564c.752.207 1.692 1.577 2.319 1.01-.496-.731-1.447-1.641-2.319-1.01zm52.266-71.797c1.271-.235 2.683 1.845 3.381 1.669-.327-.595-2.571-2.814-3.381-1.669zm-44.286 76.736c.277-1.186-.9-.443-1.789-.682.087 1.205.807.994 1.789.682zm.448 2.82c.725-.88-.128-1.276-.3-1.882l-.573.917c.549.242.38.711.873.965zm96.128-143.722a1.481 1.481 0 0 0-2.169-.068c.74.129 1.553.715 2.169.068zm-82.675 133.418c.508-.647.651-1.185.23-1.547-.281.9-2.137-.615-1.563.725.787-.753.424.813 1.333.822zm-6.191 12.262.574-.918c-1.118.344-1.117-1.613-1.976-.377.947.281.447 1.01 1.402 1.295zm4.122-4.231c-.3 1.767-2.489-.724-2.1.4.932 1.163 3.023 1.011 2.1-.4zm-.058 7.166c-.425-.192-.909-.715-1.251-.353.146.092.145.436-.191.306-.25-.059-.532-.317-.724-.024.801.515 1.64 1.262 2.166.071zm7.239-2.718c-.707-.44-1.594-.823-1.675-1.456l-.761 1.218c.822.144 1.79 1.221 2.436.238zm.014 10.592c1.265.913 2.428 1.2 3.42.428a33.451 33.451 0 0 0-3.42-.428zm93.995-145.032c.327-1.466 1.218.6 1.639-.255-1.285-.576-2.408-3.04-3.459-2.142 1.038 1.12 1.833.872 1.82 2.397zm-67.211 161.198a2.894 2.894 0 0 0 2.509.707c-.884-.1-.109-1.893-1.138-1.13.146 1.494-1.211-.047-.608-.8-.252.406-.509.814-.763 1.223zm16.604 9.434c-.807-.571-1.6-1.007-2.242-.542.538.978 1.267.513 2.242.542zm98.4-157.977c.117.862.832.169 1.6.987 1.007-.825.739-2.5-.3-1.881a2.246 2.246 0 0 1 .416 1.107c-.496.426-1.251-.803-1.716-.213zm-91.46 153.375c.707.436 1.458 1.141 1.974.381-1.507-.035-.6-1.253-1.594-.99.273.264-.052.438-.38.609zm-1.307 3.852c.169.622 1.917 2.016 2.659 1.65-.17-.624-1.915-2.02-2.659-1.65zm6.47-1.495c-1.221-.763-1.92-1.639-2.925-1.813.164.2.151.443-.115.775.924-.202 2.141 1.404 3.04 1.038zm2.661 18.161c.876.515 1.486 2.881 2.586 1.174-1.277.309-1.427-1.625-2.586-1.174zm3.206-3.944c-.288 1.191-1.008-.3-1.3.889.932.364.638 1.392 1.523.518-.482-.344.447-1.122-.223-1.407zm-2.33 7.865c-.076-.635-1.141-.964-1.215-1.6-.793 1.284.168 2 1.215 1.6zm5.821-4.01c1.025.256-.266 1.228.492 1.573.256-1.924 3.384.556 1.789.682a1.7 1.7 0 0 0 1.9-.092c-.05-1.154-2.921-2.479-4.181-2.163zm11.296 3.179c-.194.3-.385.611-.576.917.051.273.813 1.5 1.328.824-1.049-.336.438-1.45-.752-1.741zm5.267 7.498c-1.363.2-1.718-2.056-2.966-.565.937-.157 2.159 1.504 2.966.565zm-6.366 6.645 1.6.986c1-1.049-1.263-1.089-1.022-1.9zm120.955-156.291c-1.341-.47-2.37-1.294-2.966-.565 1.4-.014 2.145 1.637 3.114 1.5-.302-.229-.569-.478-.148-.935z\",\n fill: \"#fcae1d\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M991.548 967.16c.093.089.189.176.276.266\",\n fill: \"none\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1001.522 894.683a12.072 12.072 0 0 0 1.821 2.395 3.908 3.908 0 0 0 .7.009c-1.396-.631-1.104-1.78-2.521-2.404zm109.55 187.648c.045.061.087.124.132.185l.335-.079a1.089 1.089 0 0 0-.467-.106zm-22.655-26.308c-.213 1.1 2.159 2.61 2.886 3.055.034.022.759-.9 1.1-.586.327.3.149 1.281.492 1.578 1.592 1.392 5.148 1.47 4.934 3.9a1.469 1.469 0 0 0-2.165-.075c4.872 2.076 7.04 4.676 12.232 7.573-.19.308-.442.235-.646.448 2.161.385 3.345 2.714 6.158 2.54-.338.4-.763.245-1.107.588a13.516 13.516 0 0 0 3.689.592c-1.02.385.255 1.56-.082 2.486q.552-1.038 1.372-.418c.313.8-.8.536-.308 1.081a18.437 18.437 0 0 0 4.551 1.239q2.051-.5 4.074-1c-.53-.105-1.286-.3-.9-1.389-.641.01-1.17.682-1.828.562-.848-3.218-5.037-5.473-6.911-7.238.171.6 1.027 1 .3 1.877-.267-.164-.473.052-.722-.023.036-1.873-2.7-1.453-1.973-3.337-1.385-.821-1.51-.5-1.936-1.622-.66.523-.753 1.514-2.091.4.465-.571 1.09-.151 1.559-.724-2.018-1.421-6.528-2.636-6.8-5.059-6.4 2.552-7.719-7.387-12.656-5.716.251-.407-.289-.57-.148-.94q.866.912 1.371-.422c-1.407-.741-1.282-.844-2.81-2.589-.658 1.928 1.55 2.975 1.475 4.723-.918.216-2.071-.997-3.11-1.504zm32.365 22.58c-.543.612-1.388-.689-2.052-.848.66-.235 1.917-.017 2.052.845zm-23.876-227.327c.135-.175.262-.4.393-.606l-.714.067c-.068.233-.018.43.321.539z\",\n fill: \"#fcae1d\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1232.661 968.028c-3.964-.6-6.305-4.285-11.09-6.972.289-.416.58-.834.3-1.077 3.69.489 7.645 4.055 10.527 6.07-.943-6.566-2.022-13.87-3.176-21.557a60.846 60.846 0 0 1-1.573-.835c.373-1.383-1.348-.841-1.1-2.375-.9-.172.381 1.185-.763 1.221-1.713-1.406-1.008-2.125-3.343-2.913-.586.839 1.972.706.758 1.737a4.167 4.167 0 0 0-3.381-1.67 2.649 2.649 0 0 1 1.219-1.361c-.642-.526-1.137-.119-1.561.726-1.555-.51-1.282-1.577-1.363-2.537 2.833-1.395 6.149 3.907 8.933 3.411a22.768 22.768 0 0 0 1.715 1.564c-.789-5.23-1.608-10.611-2.442-16.042a25.978 25.978 0 0 1-4.487-3.145c-.629-.522-1.613.309-1.9.1-.788-.582-.594-2.345-2.349-2.727.326.07-.357-.259-1.065-.66-.27-.153-3.456-1.239-3.342-2.915.366-.837 2.344.859 1.9-.093-1.023-.484-1.573-.326-2.128-1.318-.781 1.706-2.189.41-2.242-.542 1.131.069 2.357.75 3.349-.045-1.953-.534-5.872-1.118-3.95-3.713a.314.314 0 0 1-.532-.332c1.559-.087 1.539-1.013 2.933-1.148-5.076.5-5.154-5.524-10.644-3.624.3-.618.72-.487 1.029-1.057-.806-.544-1.36.49-2.244-.543.42-.54.122-.86.5-1.387a3.763 3.763 0 0 0-2.243-.542c1.262.6 1.366 1.55.907 2.68-1.484-1.559-3.219-.709-3.874-3.245.875.959 1.371-.418 2.245.542.193-.881 1.122-1.986.08-2.488-.328.424-.608 1.183-1.029 1.055 1.043-1.273-2.169-3.849-3.642-4.8-1 .967.117 1.28-.611 2.161-.1-.541-.723-.926-1.406-1.291 1.022-.4.785-.414 1.41-1.667-.684-.8-.992.779-1.636.256.759-1.138-1-1.5-.64-2.513-1.806.3-1.613-.753-.952-1.432-1.539.211-1.751-.328-3.081.208-.061-.881.269-.374.764-1.222-1.339-.389-1.135-.462-1.671-1.457-.624.089-1.2.473-1.826.564-.087-.914-.954-.874.306-1.082-2.543-2.425-5.7.439-6.656-1.157-1.582 2.144-2.249.5-2.773-.873-.8.472-.031 1.572-.766 1.223-.309-1.134-.984-1.42-2.2-1.787.383-1.115 1.011-.685 1.487-1.2-.907.137-1.4-.958-1.786-.683a1.709 1.709 0 0 1 .227 1.411c-.623-.4-1.113.039-1.788-.684l.573-.918c-3.3.279-5.482-3.195-7.338-2.423-1.021-.26-.056-1.135-.49-1.576a1.845 1.845 0 0 0-.308 1.08c-1.1.291-2.755-3.991-2.128-1.317-1.179-.9-.8-2.334-2.011-2.091.564.474.106 1.209-.571.916.659-.211.808-.841.038-1.246a2.9 2.9 0 0 1-1.9.091c1.235-.386-.879-1.31-1.407-1.291.167.193.519.332.341.634-.609-.2-2.443-.467-2.392-1.482.429-.323 1.053.588 1.445.05-.559-1.1-1.441-.324-2.51-.709.732-2.076-3.5-.275-2.351-2.725 1.4 2.492 5.229-.56 4.98 2.657 1.127-1.693 1.372-.1 2.891.1.3-1.151.881-.484 1.291-.89-1.074-1-.969-.131-1.443-.048-.046-.48-.921-.7-.225-1.41.342.147.723.518.991.186-1.251-.435-1.574-1.157-1.293-2.063-1.836-.158-2.272-1.624-5.511-2.989-.833.226-.226 1.168-1.292.888-2.586-3.535-7.435-2.808-9.69-5.15-1.124.587-.611 2.062-1.943 1.338-.39-.838.187-1.343.878-2-3.195-.306-3.614-3.124-6.457-4.422-2.723 1.911-4.8-2.872-7.72-1.816 1.5.336 3.1 1.306 3.076 2.75-1.694.492-5.029-1.1-3.343-2.915-2.137.185-1.916-2.928-3.573-1.366.912-2.118-2.156-3.915-4.287-4.348.273.056-.06-.424-.606-.8l-17.4 1.637a3.968 3.968 0 0 1 1.149 3.117 7.135 7.135 0 0 1 2.019-.865c-.416-.374-1.866.04-1.6-.986.588.182 1.026-.578 1.711.21-.131 2.621.056.968 1.364 2.542a.879.879 0 0 0-1.181.113c1.816-.207 2.645 2.606 4.446 2.33-1.073-1.357-1.7-1.318-2.349-2.727 1.515.645 1.708 1.047 3.306 1.2-.1.725-1.436.528-.766 1.223 2.058-.507 2.018 4.122 4.673 3.738-.7-.072-1.165-1.388-.416-1.1.69.362.523.988.949 1.431 2.327-1.456 3.073 1.65 5.016 1.417a2.224 2.224 0 0 1 .04 1.711c1.081-.739 3.737.477 4.218.92-.471 1.042-1.363-.526-1.9.1 2.8 1.449 4.348.954 5.933 1.13.668.287-.257 1.059.224 1.411.4-1.6 2.591-.64 4.07-.022-.763 1.019-1 1.565-1.412 1.666-.062-.528-1.152-.871-1.787-.682.387 1.071-1.478.614-1.942 1.338-.444-.512-.263-.826.307-1.081-2.411-.512-4.359-2.828-6.763-3.346.264-.334.906-.394.572-.91-.265 1.336-1.019-.374-1.372.419.386 1.074-1.429.92-2.018.871.573-.259.752-.569.305-1.08-1.778 1.5-1.87-1.446-3.233-.732-.335-.83 1.127-.647.043-1.248-.254.408-.507.815-.763 1.221-1.052-.444-3.9-2.048-4.71-2.492-.578-.565-.2 1.973-1.3.891 1.054-1.269-3.308-1.24-2.238-3.5-3.09-.531-3.186-2.6-6.156-2.541.213-.584-.926-1.983-1.673-1.454.573.041.777 1.318.149.935a22.5 22.5 0 0 0-5.167-4.383l-2.11.2a1.572 1.572 0 0 1 .058.985 1.808 1.808 0 0 0-.744-.921l-2.968.28c.005.015.019.035.022.049-.174.395-.446.177-.708.015l-.547.052a1.3 1.3 0 0 0-.115.356 2.3 2.3 0 0 0-.108-.335l-94 8.842c1.269.908 2.5 1.838 3.659 2.815 4.278 1.571 8.333 3.976 11.135 5.2 2.4-.419 6.023.818 6.88 2.571 1.191-.235 4.341 1.61 6.041 2.532a2.939 2.939 0 0 1 .646.339c-.176-.086-.4-.2-.646-.339-.472-.125.444.932.34 1.421-2.279-1.311-3.542-2.742-5.016-1.415a2.183 2.183 0 0 1-.416-1.107c.248.061.528.318.722.026-1.475-1.518-.868 2.213-2.4 1.481.818-1.741-2.046-.848-.449-2.825.932.363.637 1.395 1.518.521a23.339 23.339 0 0 0-6.23-3.014c.232 1.651 3 1.369 3.989 2.47.021.573-.443 1.288-.423 1.86.933 1.612 2.863 1.407 2.694 3.356-4.292-1.237-2.252-2.8-4.744-4.206.147.09.144.433-.191.305-1.858-.8-2.322-1.772-4.18-2.164-.323-.819-.922-3.89-2.394-1.483 1.205.377 2.547 1.076 2.086 2.563 1.921 2 4.715.445 5.433 2.518a3.089 3.089 0 0 0-3.348.045c1.024.907 1.644-.714 2.7.4-.334.4-.759.244-1.1.587 1.6.2 4.215 1.1 3.795 2.776-2.556-.829-4.631-1.915-6.615-2.4.291-.416.673-1.206.121-.776l-.383.609c1.553 2.8 4.2.915 4.478 4.046-1.073-.933-2.789-.577-3.191-1.975-1.5 1.375-4.3.041-5.473-1.275 2.3 4.458 7.484 2.553 10.983 4.261-.456 1.24-2.545-.071-2.134 1.644 4.767.493 7.973 6.377 11.393 8.326-3.841-.878-6.9-2.128-9.082-4.357-.772-.6.125 1.3-.838.754-1.452-2.443-6.446-4.147-10.219-5.481.377-.373.639-.319.572-.916-3.006 1.221-4.957-2.388-7.146-2.73.162.193.519.331.339.634-3.507-3.148-8.807-6.474-13.6-7.156.255-.407.508-.814.763-1.218-4.318-1.233-10.3-3.33-14.171-6.95l-7.062.664a.987.987 0 0 1-.02.746 2.192 2.192 0 0 0-1.306-.621l-1.79.169c1.557 1.085 4.741 1.8 4.342 3.767a84.133 84.133 0 0 1-6.082-3.6l-88.441 8.319c1.686 1.037 3.363 2.221 5.3 2.284-1.507.638.512.71.606.8.034.036-.416.569-.384.609 3.133 3.95 13.167 6.093 13.906 9.031-.006-.987 2.4-1.219 2.7.4-.328.951-.911.286-1.3.891 6.782 3.441 13.394 8.528 21.009 13.009-.161-.2-.519-.334-.34-.635 3.266 2.583 4.216 4.365 7.6 5.55 2.334 2.155 7.529 4.886 8.851 5.9-.124-.327-1.117-1.58-.224-1.409 1.607 3.743 4.1 5.218 8.161 7.593-.607 1.639 2.238 3.459 3.193 1.977a1.5 1.5 0 0 0-1.976-.377c-.069-.636-1.395-.887-.3-1.882 1.345.863 5.794 3.161 2.887 3.058 4.812 1.451 4.654 4.483 8.85 5.9-1.191 3.358 5.316 4.021 3.98 5.429a2.905 2.905 0 0 1 3.08 2.752c-2.792-.639-4.017-2.2-5.893-2.379.943.451 1.664.971 1.481 1.764a2.931 2.931 0 0 1 3.455 2.132c.807-1.384 1.19.485 1.326.823.949-.788-.713-.768.234-1.552a8.927 8.927 0 0 1 5.013 4.372 1.351 1.351 0 0 0-1.448-.045c1.766.469 2.409 3.142 3.841 1.529-.438-.522-1.983-.705-1.672-1.456a6.2 6.2 0 0 1 4.141 3.409c-.326-.255-1.9-1.239-1.256-.352 1.051 1.061 1.853.6 2.776.871 1.286 3.878 3.718 4.3 6.112 6.746 1.056-.878 2.462.416 3.763 1.059a1.853 1.853 0 0 0-.306 1.081c-.424.85-1.183-.4-1.564.727 1.028.753 3.754 1.749 4.483 4.043 1.061-.212 4.714 1.073 3.872 3.245-2.029-.878-3.878-1.542-4.521-2.8-.933.847-5.115-3.974-5.816-1.908.049-.589.207-1.214-.492-1.573a21.785 21.785 0 0 0-3 .676c1.5-2.1-2.236.039-1.289-2.066-.687-.8-1.046.449-1.639.255-.53-.738-.372-1.692-1.1-2.373-7.51-1.417-12.64-8.4-19.076-11.383 1.156 1.124 2.915 2.06 2.961 3.525-.518-.207-.787-1.683-1.593-.991.29.57 1.259.929 1.211 1.6-1.761-.37-1.7-2.583-2.542-2.42 1.434 1.1-.79 1.105-.765 1.22.195.84 1.522.515 1.557 2.231.42-.538.122-.855.5-1.385.488.427 0 1.15.491 1.579 5.651-.815 9.608 5.634 14.977 6.728-.756 1.712.7 1.47 1.064.657a4 4 0 0 1 .714 2.986c2.391-1.366 4.213 2.888 6.615 2.4.472 2.854 5.519 3.056 7.181 4.443-.166-.193-.15-.444.118-.776 1.023.453 1.806.468 1.934 1.624-1.093.357-.211-.759-1.139-1.127.546 3.358 4.667 3.556 6.949 6a6.134 6.134 0 0 1 2.168.068c-.042 1.163 1.613 1.808 2.811 2.59a1.626 1.626 0 0 1 2.626-.07c-.043-2.953-2.895-3.954-4.825-4.678 1.657-.583.318-1.71 1.868-1.807-.279 2 3.946 3.364 5.271 4.434-.365-.345-.682-.706-.217-1.3.809.483 2.792.587 2.925 1.809-1.2-1.043-1.71.437-1.861-1.153a5.012 5.012 0 0 0 .789 3.454c.789-.819-.681-.938.424-1.856.268.169.474-.052.725.024-.169 1.07 2.694 2.135 1.17 2.844 2.248.7 4.969 2.738 4.632 4.985 3.679 1.293 6.775 1.991 9.616 4.683-.24.485-.8 1.065-.5 1.385.633-.545 1.4-.188 2.091-.4-.586 1.113.737.418.418 1.106-.424-.156-.725.481-1.1.585a1.816 1.816 0 0 1 1.135 1.129c.791-.819-.68-.942.423-1.855.634.453 1.126.028 1.713.213.318 1.766 3.183.779 4.33 3.106-.343.358-.742.344-1.03 1.054 1.04.5 1.793-.781 2.819-.376-.34.4-.762.248-1.107.585 2.716-1.39 4.323 3.02 5.129 3.6-.244-.251-.325-.9.114-.774 3.927 3.248 8.025 4.869 11.971 7.41-.189.358-.685.235-.383.608 1.968.861 13.33 3.162 9.31 5.764.16.2.515.336.339.634-.343-.145-.722-.517-.987-.188.52.989 2.625 1.006 3.837 1.532a6.033 6.033 0 0 0 .035 1.713c3.314-.915 2.556 3.242 5.126 3.6-.421.851-1.18-.4-1.557.724 4.3-.8 7.555 4.192 11.931 5.7-.423.864-1.311-1.207-1.638.259 3.3.868 7.821 5.142 11.82 6.469-1.395.425.717 1.029.3 1.88-3.619.592-4.949-2.809-9.124-3.11-.132.533-1.3 1.387-.687 1.692 2.636-2.3 4.868 1.448 7.716 1.817-.185.55.674.778-.229 1.55 3.171-.482 6.977 2.484 9.5 5.456 1.626-.848 2.474 1.818 4.37 1.86-.862.1-1.522 1.49-2.477 1.011.192-.994 1.645-.81.5-1.387-1.753 2.025-4.255-1.622-5.473-1.276.635.5-.7.3-.765 1.22 1.668-.131 2.128 1.411 3.76 1.063.011 1.3 1.651 3.581 1.595.988-.2 2.334 2.818 2.248 2.849 4.3-2.742-2.038-4.674-1.3-6.88-2.571.59 1.835 1.67 1.695 2.809 2.588a1.893 1.893 0 0 1-.839.753c3.744 2.553 6.508 3.833 8.163 7.6.265-.335.494-.9.836-.749.916 2.315 4.429 3.747 6.271 4.724-.3-.238-.573-.483-.154-.937 1.175.7 2.73 1.294 2.087 2.56.685.267 1.09-1.18 1.828-.562.4 1.189 0 2.626.6 3.759-.09-1.709 4.738.422 2.2 1.787 1.534 1.229 3.007.884 3.152 3.22a6.166 6.166 0 0 1 2.548-.539c1.655-3.034 2.429-3.028 3.7-5.329-1.824-.227-3.09-.505-2.354-2.727-.8.632-2.912-.736-2.924-1.812-3.018.8-3.876-3.346-6.99-4.75 1.075-1.38-.662-.908-.376-2.35a26.02 26.02 0 0 0 3.041 1.037c-.974.709-.7 1.21-.612 2.159.932-.671 2.145.4 2.128 1.317 1.114-1.081-.781-1.236-.565-2.041a28.2 28.2 0 0 0 3.953.753c-.555 2.018 1.474 3.136 3.148 3.221.083 1.037.015 1.143-.952 1.525a8.377 8.377 0 0 1 6.989 4.751c2.1-1.789 2.409 2.465 3.723 2.306a1.709 1.709 0 0 1-.225-1.41c.678.725 1.109-.038 1.785.684-.805 1.152.3 1.716.645 2.512.607-.409-.16-1.511.76-1.221 2.036 1.725 2.732 2.5 4.98 2.66-.4 1.144-1.16 1.87.45 2.821a2.226 2.226 0 0 1 1.028-1.055.5.5 0 0 0-.083-.1c.746.769 1.193 1.776 2.65 1.317l.018-.043c.021.006.029.015.048.021a4.046 4.046 0 0 0 .41-.163c.221.5.878.878.035 1.713-.425-.431.478-1.271-.445-1.55-.022.007-.044.016-.066.022-.568 1.556-1.919.744-2.8.327 1.652 1.2.61 5.141 2.7 3.364a39.168 39.168 0 0 1 3.882 5.518c20.815-5.273 38.94-10.354 51.272-14.73 35.946-12.76 52.404-40.424 45.257-93.648zm-6.314-17.559c-.846.523-1.256-.029-1.789-.684.836-1.385.72.633 1.789.684zm-72.147-81.082c.084.631.968 1.017 1.674 1.458a.973.973 0 0 0-.044 1.242c-.455.646-1.078.245-1.71-.211.853-.338.176-.72 1.032-1.057-.424-.445-1.871-.578-.952-1.432zm-1.708-.215c-1.279.452-1.2-.376-1.863-1.151 1.271-.449 1.191.379 1.858 1.151zm-208.36 57.716c1.674-.765 2.213.675 4.027 1.226-1.151.313-3.381.17-4.032-1.226zm24.551 29.172c1.118-.483 1.868 1.22 2.662 1.648-.945.432-2.196-1.117-2.667-1.648zm83.936-44.566c-.476.524-1.233-.726-1.562.727-1.819-1.371-3.414-1.383-5.169-2.353 2.96.046 4.043.68 6.726 1.626zm-28.04-16.513c-.968 1.009-1.209-.44-2.053-.849.788-.956 1.574.327 2.048.849zm-16.808-3.211-.573.919c-.352-.218-.706-.441-1.062-.658.42-.857.989-.777 1.63-.261zm-46.7-23.835c3.226-1.182 5.511 3.026 8.553 4.024-2.899.808-6.395-2.823-8.561-4.024zm14.583 85.244c-.95-.283-.774-.911-1.4-1.295.63-.553 2.4.097 1.392 1.295zm6.557 12.526c-.771-.215-1.642-1.26-2.47-1.953.754-1.273 2.115 1.233 2.967.569.872.661-1.335 1.055-.508 1.384zm-1.818-5.36c.513.526.983 1.447 1.864 1.156.426.75-3.236.607-1.872-1.156zM994.6 968.3a9.592 9.592 0 0 1 4.252 2.636 6.146 6.146 0 0 1-4.252-2.636zm10.9-68.186c-.835-.9.575-1.348 1.069-2.3.774.486-.444 2.109-1.069 2.297zm1.98.376c-.706-.441-.149-1.268-.3-1.877.265-.331.648.041.991.187-.761.726-.12 1.019-.687 1.687zm6.562 81.547c.371-1.2 1.125.035 1.71.212-.467 1.17-1.61.513-1.706-.215zm32.024 21.942c.855-.334.176-.718 1.028-1.054a8.43 8.43 0 0 0 3.342 2.915c-1.236.72-2.901-1.194-4.366-1.864zm4.713 2.5c.458-1.275 1.747.312 1.784.684a1.166 1.166 0 0 1-1.78-.692zm7.664-82.477c-1.753-1.018-2.285-2.416-4.14-3.408.2 1 1.159 1.96 2.886 3.059-4.89-.781-7.537-2.081-11.4-5.366-.85 1.411.984 2 .523 3.289-2.411-2.4-5.5-1.709-7.028-3.5q.189-.307.381-.612c.284-.73.743-.349 1.177-.115.1-1.2-1.524-.7-1.823.561-.885-.53-1.648-.305-2.585-1.177.454-.643 1.079-.24 1.709.216.02-1.791-2.855-1.356-4.56-1.558-1.24-.114.487-1.137-.225-1.408-1.421-.04-7.25-3.4-7.788-5.245-.935-.035-1.229.112-1.486 1.194-1.073-.409-1.43-1.038-1.025-1.9-1.985.89-2.835-1.367-3.8-2.774-.963-.552-.066 1.358-.838.748-.688-.4-.183-.426.115-.771-.981-.64-1.625.814-2.7-.4a8.916 8.916 0 0 0 1.981-2.583c-.608-.324-.922 1.225-1.41 1.669-1.322-.415-.49-1.492-1.289-2.069a2.409 2.409 0 0 1-1.675 1.5c-.817.2-1.549-.164-1.217-1.593 1.072.324.912 1.034 1.217 1.593.443-.773.092-1.251.951-1.523-1.809.05-1.448-.736-2.469-1.953-.552.645-1.77 1.154-1.717 2.748-.55-.982-1.425-1.862-1.894-2.87.517-.763 1.269-.054 1.975.382.513.215.312-1.382.424-1.857-.705-.2.025.676-.841.752-.562-.483-.7-1.1-1.668-1.458-.065-.883.265-.375.763-1.223-2.247-.137-2.782 2.444-4.378 1.1a.872.872 0 0 0 .418 1.106c-4.556.745-6.566-5.563-10.151-5.009-.418-1.188.261-1.173-1.136-1.131.446-1.785 1.754-1.713 3.063-1.752a6.466 6.466 0 0 0-.814-.664c.895-.777.628-.733.688-1.688-1.1-.268-.388 2.2-1.6 1.968.139-1.1-2.586-.807-3.076-2.75-.44-.126-.357.521-.116.772-.916.5-.395-1.5-1.479-1.759a2.237 2.237 0 0 0 .414 1.1c-.744.8-.383-.644-1.065-.658-.174.3.182.437.342.635-.6.747-1.525-.566-2.165-.074-.033-.866-.423-2.361-1.671-1.462-2.614-3.535-6.377-5.994-9.952-8.274.19-.305.383-.609.573-.915-3.283-.437-5.182-2.568-7.828-4 3.312-1.1 5.469 2.6 8.552 4.024 1.7.782 3.755.357 5.093 1.885-.5 1.347-1.543-.646-2.167-.075-.074.523.8.292 1.137 1.127 4.664-1.43 8.4 3.876 12.465 6.027 3.33 1.765 6.931 2.081 9.007 3.883-.019.417.417.694-.038 1.246 1.442-.265 1.875 1.427 3.193 1.976-.262 1.22-.788.579.678 1.268-.862.276-.5.748-.951 1.525-.847-.233-.12-.947-.225-1.409a4.608 4.608 0 0 0-2.018.867c-.4-.533-.03-1.3-.3-1.88-.6-.242-1.039.506-1.636.261-.1 1.333 2.411 1.644 2.239 3.484 2.507-.179 4-2.66 6.47-1.483.308-.832-.582-1.3-1.025-1.9 2.912-.271 3.737 2.75 6.082 2.074.164.522.81.9.494 1.571.874.263 3.285.046 2.848 1.341.526.278.818-.894 1.373-.421.524 3.075 5.876 2.507 6.8 5.058 2.174-.558 5.164 1.7 5.966 2.847 2.874-1.449 7.179 2.548 8.245 5.1 2.132 1.137 2.417.216 4.3 1.39-.516-.438-.94-2.151-1.483-1.76.75-1.1 1.9-.141 3.764 1.057-.036-.028-.5.181-.723-.023 2.358 2.19 9.938 2.122 10.6 7.832a4.475 4.475 0 0 0-3.039-1.037c.928-.109 3.027 3.2 4.56 1.555.928.369.85 1.052.76 1.737-.538.655-1.066 1.326-1.83.565-.566.647 1.313.561.222 1.387zm.458-.14c.964-1.452 2.363-.194 3.688.593-1.157 1.417-2.711.093-3.684-.601zm6.237.057a1.6 1.6 0 0 1-1.254-.353c.983-1.515 4.207 2.544 1.258.345zm9.222 102.663c.234-.537.58-.363.837-.749.9.464.79 1.237 1.939 1.62-.717.882-2.519-.04-2.772-.879zm4.712 2.495c.65 1.09 1.32.747 1.936 1.625-.721.935-2.783-.608-1.932-1.633zm5.27-175.409c.587-.7 1.789-.839 1.9-.092-.571.378-1.151.747-1.896.084zm-.884 187.864a1.959 1.959 0 0 1 2.053.851c-1.006 1.017-.938-.53-2.049-.859zm2.012 2.094c.578-.381 1.253-.16 1.98.376-.595.626-1.817.624-1.976-.384zm3.661-4.087c.39-.562.84.86 1.136 1.131-1.051 1.03-1.167-.457-1.132-1.139zm-2.13-184.222c-.635-.216-.571-.645-.871-.967.624-.013 1.635-.548.306-1.082 1.22.087 2.692 1.465 4.179 2.169-1.515 1.223-2.465-1.975-3.61-.128zm14.242 195.535c.994-.263.088.955 1.593.989-.418.455-.151.7.151.939-1.007.43-.418-1.514-1.859-1.152.272-.337.285-.592.119-.784zm-7.875.2a1.056 1.056 0 0 1-1.329-.823c.569-1.047 2.326-.47 1.333.818zm-1.346-11.416c.517-.76 1.269-.053 1.978.375-.533 1.022-1.854.383-1.974-.38zm2.087 2.561c-.266-.246.044-.4.191-.306.581-.757-.88-.88-.035-1.713.561.519.927-.2 1.523.517a.989.989 0 0 0 .151.937c-.516.768-1.309-.21-1.826.56zm3.723 2.3a1.834 1.834 0 0 1-1.52-.517c.474-1.037 1.218-.366 1.752-1.036a1.666 1.666 0 0 1-.228 1.556zm3.191-180.933c-3.156-2.172-5.938-2.716-8.127-5.879 2.409.7 4.871 2.831 8.551 4.023.609-1.435-1.463-.517-1.483-1.76.728-.956 1.833.469 2.776.871-.161 1.44-1.323 1.269-1.713 2.744zm7.035.548c-.936.631-.917-.1-2.243-.542.518-1.297 1.505.387 2.247.541zm.377 2.348-1.065-.66c.6-.753 1.343-.6 2.093-.4a2.262 2.262 0 0 0-1.024 1.059zm8.824 1.23c-.953-.283-.454-1.012-1.407-1.294.248-.235 1.632-.413 1.256.352.264.151.44-.245.648-.445.612.742.017.641-.493 1.386zm1.061.658c.335-.17.664-.346.382-.61.373-.691 1.031.445 1.523.517-.575.381-1.157.753-1.901.092zm8.1 1.2c.894-.908 1.022.739 2.244.543-.505 1.294-1.493-.391-2.239-.54zm2.03 195.6a2.182 2.182 0 0 1 1.1.584c-.51-.309-1.384.303-1.095-.583zm.257-196.3c.69-.24 2.411.116 1.028-1.055 1.187-1.086 1.777.907 2.848 1.341-1.531.477-2 .095-3.871-.286zm2.009 2.094c.6-.918 2.188.359 2.321 1.009-1.012.149-1.005-.651-2.316-1.009zm3.324-7.679c.031-1.242-1-2.157-.334-3.6.825.984 1.629 1.972.339 3.6zm.726.025c.505-1.5 2.99.033 1.86 1.149-.79-.843-1.712-.103-1.855-1.149zm3.826 7.446a1.452 1.452 0 0 1-1.71-.211.9.9 0 0 1 1.718.211zm.532 202.715c-.324-1.346-1.039-1.617-1.823-2.4.845-.24 3.361 1.095 1.828 2.4zm3.194-200.409c1.944-1.327-1.291-.568-.379-2.349.926.926.887.615 2.128 1.316.133.793-.904 1.924-1.744 1.033zm4.9 2.192c-.057-.806-1.856-1.074-.828-2.214-1.066.861-1.765-1-2.66-1.647 1.652 1.3 3.889.9 4.9 2.191-.389 1.054-1.017.614-1.411 1.67zm18.736 10.749c1.291-.665 1.583 1.189 2.89.1 1.23 1.056 1.325 2.043 2.928 1.81q-.48.767-.955 1.53c-1.208-1.306-3.574-1.747-4.862-3.44zm3.444 8.059c.3-.418.586-.835.31-1.079.558-.885 1.953.207 2.051.85a1.731 1.731 0 0 1-2.359.229zm4.139 3.412a8.127 8.127 0 0 1-1.82-2.4c.877-1 1.021.721 2.32 1.016-.376.525-.078.843-.499 1.384zm4.65-3.895c.191-.306.381-.614.574-.918.442.276.887.548 1.328.822-.478.984-1.26.097-1.901.096zm-1.861-1.154c-1.911-1.866-4.014-2.487-4.669-3.741a2.962 2.962 0 0 1 4.178 2.167c1.915-.8 3.565-1.253 4.752 1.247-1.23.448-2.387-1.826-4.26.324zm3.393-4.251c.458-.652 1.212.572 1.79.685-.99.31-.343.7.415 1.1-1.09 1.034-1.519-1.186-2.204-1.785zm9.69 5.154c-.178.384.324.556.608.8-.1.726-1.435.529-.763 1.222-.559.313-.46-1.651-.377-2.35 1.009.481 1.179-.437 1.791.681-.343.365-.828-.159-1.258-.353zm10.921 17.345c.428.445 1.076.821.494 1.574l-1.065-.659zm-2.432-.239c.68.37 1.31.75 1.4 1.295-.517.763-1.266.054-1.975-.376zm-2.868-11.936c-.573 1.285-.564 1.395-1.6 1.976-.012-.877.47-2.621 1.601-1.976zm-2.474 1.008c-.242-.253.2-.717-.153-.939a1.891 1.891 0 0 0 .842-.75c.236.3.334.958-.115.776-.025.418.41.693-.045 1.248-.117-.338-.241-.668-.528-.335zm.506 12.171c2.931-.217 7.443 3.369 9.73 3.908-1.98 1.425-6.817-2.482-9.729-3.908zm12.027-2.714c-.341.365-.823-.16-1.255-.354.294-.419.588-.838.306-1.082.268-.314.374 0 .266.165 1.794-.827-.306.941.684 1.271zm.1 8.1c.714-1.024 1.815.353 2.7.4-1.228 1.185-1.484-.468-2.702-.396zm15.5 26.537c.63-.569 1.565.8 2.321 1.008-1.41 1.198-1.286-.229-2.319-1.004z\",\n fill: \"#fcae1d\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1004.067 897.1v-.015h-.025c.01.006.015.015.025.015zm-7.026-6.465c-.083 0-.166 0-.25.008.057.053.112.11.167.164a1.624 1.624 0 0 0 .083-.172zm-1.03 1.058c1.14 1.028 2.334 3.631 5.054 3.13-1.964-1.131-2.833-2.752-4.107-4.016-.278.531-.635.556-.947.886zm-3.169 80.598c-.537 1.1 1.535-.175.414 1.1 1.644.564 3.644.867 4.447 2.329.2-1.389.6-.914 1.635-.262.781-.937-1.41-3.167-1.555-2.227.365.3 1.051.5.874.965-1.925.944-4.473-2.696-5.815-1.905zM1124.3 848.758a3.448 3.448 0 0 1-1.089-.525l-1.845.173a12.671 12.671 0 0 0 2.934.352zm-208.531 68.617c1.172 2.448 3.263 1.337 5.391 3.764.624-1.013-.653-1.443-.374-2.35-3.332.994-5.869-3.355-8.931-3.414.929.625 2.406 2.606 3.914 2zm6.191 4.255c1.03.468 2.109 1.2 2.965.567-1.06-.247-1.873-2.649-1.935-1.621.81.997-.428.843-1.03 1.054zm5.879 8.302c-1.074 1.9 4.022 1.873 4.1 1.693-1.084.212-2.51-1.705-3.574-1.366.151.091.148.433-.192.308.096-.278.003-.496-.334-.635zm8.927 6.368c-1.746-1.223-5.729-3.863-8.286-3.857 1.174 1.079 1.416 1 2.737 2.117-.626 2.412 4.9 4.768 6.455 4.423-2.087-1.113-4.671-3.311-5.167-2.352-.323-.988-1.822-2.586-.982-3.153 1.426.681 4.2 3.491 5.243 2.822zm4.753 1.252c-.979-.624-1.671.554-2.551.538.766.4.621 1.034-.041 1.244.431.2.915.718 1.256.353a5.4 5.4 0 0 1-.492-1.574c.602-.22 1.409.853 1.828-.561zm2.89.095c.553.364 1.414 1.97 2.32 1.011-1.004.228-1.147-1.495-2.32-1.011zm53.929-67.377c-1.675-.412 1.777 1.539 2.243.541-.881-1.035-1.436.002-2.243-.541zm1.481 1.763c1.351.257 1.711 2.081 2.66 1.647-.792-.43-1.541-2.134-2.66-1.647zm-15.787 109.625c.791.75 2.091 2.63 3.265 2.447-1.023-.682-2.556-2.491-3.265-2.447zm50.168-71.398c-.892.849-.313-.666-.607-.8-1.965.085-2.227 1.061-.687 1.69-.371-.358.292-.419.721.027.23-.594.891-.543.573-.917zm8.74 6.679c.107-.171 0-.479-.266-.166.156 1.008 1.378 1.011 1.976.377-.682-.783-1.174-.357-1.71-.211zm-41.695 74.952c-.846-.868-1.29-2.18-2.661-1.647 1.24.294 1.992 1.994 2.661 1.647zm25.333 19.071c1.005-1.18 1.728.339 2.284-.7-1.022-.412-1.925-.046-2.892-.1.152.119.287.246.075.472l.533.328zm17.813 13.993c-.137-.7-.987-1.178-1.024-1.9.252.059.533.315.722.026-.16-.2-.516-.337-.34-.64.8.891 2.722 1.173 2.435.236-1.078.733-1.817-.709-2.395-1.48-1.029.16-.434 1.934-1.674 1.5-1.017-2.125-5.057-1.87-4.748-4.206 1.449-.213 3.159 3.393 5.285 1.578-1.506-.953-3.8-1.377-4.141-3.41-.454.15-.912.291-1.37.42-.643-1.139.572-.423.306-1.077-.984.471-2.178-2.253-1.71-.216a9.486 9.486 0 0 0-6-4.559c1.762 1.149 1.43 1.977 2.163 3.029-2.354-.254-1.99-3.083-3.993-2.469.368.337-.232.783-.572.916.7.443 1.675.8 1.218 1.6-.654.384-1.746-2.09-2.777-.872 6.951 3.736 12.034 7.32 18.615 11.524zm-10.25-10.158c-.58.382-1.255.163-1.976-.377.535-1.02 1.858-.388 1.976.38zm3.835-14.983c-.576-.116-1.332-1.336-1.788-.684.677.232.856 1.835 1.408 1.293-.282-.263.047-.44.38-.609zm11.875 15.818c1.247.321 2.643 1.547 3.836 1.532-.613-1.564-2.705-1.502-3.836-1.532zm.716 2.988c1.132-1.82 1.529-.208 2.242.542 1.338-1.642-1.11-1.383-1.745-1.93-.24.485-.798 1.068-.497 1.388zm8.567 14.615c-.519-1.162-1.232-2.449-2.736-2.116.165.2.152.447-.115.775 1.354.098 1.817 1.587 2.851 1.341zm99.733-160.111c-.99.007-.935 1.748-.155 2.022-.179-.86.453-2.495.155-2.022zm-93.176 153.162c.306-1.233 2.244.248 1.829-.56-1.3-.418-1.4-1.128-2.7-.4.544.24.373.704.871.96zm6.225 5.974c1.675.69 3.428 2.8 5.288 1.577-2.057.463-3.604-1.881-5.288-1.577zm2.313 3.973c.869-1.227-1.3-.443-1.634.256.1.616.736 1.015 1.25.353-.3-.236-.57-.482-.145-.942.177.113.354.223.529.333zm99.642-151.703c1.108.574 1.391 1.929 2.585 1.177-.3-.675-1.362-1.768-.109-2.186-1.109.4-2.317-2.457-2.395-1.481.366.809 1.607 2.502-.081 2.49zm20.529-30.477c.492.074 1.153 1.208 1.52.519.488-.276.459-.232 2.207-1.172-1.346-.438-2.678-.776-3.727.653zm-110.042 196.069c-.83-.465-1.022-2.39-2.128-1.319 1.155.164 1.429 1.834 2.128 1.319zM1212.18 902.32c-.375-.731-2.2-1.653-2.319-1.012 1.144.646.541.557-.114.775.532.165.4.878.795.5-.542-1.163 1.283.199 1.638-.263zm.657-62.518 137.847 215.915 191.24-137.263-200.739-125.609z\",\n fill: \"#fcae1d\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1306.602 856.245 264.705-43.555 24.428 148.46a134.132 134.132 0 0 1-110.574 154.13 134.132 134.132 0 0 1-154.13-110.574l-24.429-148.46z\",\n fill: \"#fdc93a\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m679.359 1116.845 508.044-55.174v1198.566l-307.566 49.304 71.609-544.696-3.522-507.13-28.174 5.87-322.826 1080-244.174-82.174 326.609-1084.566z\",\n fill: \"#91a0e2\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M619.748 728.5a5 5 0 0 1-4.938-5.818L638.427 580.2a5 5 0 0 1 9.865 1.635l-23.617 142.479a5 5 0 0 1-4.927 4.186z\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M594.843 960.141c.323.189-.575 1.885.583 1-.6-.938 1.024-.936 1.327-1.66l-1.129-.9c-2.528.832-2.373 3.364-2.327 5.208 1.818-1.297.189-3.362 1.546-3.648zm67.179 53.759c-.73.6-2.4 1.608-1.579 2.547.716-1.047 2.409-1.392 1.579-2.547zm3.753 14.906a1.557 1.557 0 0 0 2.153-1.548c-.719.394-1.462.223-2.153 1.548zM590.826 964c-.537.427-1.115-.42-1.628.883l.846.669c.348-.529 1.081-1.139.782-1.552zm77.103 63.258-.001-.001v.001z\",\n fill: \"none\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M671.6 1020.949c.293.353.163.972.825.115.92-.969-1.489.2-.576-1 1.867-1.228 4.649-2.349 4.265-4.752.84.467 1.653.007 2.439-1.323-1.128-.278-1.2-.634-.876-1.782 2.221-.722 7.772-7.987 8.254-9.731.522-.884 1.133 1.2 1.642-.325.749-2.1 1.148-5.609 3.141-5.645-.7.788-1.344 1.568-.765 2.1 1.262-1.179 1.245-2.106 2.109-3.21-1.32-.324-1.379-2.3-.065-2.218-.4.542-.962 1.117-.235 1.441.188.15.377.3.567.446 2.475-1.938 2.655-5.7 6.075-8.74-1.3-.521-2.52 1.748-3.834.755 4.857-4.852 7.123-8.144 9.5-14.168-1.758 2.156-3.12 3.364-4.3 3.645 1.68-2.31 3.4-3.011 5.081-5.2-.588-1.31-1.069.991-1.638.326 1.084-.963.5-1.588-.069-2.225a1.851 1.851 0 0 0-2.173.992c1.364 1.823-2.976 4.512-3.14 5.647a7.8 7.8 0 0 1 2.093-3.764c-6.579 1-8.835 10.3-12.007 13.266.3-.276.206-.843.249-.888-1.91 2.322-3.339 3.771-2.338 4.653-.27-.653 1.773-1.232 2.422-1.879-1.891 2.347-.949 2.664-2.874 5.318-3.183 1.4-8.972 6.813-8.238 10.288-1.532 1.024-4.969 4.768-5.014 7.415-3.133 1.217-4.145 7.763-7.74 8.511-.7.7.521 1.014.048 1.67-1.312-.492-1.811 2.457-2.374 3.539-.65-.365-1.273.44-1.906.659.033 2.853-3.594 3.969-4.187 7.531.812-.564 1.606-1.672 2.44-1.322-2.076 3.075.237 4.815-.334 7.883h.017c-.007.012-.015.019-.023.031a5.816 5.816 0 0 1-.226.858 20.471 20.471 0 0 1-3.234 2.316c1.133-1.76 2.326-1.441 3.46-3.174l.006-.031c-2-.147-3.121 2.941-4.58 2.866.458-.74-.242-1.255.213-2 .728-.355 1.474.07 2.193-.436a4.83 4.83 0 0 1-.349-2.446c.549-.145 1.123.723 1.644-.323-.731-.52-1.368-.067-1.41-1.115-1.222 1.822-.344 1.155-1.626.876-1.018 1.635-3.041 2.224-3.189 3.984-.477-.54-.92 0-1.38 0-2.651 2.608-4.112 7.035-7.106 11.18-3.652 5.055-10.729 9.824-10.566 15.495-1.035.438-1.047 1.506-1.609 1.433-.446-.745 2.1-2.087.75-2.66-2.118 1.694-2.276 4.2-3.671 6.312-2.538 3.83-7.33 6.6-7.125 10.627 2.413-3.295 5.377-5.7 6.876-9.739.282.223.563.449.844.672 3.647-4.464 7.551-9.164 12.3-12.491-.621-1.5 1.169-2.029 2.146-2.1-.352-.769 1.4-1.95.749-2.659-.27.2-.534.645-.814.442.225-.836 1.732-.444 1.062-1.329a3.138 3.138 0 0 1-1.36.546c.619-1.338 2.7-.769 2.421-1.875-.355.3-1.1.428-.827-.115 2.32-.667 2.827-4 4.017-3.868.628-1.5-2.342-.542-1.705-1.895 1.048.04 1.081-.285 1.674.785a11.9 11.9 0 0 1 .993-1.023c.023-.1.045-.2.066-.305a1.419 1.419 0 0 1 .167.1c1.8-1.605 3.881-2.727 5.749-5.175-.278 3.32-3.552 4.873-5.05 6.306-.274-.371-.191-.808-.7-1.131-.078.069-.156.138-.233.209-.359 1.605-.844 3.212 1.013 3.7.382-1.713.157-.879 1.613-1.433.483-4.377 8.147-7.06 8.716-12.622a1.182 1.182 0 0 1-1.363.55c1.992-2-.726-2.57.119-5.331.794.582.125 1 1.131.894.7-1.2 1.43-1.39 2.141-2.1.181-1.06-1.024-.134-.58-1.005.5.121 2.34-.18 1.942.455-.7.882-1.726 1.828-1.033 2.436 1.27-.61 2.522-1.713 3.787-2.421-1.8.119-1.99-1.358-2.541-2.012 1.673-1.294 2.441-.878 2.941-3.1.04 1.045.681.6 1.409 1.114a2 2 0 0 0-1.16-2c.891-1 1.838-.016 2.707-1.652-.346-.583-1.978-.915-1.43-1.672a6.645 6.645 0 0 1 2.276 2.341c1.693-1.353.267-2.094 1.281-3.318zm24.492-38.08c-.018.849-2.776 2.653-2.9 4.2-1.032-.95 2.136-3.778 2.908-4.2zm-3.9 7.754c0-.653-.322-1.242.761-2.105a1.654 1.654 0 0 1-1.028 2.436c-.266-.315.112-.454.275-.331zm-10.779 17.491c-.31-1.055-.87-2.063.449-3.443.062 1.106.401 2.16-.446 3.443zm1.959-8.207c.176-.326.362-.225.549-.109.191.251.371.081.547-.11a1.9 1.9 0 0 1-1.309 2.216c-.506-.552.727-1.447.216-1.997zm-2.408 2.431c.242-.365 1.755.293 1.082-.772.514-.4.254.415.846.672-.63.541-.766 1.351-.251.884-1.175 1.912-2.184 1.624-1.674-.784zm-7.238 15.957c.1-.795-.269-1.929.764-2.109.281.222.564.446.846.673a3.207 3.207 0 0 1-1.607 1.441zm1.047-11.1c.145 1.185-1.187 2.656-2.358 4.1-.569-.003 1.366-2.871 2.361-4.104zm-9.2 14.948c-.356.352-.736-.126-1.111-.341.61-1.25 1.269-.671 1.893-1.211.919.87-1.686 1.061-.784 1.548z\",\n fill: \"none\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M661.238 1033.89c-.268.425-.8.907-.514 1.221.729-.212 1.481.444 2.191-.438-.572-.673-1.096.127-1.677-.783zm-8.184 2.734c.353-.444.71-.885 1.063-1.326l-.851-.67c-.773.804-1.038 1.504-.212 1.996zm6.593-.742c.91.575.974 2.289 2.239 1.233-.019-.755-1.463-2.193-2.239-1.233zM794.6 977.924a1.9 1.9 0 0 0 1.313-2.212c-.429.058-2.598 1.694-1.313 2.212zm-4.238 5.866c1.2-1.82 3.848-3.928 3.423-5.424a15.235 15.235 0 0 1-4.284 4.2c.113 1.034.751.186.861 1.224zm-34.357 40.03c.844-.141 1.929-1.567.764-2.1-.378.72-1.985 1.687-.764 2.1zm-17.071 19.018a17.589 17.589 0 0 0-4.252 5.306 11.126 11.126 0 0 0 4.252-5.306zm-102.825-18.373c.228-.312.426-.585.577-.8a5.271 5.271 0 0 0-.577.8zm76.933 55.892c.738-.6 2.853-2.185 2.659-3.321-.722.988-2.854 1.964-2.659 3.321zM689.09 978.944c-1.882 3.324-2.923 4.673-3.886 8.311 1.623-2.185 2.126-4.141 4.217-6.419-1.521-.354.108-1.325-.331-1.892zm38.884 84.494c-.623 1.029-.385-1.664-1.393-.563.48 1.022-2.738 2.778-1.548 3.658 1.029-1.039 2.467-2.143 2.941-3.095zM611.812 956.229c-.892.01-.855 1.729-2.141 2.1.61 1.349 3.338-1.483 2.141-2.1zm9.381.378c.233-.6 1.7-1.453 1.046-1.881a3.1 3.1 0 0 0-1.562 3.1c1.132-.987 2.262-1.076 2.125-2.656-.536.362-1.042 1.979-1.609 1.437zm51.718 154.864c1.758-.847 2.605-3.587 2.608-4.981-1.174 2.243-2.948 2.954-2.608 4.981zm33.9-148.319c3.363-3.692-2.162.4-.78 1.55a2.716 2.716 0 0 0 .78-1.55zm-.186 3.109c-1.286 1.652-3.121 3.41-1.8 4.543 1.075-1.217 3.035-3.169 1.8-4.543zm5.343 105.648c-1.028-1.194-2.3 1-1.878 1.766.622-.785 1.27-.59 1.878-1.766zm11.325-8.384c.054 1.071-1.119 1.678-1.864 2.326 1.549 1.613 2.835-2.884 1.864-2.326zm-110.919-97.633c.5.553-.165 1.338.334 1.892.7-.978 2.064-2.086 1.294-2.771-.513 1.299-1.09.457-1.628.879zm3.556-.982c.984-1.062 3.906-3.107 3.169-4.538-1.682 1.336-2.114 3.009-3.169 4.538zm1.241-4.435a1.658 1.658 0 0 0-1.027 2.439c.925-.18 1.03-1.621 1.027-2.439zm181.607 37.572c-.891.172-2.009 1.815-1.03 2.437.825-.903 1.278-1.737 1.03-2.437z\",\n fill: \"none\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M681.614 1107.516c-.969.936-.044 1.5.064 2.225 1.085-.962.496-1.59-.064-2.225zm3.517-2.089c.521-.942 1.615-1.995.749-2.663-.52.936-1.616 1.995-.749 2.663zm-99.048-96.91c-.924.84-.029-.857-.579-1-.691 1.259-1.011.073-1.114-.338-.186 1.061-.816 2.209-.178 3.11.026-2.045 2.072.231 1.871-1.772zm-2.93-4.417q.033.446.07.89a3.454 3.454 0 0 0 1.319-2.032 11.01 11.01 0 0 1-1.389 1.142zm112.457 92.271c.909-.709 3.229-1.932 3.2-3.43-.877 1.671-3.226 1.942-3.2 3.43zM595.531 992.684c-.412-2.3-2.343.606-2.42 1.878 1.389-.269 1.017-2.295 2.42-1.878zm2.032-5.984c-.216.987-2.987 3.923-2.092 3.766 1.187-1.396 3.051-2.322 2.092-3.766zm5.492-.53c-2.007.558-5.436 2.309-6.474 4.629 2.17-2.064 5.96-2.632 6.474-4.629zm-18.726-8.87c.879.765-.07.937-.756 1.25-.037.351-.07.7-.1 1.05.707-.593 1.044-.86 2.257-1.738-.472-.278-.951-.944-1.401-.562zm12.647 8.4c-1.05-.457-.726-.2-1.407-1.117-.232.6-1.7 1.453-1.043 1.883.804-.625 1.645-.152 2.45-.766zm-2.835-2.794a2.265 2.265 0 0 0 .767-2.111c-1.095-.326-1.2 1.211-.767 2.111zm7.259-6.187c-1.524.073-2.515 3-2.625 4.43 1.058-1.418 2.119-2.848 3.22-2.87-1.495-.269-.495-.508-.595-1.56zm63.06 45.081c.375.215.755.693 1.111.341-.9-.487 1.7-.678.782-1.552-.624.538-1.283-.041-1.893 1.211zm-57.683-49.494c.276-2.052 2.961-3.1 3.44-4.868.371.211.752.689 1.111.335-.967-2.587-6.503 3.901-4.551 4.533zm66.952 45.994a3.207 3.207 0 0 0 1.61-1.436 118.39 118.39 0 0 0-.846-.673c-1.033.175-.662 1.309-.764 2.109zm-1.311-7.01c1.171-1.443 2.5-2.914 2.358-4.1-.995 1.234-2.93 4.102-2.358 4.1zm61.916 43.628c.682.591 2.707-.57 2.441-1.322-.803.773-1.643.338-2.441 1.322zm-52.918-46.804c.847-1.283.508-2.337.449-3.443-1.319 1.38-.759 2.388-.449 3.443zM618.87 952.6c1.1-.715 2-1.626 1.578-2.545-.384.817-2.096 1.9-1.578 2.545zm64.292 49.3a1.9 1.9 0 0 0 1.309-2.216c-.176.191-.356.361-.547.11-.187-.116-.373-.217-.549.109.511.554-.722 1.449-.213 1.997zm62.065 39.413.846.669c1.122-1.057.958-1.864 1.3-2.77 3.114-4.762-1.141 1.546-2.146 2.101zm12.073 7.393c.463-.929 2.282-2.129 1.842-2.879-.973.635-2.278 1.832-1.842 2.879zm-61.2-65.837c-.767.422-3.935 3.25-2.9 4.2.119-1.547 2.877-3.351 2.9-4.2zm67.856 58.098c1.371-.149 1.358-1.024 1.311-2.218-1.239-.298-.773 1.125-1.311 2.218zm3.253-1.767c.439-.679.908-.481 1.346-1.1-.76-.858-1.465.2-2.194.431zm-6.024-17.242c-.566-.6-1.123-.759-1.657-.23.916.314-1.345 2.643.329 1.892-.599-.941 1.043-.548 1.328-1.662zm9.915 8.936c.607-1.177 1.267-.589 1.879-1.766l-.85-.671c.038 1.359-2.148 1.425-1.029 2.437zm-1.781-4.119c1.585-1.178 2.059-3.736.2-2.556 1.881.303-1.575 3.081-.2 2.556zm7.438-.075c.822-1 1.914-2.054.746-2.659-.346.529-1.078 1.14-.779 1.547.148-.183.532-.193.282.224-.142.311-.517.665-.249.888zm-2.204-9.337c.375.3.749.594 1.126.891.414-1.013 1.915-2.237 1.015-3-.708.887-1.409 1.988-2.141 2.109zm13.975-2.486c1.408-1.583 2.085-3.019 1.529-4.209-.64 1.432-1.031 2.81-1.529 4.209zm25.162-34.299c.376.3.752.6 1.131.894.973-1.126 1.626-2.184 1.561-3.1-.378 1.087-2.147.2-1.611 1.434 1.713-.232-.425 1.486-1.081.772zm15.479-17.027c1.258-.694.964-1.572 1.3-2.769-.89 1.01-1.62 1.995-1.3 2.769zm-1.71-11.118a7.26 7.26 0 0 0 1.2-1.67l-.436-.11c-.543.918-1.321.31-1.331 1.335.384-.348.478.045.567.445zm5.108-.687c-.692.743-1.311 1.648-1.207 2.153a6.215 6.215 0 0 0 2.092-1.93z\",\n fill: \"#fcae1d\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M611.845 948.369a100.06 100.06 0 0 0-2.638 3.625c-1.014-.211 1.192-2.414-.05-1.667-1.811 3.8-1.5 5.2-4.767 6.525-.976 1.22-.028 2.061-.183 3.116-1.648.611-2.449 5.623-5.345 5.521.884 1.014-1.413 1.548-1.015 3-1.069-.789-1.3-.038-1.076.772-1.745-1.139-1.851 1.518-3.273 1.206.522 1.292-.439 2.071-1.844 2.877-.181 1.056 1.022.128.582 1-1.968 1.1-2.448 4.687-5.115 4.079.464 1.581-2.027 4.543-4.023 5.651-.017.243-.029.484-.045.727l.117-.288a1.524 1.524 0 0 0 .58 1.007 5.773 5.773 0 0 0-.808 1.087c-.12 2.362-.174 4.69-.177 6.993 1.176-1.287 2.406-2.475 3.057-3.183a.553.553 0 0 1-.829-.118c1.026-.186 1.22-3.646 3.187-3.981-.682.693-.929 1.3-.5 1.772 2.111-.553-.213-2.025 1.28-3.324.733.415-.452 1.206.049 1.667 1.867-3.1 6.511-7.6 7.955-10.511-.583-1.133-1.077.9-1.66-.232.539-.358 1.042-1.978 1.611-1.434.341.4.037.922.312 1.332 4.24-4.978 7.664-10.376 13.022-16.257 1.974.208 3.608-5.055 5.315-6.639 1.649-1.529 3.41-4.322 5.191-7.1-3.12.84-6.1 1.763-8.91 2.777zm-2.174 9.96c1.286-.371 1.249-2.09 2.141-2.1 1.197.617-1.531 3.449-2.141 2.1zm122.803 93.596c.127-.117.254-.237.381-.347a3.082 3.082 0 0 0-.381.347zm-77.874-9.739a20.471 20.471 0 0 0 3.234-2.316 5.816 5.816 0 0 0 .226-.858c-1.135 1.733-2.328 1.414-3.46 3.174zm-5.9 5.634-.066.305c.077-.071.155-.14.233-.209a1.419 1.419 0 0 0-.167-.096zm9.382-8.839h-.017l-.006.031c.008-.012.016-.019.023-.031zm164.203-89.819-.707-.178c.054.624.337.486.707.178zm2.935 2.038a6.987 6.987 0 0 1 .272-1.235l-1.934-.485c-.954 3.669-4.6 5.538-6.08 10.233.556.144 1.152 1.543 1.679.785-1.759-3.154 3.115-6.02 4.4-9.526.561.209 1.079-.852 1.663.228z\",\n fill: \"#fcae1d\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M678.04 1107.947a4.937 4.937 0 0 1 4.02-3.872c-1.572 3.446-3.694 5-4.469 7.309.793-1.172 1.6-2.074 2.425-1.876a5.07 5.07 0 0 1 3.457-4.316c-1.3-.942.906-1.476 1.327-1.654-.588-1.138-1.078.9-1.662-.234a16 16 0 0 1 6.425-6.3 1.991 1.991 0 0 0-.5 1.778c1.067-2.182 4.25-3.062 2.89-4.764-.719.556-1.4 2.457-2.141 2.1a11.075 11.075 0 0 1 5.081-5.2c-.385.409-1.967 2.369-.78 1.554 1.509-1.326 1.237-2.293 1.827-3.434 4.727-1.712 5.946-4.709 9.414-7.729-.656-1.265 1.222-3.034 2.34-4.651a1.553 1.553 0 0 0 1.114.338c.819.49-.812 1.464.33 1.893 1.158-1.288 3.109-4.664 5.895-5.639.089-1.293 2.648-5.817 4.815-4.859-1.605 2.519-2.915 4.81-4.514 5.64.659 1.115-6.012 6.411-3.921 7.2-.642-.04-1.292-.211-1.907.658a27.046 27.046 0 0 0-.17 3.663c-1.884-1.764-.644 2.74-2.7 1.651-1.1.87.179 1.268-.22 2-.987.674-2 .514-2.988 1.425-3.893 9.261-13.266 15.791-18.581 23.788 1.612-1.456 3.2-3.645 4.848-3.753-.39.643-2.121 1.024-1.6 1.989.726-.376 1.424-1.577 2.159-1.542-.955 2.174-3.408 2.177-3.485 3.2 1.672-1.8.991.931 1.128.9 1-.268 1.043-1.884 2.971-1.987-.472-.5-.918-.119-1.394-.559.626-.615 1.284-.046 1.913-.658.829-6.9 9.248-11.978 12.121-18.6 1.679.869 1.856-.9 1.062-1.327a5 5 0 0 1 3.554-.978c-.79-2.886 4.522-5.267 4.718-8.2 3.333-.676 5.111-6.874 7.172-8.96a.547.547 0 0 1-.831-.118c.821-1.269 1.079-2.231 2.409-2.427.062 1.328-.913.284-1.61 1.436 3.92-.786 5.408-5.847 8.836-8.73a9.232 9.232 0 0 1 .743-2.661c1.286.012 2.515-2.041 3.757-3.537-.614-.9-.718-1.9.729-3.217-3.311.153-5.306 3.685-6.708 6.078-.141-2.013-1.812-.332-1.444-2.229 2.146.274 4.971-4.956 6.574-6.618-.5.46-1 .862-1.524.311.788-1.008 1.514-3.443 2.92-3.649-1.533 1.5-.038 2.083-1.861 2.322a6.3 6.3 0 0 0 4.1-1.087c-.673-.939-1.257.868-1.943-.455.272-.335.088-.58.251-.89 1.142.17 3.212-3.378 3.535-1.534 1.474-2.781 4.586-6.188 6.993-5.852 2.575-4.557 4.307-8.378 8.187-11.955.468.278.944.942 1.395.56-.415-.757.222-1.716.2-2.55 1.062.681.692-.918 1.363-.55-.3.524.314.872.314 1.333a3.161 3.161 0 0 1 1.61-1.431c-.671-.941-1.261.867-1.942-.454.7-.794.378-1.383.765-2.109 2.07-.451 1.849-3.93 4.8-5.417.294.407.156.9.86 1.227.884-1.293-.32-2.172.447-3.445.343.4.043.927.313 1.338-.717-3.283 4.7-5.406 5.6-6.414-.355.307-1.1.429-.83-.114 4.836-4.928 7.906-10.009 11.958-14.936.342.218.053.831.561.448 1.567-2.443 7.632-16.457 9.3-11.616.27-.2.533-.644.812-.439-.267.426-.8.9-.514 1.217 1.264-.672 1.932-3.254 2.892-4.758a6.312 6.312 0 0 0 1.923-.1c0-4.033 4.408-3.246 5.6-6.41.821.487-.811 1.461.33 1.884.423-5.242 7-9.41 10.03-14.829.834.489-1.752 1.65-.215 2 1.969-4.044 8.05-9.68 10.793-14.6-5.028-1.259-7.792-1.945-7.792-1.945S699.557 930.127 632.116 943c-.259.329-.434.64.269.777a9.5 9.5 0 0 0-2.438 1.32c-.146-.438.357-1.207.957-1.858-.546.108-1.091.217-1.631.329a6.085 6.085 0 0 0-1.52 1.964c-.489-.609-.147-1.18.391-1.724q-.807.173-1.6.353l-1 1.247a1.419 1.419 0 0 1-.55-.89l-.059.014c-.356 1.6-3.325 1.932-3.459 3.075 1.087-.687-.1.8-.529.667.6.841.594.569.331 1.889.445-.458.879-1.306 1.346-1.106-1.114 3.76-5.717 6.864-8.258 9.734-.313 1.453 1.854-.361 1.416 1.12-1.857.21-.7 3.641-2.391 2.983-.492-.846 2.27-3.782-.1-3.33-.534 2.164.4 4.7-2.313 5.762 3.009 1.92-1.847 5.4-1.691 7.878-1.193.349-3.79 1.881-4.018 3.867 2.231-2.143 4.484-3.676 6.789-3.3-.268.426-.8.907-.511 1.22 1.957-1.5-.3-2.175 1.54-3.656-1.035-.888-1.971 1.608-3.006.874 1.979-2.772 3.757-5.3 5.866-6.747-1.1.87.565 1.195-.218 2-.49.1-2.311 1.23-1.877 1.766 1.108 1.641-.861 6.208-3.918 7.2.812 2.262-2.36 2.906-2.659 3.319.975-.7.816 1.1.6 1.554-1.273-1.056-3.646 2.641-1.047 1.885-1.079 1.383-2.013 1.083-2.457.765a17.19 17.19 0 0 0-.416 4.549c-.673-.6-.376-1.33-1.4-.561-.259 1.107.4.655.319 1.336a.548.548 0 0 1-.831-.115c1.06 2.807-4.164 3.245-3.723 4.643.356-.379.717-.717 1.1-.215-1.336 1.408-2.662 3.017-4.05 2.759.862 1.5-1.375.768-2.141 2.1 1.5 1.954-2.813 7.729-3.953 6.089-.2 1.683.128 3.071-2.093 3.765 1.149 1.6 2.145-1.962 3.255-1.757-.063 1.5-2.98 3.565-3.156 5.091-1.446.2-2.473.376-3.323-.462-.026.053-.036.1-.056.154.106.807.21 1.617.331 2.416.292-.343.583-.735.889-.564a3.157 3.157 0 0 1-.663 1.943 125.948 125.948 0 0 0 21.341 52.42 148.017 148.017 0 0 1 11.407-13.218c3.071-5.3 7-10.357 9.229-13.836.272-2.934 2.765-7.414 4.987-8.526.1-1.452 3.133-5.38 4.687-7.5a5.271 5.271 0 0 1 .577-.8c-.151.219-.349.492-.577.8-.285.583 1.176-.577 1.691-.466-2.166 2.84-4.152 4.438-3.124 6.2a3.067 3.067 0 0 1-1.363.549c.144-.307.516-.659.251-.887-2.149 1.861 2.2.989.914 2.894-1.692-.943-1.576 2.539-3.292.647.692-1.155 1.753-.828 1.049-1.878a42.527 42.527 0 0 0-5.284 7.745c1.916-.342 2.451-3.723 3.986-4.978.647-.046 1.3.5 1.948.455 2.086-1.2 2.452-3.56 4.577-3.421-2.7 5.308-3.817 2.859-6.157 5.965.146-.185.528-.193.282.223-1.461 2.305-2.694 2.909-3.7 5.2-1.015.425-4.628 1.265-2.392 2.987.792-1.49 1.985-3.16 3.5-2.646 2.818-2.426 1.947-5.8 4.482-6.75-1.041 1.509-1.463 2.895-.978 4.1 1.327-1.286-.293-1.992 1.277-3.325.34.4.039.923.316 1.33.714-1.968 2.525-5.207 4.268-4.75-1.712 3.163-3.564 5.746-4.718 8.2-.374-.343-1.139-.784-.829-.122l.562.449c3.607-2 2.315-5.183 5.9-5.632-1.372 1.349-1.5 3.441-3.187 3.982 1.074 1.788-1.277 5.27-3.108 6.756 5.686-2.974 5.153-9.267 8.138-13.616 1.244.516-.863 3.124 1.179 2.56 2.016-5.863 9.575-10 12.8-14.259-2.162 4.741-4.5 8.538-7.659 11.288-.912.968 1.493-.2.583 1-3.174 1.864-6.613 8.048-9.264 12.722-.3-.449-.16-.772-.847-.67.439 3.644-4.192 6.162-5.248 8.859.266-.205.53-.649.814-.438-4.6 4.409-9.94 11.024-12.177 16.929-.376-.3-.752-.6-1.125-.894a98.2 98.2 0 0 1-4.927 8.7q1.7 1.909 3.445 3.726a10.232 10.232 0 0 0 .713-1.1 4.772 4.772 0 0 1-.289 1.541c16.217 16.72 35.046 27.367 50.271 31.434a15.38 15.38 0 0 0 1.364-2.059c3.383 1.348 6.125-6.654 7.287-5.065zm35-27.59c-.2-1.355 1.937-2.333 2.659-3.321.201 1.136-1.919 2.725-2.657 3.321zm82.869-104.645a1.9 1.9 0 0 1-1.313 2.212c-1.281-.518.888-2.154 1.315-2.212zm-2.126 2.654c.425 1.5-2.224 3.6-3.423 5.424-.11-1.038-.748-.191-.861-1.225a15.235 15.235 0 0 0 4.286-4.199zm-37.016 43.35c1.165.537.08 1.963-.764 2.1-1.219-.409.388-1.376.766-2.1zm-17.835 21.122a11.126 11.126 0 0 1-4.252 5.306 17.589 17.589 0 0 1 4.254-5.306zm-12.353 20.037c1.008-1.1.77 1.592 1.393.563-.477.952-1.912 2.056-2.941 3.095-1.188-.88 2.03-2.633 1.55-3.658zm-3.288.65c.971-.558-.315 3.939-1.864 2.326.747-.651 1.92-1.251 1.866-2.326zm-11.325 8.384c-.608 1.176-1.256.981-1.878 1.766-.419-.767.852-2.96 1.88-1.766zm-99.26-104.125c-.5-.554.165-1.339-.334-1.892.538-.422 1.115.42 1.628-.879.772.687-.591 1.793-1.292 2.771zm4.463-7.309c0 .818-.1 2.259-1.027 2.439a1.658 1.658 0 0 1 1.029-2.439zm-1.241 4.435c1.055-1.529 1.487-3.2 3.169-4.538.739 1.428-2.183 3.476-3.167 4.538zm4.747-7.083a3.1 3.1 0 0 1 1.562-3.1c.657.428-.813 1.279-1.046 1.881.567.542 1.073-1.075 1.609-1.436.139 1.579-.991 1.668-2.123 2.655zm52.234 153.644c-.34-2.027 1.434-2.738 2.608-4.981-.001 1.394-.848 4.134-2.606 4.981zm33.9-148.319a2.716 2.716 0 0 1-.78 1.55c-1.38-1.149 4.145-5.242.782-1.55zm-.186 3.109c1.235 1.374-.721 3.326-1.8 4.543-1.323-1.133.516-2.891 1.802-4.543zm-17.533 12.683c.439.567-1.191 1.538.331 1.892-2.091 2.278-2.594 4.234-4.217 6.419.963-3.638 2.004-4.987 3.886-8.311zm-27.068 34.956c.83 1.153-.863 1.5-1.579 2.547-.824-.937.849-1.94 1.579-2.547zm-8.756 20.726.851.67c-.353.441-.71.882-1.063 1.326-.826-.49-.561-1.19.212-1.994zm6.381 1.254c.776-.96 2.22.478 2.239 1.233-1.265 1.058-1.329-.656-2.239-1.231zm1.077-.771c-.287-.314.246-.8.514-1.221.581.908 1.1.112 1.677.783-.71.884-1.462.229-2.191.44zm9.6-10.839a6.645 6.645 0 0 0-2.276-2.341c-.548.757 1.084 1.089 1.43 1.672-.869 1.636-1.816.651-2.707 1.652a2 2 0 0 1 1.16 2 1.557 1.557 0 0 1-2.153 1.548c.691-1.325 1.434-1.154 2.153-1.548-.728-.516-1.369-.069-1.409-1.114-.5 2.218-1.268 1.8-2.941 3.1.551.654.745 2.131 2.541 2.012-1.265.708-2.517 1.811-3.787 2.421-.693-.608.33-1.554 1.033-2.436.4-.635-1.447-.334-1.942-.455-.444.871.761-.055.58 1.005-.711.706-1.443.892-2.141 2.1-1.006.109-.337-.312-1.131-.894-.845 2.761 1.873 3.328-.119 5.331a1.182 1.182 0 0 0 1.363-.55c-.569 5.562-8.233 8.245-8.716 12.622-1.456.554-1.231-.28-1.613 1.433-1.857-.487-1.372-2.094-1.013-3.7a11.9 11.9 0 0 0-.993 1.023c-.593-1.07-.626-.745-1.674-.785-.637 1.353 2.333.4 1.705 1.895-1.19-.132-1.7 3.2-4.017 3.868-.276.543.472.419.827.115.277 1.106-1.8.537-2.421 1.875a3.138 3.138 0 0 0 1.36-.546c.67.885-.837.493-1.062 1.329.28.2.544-.238.814-.442.65.709-1.1 1.89-.749 2.659-.977.07-2.767.6-2.146 2.1-4.752 3.327-8.656 8.027-12.3 12.491-.281-.223-.562-.449-.844-.672-1.5 4.042-4.463 6.444-6.876 9.739-.205-4.024 4.587-6.8 7.125-10.627 1.395-2.11 1.553-4.618 3.671-6.312 1.35.573-1.2 1.915-.75 2.66.562.073.574-.995 1.609-1.433-.163-5.671 6.914-10.44 10.566-15.495 2.994-4.145 4.455-8.572 7.106-11.18.46.009.9-.536 1.38 0 .148-1.76 2.171-2.349 3.189-3.984 1.282.279.4.946 1.626-.876.042 1.048.679.6 1.41 1.115-.521 1.046-1.1.178-1.644.323a4.83 4.83 0 0 0 .349 2.446c-.719.506-1.465.081-2.193.436-.455.742.245 1.257-.213 2 1.459.075 2.578-3.013 4.58-2.866.571-3.068-1.742-4.808.334-7.883-.834-.35-1.628.758-2.44 1.322.593-3.562 4.22-4.678 4.187-7.531.633-.219 1.256-1.024 1.906-.659.563-1.082 1.062-4.031 2.374-3.539.473-.656-.747-.974-.048-1.67 3.595-.748 4.607-7.294 7.74-8.511.045-2.647 3.482-6.391 5.014-7.415-.734-3.475 5.055-8.892 8.238-10.288 1.925-2.654.983-2.971 2.874-5.318-.649.647-2.692 1.226-2.422 1.879-1-.882.428-2.331 2.338-4.653-.043.045.047.612-.249.888 3.172-2.968 5.428-12.263 12.007-13.266a7.8 7.8 0 0 0-2.093 3.764c.164-1.135 4.5-3.824 3.14-5.647a1.851 1.851 0 0 1 2.173-.992c.567.637 1.153 1.262.069 2.225.569.665 1.05-1.636 1.638-.326-1.677 2.184-3.4 2.885-5.081 5.2 1.185-.281 2.547-1.489 4.3-3.645-2.377 6.024-4.643 9.316-9.5 14.168 1.314.993 2.534-1.276 3.834-.755-3.42 3.039-3.6 6.8-6.075 8.74-.19-.148-.379-.3-.567-.446-.727-.324-.161-.9.235-1.441-1.314-.081-1.255 1.894.065 2.218-.864 1.1-.847 2.031-2.109 3.21-.579-.534.062-1.314.765-2.1-1.993.036-2.392 3.547-3.141 5.645-.509 1.525-1.12-.559-1.642.325-.482 1.744-6.033 9.009-8.254 9.731-.326 1.148-.252 1.5.876 1.782-.786 1.33-1.6 1.79-2.439 1.323.384 2.4-2.4 3.524-4.265 4.752-.913 1.2 1.5.034.576 1-.662.857-.532.238-.825-.115-1.018 1.217.408 1.958-1.283 3.316z\",\n fill: \"#fcae1d\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M649.565 1049.047c1.5-1.433 4.772-2.986 5.05-6.306-1.868 2.448-3.945 3.57-5.749 5.175.508.323.425.76.699 1.131zm91.612-4.977c.445-.458.879-1.306 1.347-1.105.456 2.328-4.393 5.579-3.922 7.2 1.06.621.277-1.877 1.361-.546 1.136-2.036 2.09-4.5 3.969-5.533-1.488-.2-.836-.706.211-2-.806-.925-3.97 1.838-2.966 1.984zm-136.094-92.927c-.323.151-.639.3-.956.459a1.638 1.638 0 0 0 .956-.459zm2.256-1.002c-.169.072-.34.143-.507.216.043.134.087.269.133.4l.374-.616zm-22.009 23.61c1.035-1.133-.4-1.783.464-2.884.782.1.144 1.741 1.132.895-.289-1.33 1.769-1.434 2.419-1.876-1.83-1.07 1.474-1.536 1.012-2.992-.447 1.316-2.306 1.247-1.921.1 1.575 0 1.419-1.14 2.971-1.987.278.229.55 0 .83.121-1.22 1.561.486 2.529.017.554a187.796 187.796 0 0 1 5.362-4.975 3.148 3.148 0 0 1-1.359.553c1.523-2.083 2.363-.83 1.309-2.215 1.059-1.45 2.2-.166 3.288-.651-1.281-.49.958-1.681-.067-2.223-.625.529-1.214 2.307-1.889 1.214a12.065 12.065 0 0 0 3.169-4.538c.473.5.924.119 1.392.562-1.19.683-2.337 2.083-1.56 3.1 1.851-1.563 2.007-2.993 2.057-4.826-9.878 4.826-16.725 11.21-19.175 19.546.46.788.247 1.709.549 2.522zm10.294-15.163c.376.3.754.594 1.129.9-.3.724-1.929.722-1.327 1.66-1.158.882-.26-.814-.583-1-1.357.286.272 2.351-1.546 3.655-.046-1.851-.197-4.383 2.327-5.215zm-4.8 5.416c.3.409-.434 1.019-.782 1.552l-.846-.669c.515-1.303 1.093-.456 1.63-.887zm95.166 151.864a7.225 7.225 0 0 1-1.907.657c-.061-.73 1.386-1.762-.066-2.222-.815 1-.237 1.723-.152 2.542h.576a.482.482 0 0 1 .534 0h.681c.29-.361.532-.713.334-.977zm.865-7.992c-.054 1.223-2.022 1.457-1.842 2.879.577-.69 2.634-1.802 1.842-2.879zm-59.206-63.716c-1.428 1.12-.44 1.762-1.294 2.77-.977 2.07 2.264-2.23 1.294-2.77zm3.787-2.426c-.723.986-2.857 1.964-2.658 3.32.703-1.667 2.852-2.171 2.658-3.32zm-39.507-40.517c.266-.332.53-.665.8-.992-.358-.895-.81-.528-.878-1.782-1.038 2.082-1.928 2.74-3.7 5.2.661.616 1.28-.2 1.925-.105-.773-.816 1.148-4.047 2.376-3.534-.273.42-.811.896-.523 1.213zm-5.791-9.47c1.449-.968 3.093-2.307 3.186-3.98-.995 2.104-2.665 2.583-3.186 3.98zm7.854-4.623c.187.15.378.3.563.445-1.082.629-2.14 2.111-3.239 2.317 1.084 1.281 4.866-3.425 2.676-2.762zm-9.16-11.597c.3.4.156.9.86 1.229.705-1.03 1.448-.726 2.178-.992-.431-.244.784-2.137-.317-1.336-.288 2.053-1.953.463-2.721 1.099zm16.468 7.08.846.669c1.083-2.11.82-1.991 2.655-3.316q-1.137-1.28-2.19.433c-.349.441.25.694.035 1.108-1.094.924-2.059-.531-2.444 1.323a1.555 1.555 0 0 1-.582-1c-.88.661-3.488 1.383-2.671 2.763.886-1.032 1.755-2.764 2.7-1.651-.629.848-.291 1.445-1.328 1.658 1.267.517 2.511.134 1.711 1.895.812-.461 1.627-.852 2.441-1.316-.589-1.313-1.072.99-1.644.318.2-1.105-.283-1.047-1.142-1.445a3.211 3.211 0 0 0 1.613-1.439zm-11.886-10.501a1.013 1.013 0 0 1-1.381-.007c-.455 1.257-.825 1.19-1.874 1.769.953.732 3.241-1.654 3.255-1.762z\",\n fill: \"#fcae1d\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M603.126 979.173c1.112-1.011 4.276-.264 2.956-2.541-.61.587-.147.963-.233 1.444-.759-.208-2.938-.701-2.723 1.097zm146.964 77.383c-1.076 1.279-3.568 3.22-3.737 4.09 1.082-.997 3.58-2.656 3.737-4.09zm-67.446-53.434c-.515.467-.379-.343.251-.884-.592-.257-.332-1.069-.846-.672.673 1.065-.84.407-1.082.772-.51 2.408.499 2.696 1.677.784zm10.312-14.604c-1.083.863-.759 1.452-.761 2.105-.158-.126-.536.016-.267.331a1.654 1.654 0 0 0 1.028-2.436zm70.121 50.664c-1.23 1.067-2.833 1.657-2.658 3.32.709-1.531 2.839-2.512 2.658-3.32zm29.009-34.503c-.774 1.267-.643 2.362-1 3.55.179-.191.362-.361.549-.108l.532-.665c-1.008-1.193.911-2.131-.081-2.777zm2.589 3.677c6.314-8.656 11.88-15.012 18.6-23.228-.821.191-1.619 1.25-2.441 1.32.144-.311.516-.664.251-.886-.27.2-.534.645-.818.44 1.241-1.011 2.147-3.379 1.012-3 .487 1.3-1.351 2.253-2.39 2.988-.137 1.256 2.026.466 1.164 2-2.687 1.32-3.644 6.266-6.159 5.968.208-1.769 4.762-3.99 3.388-6.536-1.527 1.88-2.707 4.713-5.082 5.2.028.551.045 1.107.048 1.665-1.471.828-.3-.687-1.109-.339.223 1.192-3.187 2.75-.767 2.106a17.123 17.123 0 0 0-6.938 7.517c1.825-2.2 2.648-1.822 4.048-2.758-1.008 2.9-4.055 2.547-3.985 4.982.489-.462.8.258.847.67.711-.875 1.407-2.081 2.159-1.548.228.791-2.871 2.216-1.828 3.439zm4.1-10.309c.248.7-.205 1.534-1.03 2.437-.976-.622.142-2.265 1.033-2.437zm-15.551-4.188c-.307.712-1.9 1.68-1.314 2.217.468-.838 2.313-1.112 1.878-1.771-.381.355-.477-.042-.564-.446zm21.318-15.107c.742-1.54 2.541-3.295 2.892-4.758-1.94.806-2.51 3.369-2.892 4.758zm4.852-3.752c-1.422-1.584-1.885 1.409-2.691 2.207.467.277.943.942 1.4.562-1.688-1.325.234-1.869 1.291-2.769zm15.288-4.7c.527-1.664 2.332-2.284 2.376-3.543-1.458.678-3.114 1.6-3.206 3.429a.547.547 0 0 1 .83.114zm-3.432-13.567c-.866 1.609-1.691 1.761-1.278 3.33.437-.68.9-.485 1.341-1.105-1.282-.334.968-2.758-.063-2.225zm8.65-5.616.024-.036h-.017c-.001.009-.007.019-.007.036zm-239.259 34.434c-.715.793-.017 1.307-.217 2 .518-1.043 1.1-.181 1.641-.326.485-1.118 3.074-2.654 1.829-3.431-1.069 1.161-2.118 2.963-3.253 1.757z\",\n fill: \"#fcae1d\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1282.989 780.874c-.449.026-1.457.935-.971 1.387.438-.561 1.461-.64.971-1.387zm26.842-30.092c-.4-.362-.214-.759-.845-1.105-.819.651.344 1.378.845 1.105zm-2.631-8.94c-.5-.605-1-1.455-1.519-1.724.543.357-1.027.268-.483.859.66-.314 1.356 1.607 2.002.865zm-1.966 1.121c.64-.055.874.646 1.178 1.085 1.122-.976-1.405-1.664-1.178-1.085zm-20.015-19.069c.006-.51-.722-1.141-1.165-.42.388.214.789 1.172 1.165.42zm12.123 12.463a4.884 4.884 0 0 0-2.687-2.476 7.652 7.652 0 0 0 2.687 2.476zm-53.735-56.3c.34.695.838.571 1.181 1.415.692-.558-.588-1.938-1.181-1.415zm-6.548-15.809c-.817.714.344 1.389.84.773a.822.822 0 0 0-.84-.773zm-1.538 7.391c.449.406.9 1.007 1.335.574-.008-.537-.856-1.184-1.335-.574zm9.299 83.895a1.243 1.243 0 0 0-.834-.442c-1.828-1.968.005 1.308.834.442zm-9.699 55.98c.715.284.153.654.346.971.382-.315.775.073 1.157-.242-.504-.406-1.014-1.212-1.503-.729zm6.679-140.949a.831.831 0 0 0-1.336-.575c.449.481.895.74 1.336.575zm-3.624 1.235c.178.232.349 1.269.675.951.095-.46.16-1.487-.675-.951zm4.81.511c-.739-.4-.538-1.438-1.34-.909a1.532 1.532 0 0 0 1.34.909zm38.691 109.311c-.047-.439.422-.91-.024-1.324-.46.362-.044.664-.645 1.037.223.154.452.465.669.287z\",\n fill: \"none\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1305.573 805.244c-1.693-1.4-2.8-3.152-5.032-3.979.162-.177.327-.352.489-.528a28.371 28.371 0 0 1-6.081-7.223c-.955.41-1.077-.668-1.013-1.261-.494.23-1-.81-1.495-.4.091.16.325.312.174.486-.471-.119-.077-1.044-.673-.618a1.63 1.63 0 0 1 .177.815c-.726-.348-.165-1.625-.851-1.433.142.21.135.662-.157.5-.146-1.4-2.067-1.635-1.86-2.362-.819-.351-.573 1.436-1.307 1.077.137-.639-.052-.652.645-1.035a5.2 5.2 0 0 1-.5-.582l-.175-.035a.906.906 0 0 1 .081-.1 15.22 15.22 0 0 0-2.455-3.4c1.937.1 2.506 2.058 3.194 2.94-.247.173-.5.148-.739.456.031.044.061.088.094.131.912.185 1.812.445 2.3-.7-.974-.2-.5-.077-.676-.95-2.542-.2-3.309-4.809-6.544-5.038a.628.628 0 0 1 .18.817c-.973-1.17-1.6.5-3.146.039.43-.5.608-.1.651-.707-.639-.4-.671-.84-1.012-1.258-.609-.088-.19.626-.658.374.125-.305.144-1.42.478-1.192.447.41.9 1.012 1.332.578-.225-.76-.744-1.5-1.028-2.253-.122 1.09-1.018 1.239-1.464 1.588-.587-.991-.259-1.466-1.519-1.724.623-.047.427-.427.811-.881a1.514 1.514 0 0 0-1.311.748c-.5-.522.188-1.118-.688-1.613-.382.223-.755 1.223-1.144.9a5.44 5.44 0 0 1 1.631-1.433c-.623-1-1.215-.117-1.831-.71.241-.186.594-.12.157-.5-.476-.539-.044.9-.657.372-.527-1.111-.892-2.78-2.358-2.5.368-.521.182-1-.521-1.456-.286.693-.505.745-1.15.571-.19-1.336-3.9-4.561-4.88-4.818-.468-.3.833-.715-.016-.992-1.163-.412-3.2-.581-3.009-1.793.392.411.785.785 1.164.422-.563-.743-1.114-.713-1.676-1.216-.333.809-1.51.887-1.321.086.279.23.559.562.829.112q.163-.175.325-.354c-.883-1.465-3.093-1.5-4.527-3.512-.448.8.766 1.5.036 2.317a15.943 15.943 0 0 0-7.375-5.483c1.088 1.024 1.658 1.828 1.7 2.542-1.188-.973-1.418-2.007-2.532-2.982-.84.386.472.63.017.99-.454-.64-.888-.27-1.326.088-.13.45-.252.9.355 1.3 1.226-.868 2.354 1.716 3.008 1.792a3.511 3.511 0 0 1-2-1.2c-.112 3.982 5.153 5.16 6.571 7.027-.132-.175-.477-.108-.5-.133 1.17 1.113 1.876 1.952 2.506 1.325-.416.177-.539-1.053-.853-1.434 1.187 1.1 1.476.521 2.842 1.637.486 1.907 3.074 5.315 5.212 4.8.442.911 2.292 2.923 3.856 2.895.384 1.88 4.154 2.359 4.212 4.53.337.411.657-.338.994-.064-.432.808 1.262 1.05 1.842 1.37-.286.4.125.765.186 1.146 1.695-.08 1.966 2.1 4.013 2.389-.247-.482-.818-.942-.521-1.456 1.6 1.2 2.879-.246 4.637.038v-.011l.016.014a2.843 2.843 0 0 1 .484.119 9.324 9.324 0 0 1 1.025 1.919c-.921-.652-.6-1.384-1.509-2.038h-.016c-.3 1.22 1.406 1.837 1.205 2.726-.39-.263-.77.173-1.161-.088-.132-.435.2-.9-.023-1.325a3.066 3.066 0 0 1-1.486.263c-.027-.33.548-.7-.016-.992-.386.455-.186.833-.812.881.949.7.648.185.345.97.859.585.991 1.8 2.018 1.857-.371.3-.1.56-.15.84 1.26 1.558 3.727 2.354 5.861 4.088 2.6 2.116 4.67 6.321 8.048 6.1.148.62.78.605.676.949-.489.286-1.011-1.234-1.5-.4.776 1.253 2.245 1.3 3.345 2.1 1.997 1.494 3.126 4.347 5.532 4.138zm-51.055-44.044c.5-.007 1.274 1.634 2.18 1.679-.676.645-2.012-1.223-2.18-1.679zm4.176 2.211c-.387.012-.77.221-1.165-.42a.828.828 0 0 1 1.332.575c-.215.168-.261-.059-.167-.157zm4.554 5.171c-.174-.1-.094-.216-.005-.332.169-.121.088-.227-.007-.33a.9.9 0 0 1 1.173.749c-.382.319-.78-.412-1.161-.089zm1.183 1.413c-.191-.139.361-1.073-.342-.641-.18-.3.273-.163.489-.529.253.372.719.437.5.134 1.003.674.722 1.294-.647 1.034zm3.47-.393c-.658.211-1.316.572-1.992-.2.662-.063 1.323-.291 1.991.198zm-1.26 4.058c.718-.113 1.447.667 2.176 1.349-.061.346-1.552-.771-2.176-1.351zm5.3-.016.489-.529a1.441 1.441 0 0 1 .678.95c-.459-.047-1.171.202-1.167-.423zm2.248 5.986c-.675-.345-.262-.758-.514-1.126.617-.579.45 1 .835.443.171.207-.154.453-.321.681z\",\n fill: \"none\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1278.483 778.682c.372-.917-.1-1.284-.686-1.278.156.429-.025.885.686 1.278zm26.6 27.092c2.011 1.169 3.177 4.394 5.533 4.112-1.383-1.165-3.447-4.194-5.533-4.112zm-59.726 24.291c-.439.166-.887-.1-1.334-.577a1.159 1.159 0 0 1-.658.374c.759.309 1.7.725 2 .863-.22-.205.135-.449-.008-.66zm71.494-13.465c.008-.442-.721-1.232-1.17-.753.298.238.542 1.56 1.17.753zm-39.054-39.197-.001.001h.001zm47.766-6.276c1.2.667 1.434 1.731 2.671 1.482-.313-1.052-1.846-1.509-2.671-1.482zm-77.256-14.989c-.606-.629-1.553-1.778-2.5-1 .841.75 1.686 1.83 2.5 1zm-1.153-71.838c.216-.219.439-.046.654-.373-.092-.61-1.25-1.526-1.838-1.039.759.445.605.951 1.184 1.412zm15.012 17.077a.893.893 0 0 0-1.17-.752c-.011.258.726 1.544 1.17.752zm2.203 3.004c.625-.09.192-.461.819-.549-.95-.692-1.915-2.259-2.847-1.97a6.7 6.7 0 0 1 2.028 2.519zm-12.929 61.161a13.323 13.323 0 0 0 4.508 2.19c-1.121-.942-2.226-1.207-3.351-2.431-.373.933-.774-.038-1.157.241zm17.808 15.734c.28.432.695 1.429 1.34.908-.544-.414-.568-1.436-1.34-.908zm-38.548 33.012c.865-.4-.52-2-1.015-1.258-.094.542.928.484 1.015 1.258zm49.89-28.119c.393.454.78.6 1.16.087-.226-.2-.449-.413-.672-.618zm-72.261-147.381c.162-.177.327-.352.489-.529-1.142-.4-1.264-1.641-2.348-1.835.73 1.084.658 2.019 1.859 2.364zm1.638-1.1a1.409 1.409 0 0 1 .818-.553c-.446-.4-.9-1.008-1.333-.576.638.347-.125.782.515 1.129zm10.017-5.461c-.45-.481-.9-.743-1.335-.578.001.438.851.859 1.335.578zm.634-1.7c-.224-.207-.451-.411-.672-.618-.761.558.176 1.42.672.618zm-35.042-36.809c-.377.561-.787-.983-1.166-.422.634.621.271 1.908 1.35 1.569-.682-.342.306-.791-.184-1.147zm20.703 41.228c-.387.461-.188.848-.819.552.417-.361.572-.7.315-1.017-.983.479-2.273-1.363-2.528-2.649-.741.577-.578.625-1.144.9 2.14 1.031 2.3 3.1 4.2 3.868-.328-.53.388-1.127-.024-1.654zm-4.879-4.486c-.269.367-.548.215-.818.55.669.5 1.344 1.205 1.994.533-.459-.543-1.176-.331-1.176-1.083zm17.081 1.04c-.682-.34-.277-.756-.187-1.147-1.021-.313-1.039-1.549-1.858-2.363a2 2 0 0 1-1.481.592c1.151.561 1.833 2.861 3.526 2.918zm-7.058 14.378c-.668.43-.249.79-.146 1.168a2.165 2.165 0 0 1 .325-.027c-.668-.342.077-.774-.179-1.141zm10.703-3.851c-.445-.215-.9-1.234-1.339-.906.007.608.857.959 1.339.906zm-10.517 4.997.004-.006-.011.001zm21.309 161.486c.611 1 1.556 1.223 2.349 1.833-.524-.577-1.422-2.312-2.349-1.833zm-2.361-146.986c.186.209.347.42.011.662 1.041.266.291.946 1.007.928-.1-.157-.059-.327.157-.508-1.032.013-.432-1.206-1.175-1.082zm42.134 135.269c-.145-.12-.276-.227-.381-.307a2.366 2.366 0 0 0 .381.307zm-42.457 9.573c.156.319 1.06.593.678.949-.331-.129-.678-1.005-1-.6a1.454 1.454 0 0 0 1.669.886c-.465-.665-.396-1.351-1.347-1.235zm-7.185-4.003c.687-.1 1.046 1.915 2.007 1.193-.973-.393-.989-1.529-2.007-1.193zm-2.028-2.519c-.56 1.4 1.623 1.937 2.185 2.011-.694-.642-2.006-1.02-2.185-2.011zm13.291-131.275a1.433 1.433 0 0 0-1-.6 1.079 1.079 0 0 0-.315 1.017c.434-.365.883.214 1.315-.417zm-1.54 141.112a.83.83 0 0 0 1.335.573c-.007-.554-.85-.592-1.335-.573zm1.576-138.794c.342.585.668.153 1.006.6.669-.429-.332-.749.146-1.168.093.085.323.033.163-.177-.435.439-.888-.35-1.326.089a.682.682 0 0 1 .011.656zm-25.776-27.309c-.467-.656-.936-.956-1.026-1.921-1.194.638.418 1.95 1.026 1.921zm13.928 155.341c-.176-.267-.088-.548-.508-.8-.978 1.069-1.32-1.255-2.5-.665.962.718 1.846 1.891 2.683 2.147-.868-.574-.113-.774.325-.682zm1.169.751c-.451-.57-.89-.413-1.33-.244.006.525.853.624 1.33.244zm-9.545-150.657c.287-.552-.371-.284-.7-.571a1.721 1.721 0 0 0 .7.571zm-5.224 138.7-.673-.619a1.4 1.4 0 0 1-.818.551c.502.255 1.002.483 1.491.068zm-.643 1.036c.5.224 1.016 1.526 1.5.729-.874-.517-.788-1.007-1.5-.729zm4.826 1.507c-.418.938-1.206.635-1.464 1.586.614.425 1.238 1.571 1.838 1.039.11-.847-1.419-.558-.853-1.434 2.434 1.4 3.93 3.249 5.531 4.112-1.204-2.5-3.079-3.319-5.052-5.303zm10.438 10.585c.026.4 1 1.574 1.513 1.39a4.579 4.579 0 0 1-.52-1.456c-.314.868-.668-.42-.993.066zm90.585-51.994c-.273-.436-.988-1.69-1.682-1.548.508.418.859 1.695 1.682 1.548zm-38.233-49.859c-.446-.482-.892-.74-1.333-.575.006.539.86 1.187 1.333.575zm-56.495 112.065c-.836.263-.192 3.259 1.2 2.407a3.157 3.157 0 0 1-1.2-2.407zm3.007 1.459c-.394-.454-.783-.6-1.164-.087.397.453.786.599 1.164.087zm-5.48-.799c.737.469 1.581 1.473 1.508 1.061-.105-.661-.608-1.626-1.508-1.061zm3.515 2.256a1.822 1.822 0 0 0 1.334.575c-.005-.508-.861-1.377-1.334-.575zm-.887-3.753c-.955-1.05-1.906-1.674-2.839-1.307 1.066 1.3 1.123 1.59 1.863 2.363-.312-.687.743-.439.976-1.056zm12.644 13.919c-.578-1.079-1.977-.044-2-.864.146-.2 1.055.311.656-.375-.62.385-.444-.6-.841-.773q-.329.352-.652.706c.222 1.52 1.739 1.371 2.837 1.306zm-.143 1.499c.2.318-.368.687.349.972l.487-.529c-.279-.2-.561-.634-.836-.443zm-9.942-10.782c-.447.878 1.042 2.152 1.853 2.033-.093-.711-1.245-1.354-1.853-2.033zm1.982-.129c-.5-.741-.994-1.447-1.837-1.041.617.554 1.235 1.318 1.837 1.041z\",\n fill: \"none\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1349.505 787.289a2.35 2.35 0 0 0 1.821.047 1.089 1.089 0 0 0-1.166-.42c.395.548-.511.036-.655.373zm-.465-8.255c1.339 1.028 1.7.833 2.023 2.187a1.175 1.175 0 0 1 .656-.375c-.431-.957-1.487-2.213-2.679-1.812zm-4.352 7.41c-1.117-.845-1.492-1.557-2.344-1.5.782.609 1.575 1.818 2.344 1.5zm3.012-8.316c.441-1 .456 1.371 1.33.244-.635-.344-.214-.76-.848-1.1-.165.1-.325.341-.492.2-.695-1.084-2.8-1.978-.332.022-.248.159-.075 1.049.342.634zm-2.2-3.003c-.505-.517-1.009-.941-1.5-.733.5.408 1.009 1.215 1.5.733zm-2.68-1.814c.45.477.9.867 1.328.246-.448-.675-.89-.518-1.328-.246zm-.174-.487c-.867-1.111-.732-1.267-1.529-2.384-.529.019-.832.755-.808 1.213.917-1.787 1.555 2.035 2.337 1.171zm-70.408 70.89c-.37.94-.78-.606-1.157-.091a3.421 3.421 0 0 1 1.068 1.133l.384-.074c-.249-.312-.178-.647-.295-.968zm27.862-28.502c.615-.646-.28-1.2-.859-1.765-.489.638.31 1.195.859 1.765zm-30.352 27.837c.448-.408 1.167-.274 1.164.42.327-.725.349-.538.982-.726-.731-.666-1.448-.653-2.17-1.02.767.392-.592.926.024 1.326zm-2.719 2.696.554-.107a1.208 1.208 0 0 1-.458-.763.53.53 0 0 0-.096.87zm2.851-4.529a2.236 2.236 0 0 0-1.668-.886 1.45 1.45 0 0 0 1.668.886zm.32-1.016c-.388-.172-.791-1.124-1.169-.753.136.718.395 1.187 1.169.753zm-7.767 1.341c-.045.33 1.93 1.793 1.845 1.37-.613-.362-1.24-1.559-1.845-1.37zm71.32-75.923c-.38.421-.77.256-1.143.9.391.409.784.783 1.164.422-.343-.417.126-.887-.021-1.322zm-65.606 70.741c-.448-.014-2.429-1.489-2.506-1.328-.196.414 2.177 2.146 2.506 1.328zm-14.389 11.549c-.466-.479-1.171.244-1.151.571l.046.042.741-.143a.663.663 0 0 1 .364-.47zm73.067-80.508c.451.57.885 0 1.325-.085-.45-.643-.889-.271-1.325.085zm-.86-2.1c-.5-.3-1.009-.941-1.5-.4.503.3 1.011.943 1.5.4zm-65.804 68.931c.46-.466.051-.611.654-.707-.225-.2-.448-.411-.673-.617-.59.482-.042.887.019 1.324zm-.729-4.26c.626.842 1.959-.639.819-.551.093.161.059.329-.157.508-.223-.171-.448-.314-.662.043zm-10.32 7.139c1.494.334.959 1.434 2.35 1.832.127-.629-1.526-2.793-2.35-1.832zm7.815-8.465c.609.091 1.221.45 1.824.043-1.209.027.359-1.266-.849-1.1.4.544-.511.036-.655.374.672.392-.065.612-.32.683zm-.127 2.162c-1.369-.432-.862-1.829-2.353-2.166.539.576 1.19 2.71 2.353 2.166zm64.924-71.691c-.322-.538-.8-1.924-1.689-1.875.896.499.805 1.923 1.689 1.875zm-78.644 73.748c-.152-.39 1.086-.55 1.494.067.166-.231.492-.474.322-.684-1.384-.843-2.984-.1-3.679-2.077a1.383 1.383 0 0 1-.82.549c1.252.57 1.485 1.816 2.683 2.145zm7.307-9.264c-.01-.84-1.251-.571-.853-1.434-1.409.303.108 1.418.853 1.434zm-10.63 8.489c-.28-.257-.561-.516-.839-.774-.757.305.597 1.552.839.774zm8.455-9.835c-.7-.693-1.047-1.808-2.007-1.194.562.111 2.003 1.74 2.007 1.194zm.318-.682c-.99-1.277-.92-3.571-2.048-3.842.118 1.209.785 3.259 2.048 3.842zm-7.98 8.31a14.46 14.46 0 0 1-.852-1.436c-.215.291-.661.6-.483.862.945-.951.255 1.455 1.335.574zm4.998-8.444c-.383.649-.2.446-.813.879.332.129.678 1.006 1 .6-.277-.48.094-1.002-.187-1.479zm-3.125 1.362c-.312.673.588.7 1.168.422a1.107 1.107 0 0 0-1.168-.422zm-1.723-3.865c-.12.925 1.507 1.467 2.344 1.5-.727-.614-1.461-1.229-1.355-1.9-.317.922-.351.316-.989.4zm32.975-40.435c.252.368-.161.781.514 1.126.167-.232.492-.474.321-.683-.385.557-.218-1.02-.835-.443zm-37.206 34.583c-1.637.642 1.614 3.874 2.2 2.673-1.185-.125-1.515-1.736-2.515-1.991.162-.23.486-.471.315-.682zm35.961-39.97-.489.529c0 .625.708.376 1.167.421a1.441 1.441 0 0 0-.678-.95zm-5.789.545c.624.58 2.115 1.7 2.176 1.349-.729-.682-1.458-1.462-2.176-1.349zm34.159-38.689c.372.472.023.993.521 1.457.422-.426-.049-1.634-.521-1.457zm-32.9 34.631c-.669-.489-1.33-.261-1.992-.2.677.772 1.335.411 1.992.2zm-39.612 39.212c-.306-.652-.749-1.182-1.339-.907.443.217.901 1.236 1.339.907zm36.121-40.145a.9.9 0 0 0-1.173-.749c.095.1.176.209.007.33-.089.116-.169.231.005.332.381-.323.779.408 1.161.087zm29.003-39.841c-2.487-1.8.794.659 1.015 1.259l.487-.529c-.506-.656-1.001-.544-1.502-.73zm6.688-6.239c-.5-.261-1.017-1.343-1.508-1.06.276.573.845 1.346 1.508 1.06zm-45.582 38.613c.168.458 1.5 2.326 2.18 1.679-.906-.047-1.678-1.688-2.18-1.679zm40.542-43.253c-.31.76.583.447 1.173.751.059-.831-.461-.804-1.173-.751zm-.011-.661.489-.53c-.355-.253-.188-.542-.508-.8-.591.485-.038.891.019 1.33zm-79.517 81.094c-.5-.207-1.006-.735-1.5-.4a1.087 1.087 0 0 0 1.5.4zm69.139-77.598c-.416.357-.57.7-.314 1.013.285-.564 1.422.763 1.157-.24-.622.384-.214-.62-.843-.773zm5.516-7.323-.49.531c.81-.053.615 1.275 1.334.575-.631-.345-.213-.759-.844-1.106zm-3.281 2.207c.382-1.152 1.655.892 1.494.067-.528-.94-1.993-1.174-1.494-.067zm1.749-4.59c.168.08.338.3.5.133-.5-.479-1.012-1.121-1.5-.4.277.2.56.632.833.442-.088-.084-.053-.318.167-.175zm-5.27 1.67c.215-.235.432-.468.648-.7-.556-.23-1.12-1.118-1.666-.555.447.409 1.024.809 1.018 1.255zm-2.303-9.292c.778.36 1.554.568 2.33.842-.787-.824-1.565-1.205-2.33-.842zm-76.533 86.072a.486.486 0 0 0 .24-.052 3.344 3.344 0 0 0-.328-.422zM1266.441 689a2.246 2.246 0 0 0-1.671-.884c.6.207-.113 1.3.677.95.048-1.038.836.227.342.641.216-.235.435-.47.652-.707zm-9.079-8.353c-.276-.751-.828-.554-1.5-.73.502.518 1.007.941 1.5.73zm-6.771 1.273c-.447-.41-.9-1.009-1.332-.577 1.043.267.292.947 1.007.929-.166-.224.078-.289.325-.352zm1.287-2.403c-.055-.45-1.129-1.679-1.68-1.549.056.451 1.127 1.679 1.68 1.549zm-4.637-.031c.771.716 1.169 1.423 1.849 1.7-.094-.159-.061-.325.157-.508-.662-.008-1.347-1.295-2.006-1.192zm-.041-12.755c-.556-.491-.744-2.2-1.677-1.214.919-.004.831 1.333 1.677 1.214zm-1.626 1.769c-.61-.4-.3-1.048-1.005-.6.3.312-.419.689.017.991.319-.763.67.366.988-.391zm1.415-4.571c-.011.443.7.839.684 1.28.674-.742.079-1.383-.684-1.28zm-5.799-.117a1.236 1.236 0 0 0-1.327-.245c-.08.791 1.78 2.154 2.685 2.144-.686-.34.307-.791-.184-1.147-.37 1.264-2.293-.924-1.174-.752zm-6.161-2.083c.164-.175.327-.353.49-.53-.008-.193-.415-1.147-.839-.773.694.397-.448.913.349 1.303zm-2.908-5.939c.966.081.987 1.672 2 .862-.664-.045-1.348-1.366-2-.862zm5.079-3.483-1.009-.927c-.8.552.768.943.52 1.458zm-8.677-14.178c.551.032 1.122 1.019 1.67.885-.275-.514-.983-1.384-1.67-.885zm-35.999-34.759c1.1-.022.466 1.9 1.67.885-.558-.244-1.132-1.674-1.67-.885z\",\n fill: \"#fcae1d\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1299.346 737.621c-.056-.075-.114-.15-.165-.225\",\n fill: \"none\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1287.916 788.671.175.035c-.033-.043-.063-.087-.094-.131a.906.906 0 0 0-.081.096zm-81.934 2.877c-.442-.357-.264-.755-.516-1.125a1.56 1.56 0 0 1-.734.09l2.209 11.938a11.213 11.213 0 0 0 2.384 1.3c-.238.294-.588.593-.153.841.436-.433.871-.881 1.32-.419-.248.485-.993.123-.321.684.436-.149 1.007-.032 1 .6.605.088.186-.625.656-.375a.986.986 0 0 1 .346.972c-.271.263-.555-.257-.824.218.968.188.972.476 2 .863.589-.575-.581-.5-.02-1.322 5.671 1.105 9.452 5.739 13.557 8.888-.234.621-1.3-.676-.993.065 2.06 1.022 2.919.8 3.355 2.763.618.568 1.218-.026 1.826.046.186.989 3.069 1.372 2.7 3.136.7-.559.765.828 1.666.555-.583.667-.163.795.342.638-.863 1.086.7 1.095.363 1.966.821-.345 1.18.224 1.507 1.062.606.088.185-.624.657-.376.44 1.175 2.515 1.391 1.868 3.027 1.224-.392 3.22 1.939 3.034 3.114 1.048-.881 2.76 1.061 2.342 1.506a15.233 15.233 0 0 1 3.155.621c-.328.18-.658.215-.986.4 2.918 3.041 6.308 4.307 9.414 8.66a.66.66 0 0 1 .826-.217c-.094 2.389 4.826 2.457 2.889 4.615.852.785.644-.551 1.485-.264.171.192.345.362.519.531l3.547-.684c-2.612-2.754-6.751-4.4-8.169-7.863-1.728-.113-3.473-1.853-5.184-3.14 1.039-.586 2.123 1.572 3.162.951-.709-.669-3.658-2.663-3.414-3.7-.312.343-.625.608-.948.339-.575-.294-.015-.662-.345-.972-1.224.7-3.484-2.405-4.359-3.359.092.159.056.327-.159.507 0-.62-2.03-.666-2.017-1.856.338.4.671.539 1 .266-.1-1.272-1.224.172-1.833-.709.325-.455.666.25.993-.065-1.636-1.071-3.8-3.8-5.374-4.619-.734.378.419.637-.316 1.015-.154-.321-1.06-.593-.676-.951.272-.215.55-.041.822-.217-2.494-2.475-5.325-4.445-8.234-7.581.335-1.2-2.609-2.09-3.364-3.095-.994-1.325-3.36-2.727-5.2-4.133-2.931-2.239-5.125-5.384-8.222-6.586.239-.292.588-.59.153-.841-.274.239-.541.707-.82.552a3.006 3.006 0 0 1-.7-2.6 4.762 4.762 0 0 1-1.487.261c.251.321 1.3.274 1.009.927-.39-.219-.769.226-1.166-.419.352-1.758.058-.666-.693-1.946a.632.632 0 0 0 .83.115c-1.28-.153-1.575-2.2-2.852-2.3.609 1.094 1.048 1.17 1.358 2.231a6.694 6.694 0 0 0-2.174-1.348c.142-.476 1.049-.126.653-.706-1.478.012-.989-3.124-2.87-3.292.479.169.667 1.132.176.817zm38.041 37.94c.447.482.895.743 1.334.577.14.211-.212.455.009.66-.3-.138-1.242-.554-2-.863a1.159 1.159 0 0 0 .657-.374zm-13.328-15.2c-.082-.774-1.1-.716-1.015-1.258.495-.741 1.88.859 1.02 1.258zm54.516-29.088a9.324 9.324 0 0 0-1.025-1.919 2.843 2.843 0 0 0-.484-.119c.905.654.588 1.386 1.509 2.038zm-70.971-159.89c.009.015.021.028.031.043h.023c-.018-.017-.036-.029-.054-.043zm.33-.021a.938.938 0 0 1-.276.059c.093.063.186.093.276-.059zm69.116 157.859v.011h.016z\",\n fill: \"#fcae1d\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1252.8 832.117c.122-.134.244-.279.367-.41a.617.617 0 0 0-.367.41zm126.933-8.532c-1.712-1.027-3.048-3.121-5.028-3.647 1.109-.19-.285-.564-.341-.641-.02-.029.346-.318.327-.351-1.78-3.187-8.528-6.261-8.748-8.375-.094.671-1.788.44-1.834-.71.323-.592.661-.047.989-.395-4.362-3.431-8.443-7.95-13.279-12.221.092.16.326.31.172.486-2.008-2.28-2.49-3.644-4.718-4.994-1.4-1.839-4.736-4.531-5.552-5.435.053.242.617 1.252.015.993-.742-2.8-2.324-4.2-4.906-6.472.585-1.014-1.208-2.709-2.018-1.857.451.6.894.725 1.333.576-.015.442.88.826.023 1.325-.848-.8-3.7-3.08-1.7-2.542-3.195-1.76-2.783-3.793-5.553-5.435 1.161-2.087-3.287-3.587-2.22-4.327a2.258 2.258 0 0 1-1.863-2.365c1.873.884 2.568 2.143 3.851 2.565-.609-.457-1.057-.927-.851-1.436a2.291 2.291 0 0 1-2.186-2.011c-.7.809-.777-.521-.838-.773-.737.381.418.636-.317 1.015a7.058 7.058 0 0 1-3.042-3.777 1 1 0 0 0 1 .265c-1.178-.6-1.359-2.522-2.513-1.658.252.426 1.306.8 1.015 1.259a4.9 4.9 0 0 1-2.533-2.983c.2.226 1.192 1.147.836.442-.623-.89-1.226-.705-1.839-1.04-.506-2.839-2.151-3.518-3.569-5.564-.819.425-1.666-.681-2.5-1.327a1.168 1.168 0 0 0 .32-.685c.378-.508.78.464 1.157-.24-.639-.678-2.43-1.793-2.708-3.468-.757-.027-3.163-1.489-2.363-2.827 1.32.923 2.537 1.672 2.858 2.628.731-.425 3.153 3.523 3.845 2.234-.093.391-.264.79.184 1.146a15.177 15.177 0 0 0 2.153.027c-1.248 1.183 1.555.334.688 1.61.4.653.77-.136 1.162.091.294.587.09 1.209.525 1.789 5.069 2.174 7.932 7.74 12.1 10.8-.69-.95-1.817-1.869-1.7-2.87.338.224.379 1.268 1.007.929-.145-.434-.782-.833-.682-1.281 1.186.535.924 2.027 1.523 2.052-.885-.979.658-.621.652-.7-.052-.6-1-.595-.858-1.766-.345.3-.169.561-.482.86-.3-.368.112-.781-.183-1.15-4-.36-6.105-5.376-9.721-6.985.7-1.039-.335-1.11-.672-.617a2.814 2.814 0 0 1-.2-2.143c-1.8.542-2.635-2.64-4.35-2.7-.043-2.013-3.525-2.965-4.539-4.175.1.158.059.326-.16.507-.664-.472-1.206-.609-1.18-1.414.794-.066.071.549.679.949-.045-2.368-2.884-3.167-4.224-5.192a4.549 4.549 0 0 1-1.5-.4c.145-.783-.94-1.488-1.693-2.212a1.176 1.176 0 0 1-1.828-.376c-.265 2.011 1.614 3.15 2.881 3.954-1.208.127-.391 1.109-1.476.925.393-1.312-2.4-2.921-3.215-3.861.219.294.4.59.021.921-.514-.459-1.879-.85-1.85-1.7.726.9 1.231-.02 1.177 1.084a3.534 3.534 0 0 0-.2-2.472c-.628.429.379.746-.479 1.191-.169-.158-.334-.041-.5-.133.223-.7-1.657-1.884-.529-2.119-1.49-.838-3.174-2.66-2.717-4.132-2.423-1.471-4.5-2.444-6.205-4.73.215-.291.66-.594.482-.86-.493.268-.993-.1-1.49-.068.517-.66-.47-.4-.18-.818.279.175.551-.209.825-.218a1.425 1.425 0 0 1-.676-.95c-.63.428.378.749-.478 1.191-.395-.41-.778-.2-1.167-.421-.045-1.25-2.13-1.043-2.695-2.807.274-.188.55-.114.82-.55-.671-.51-1.321.241-1.993-.2.275-.217.554-.046.826-.219-2.022.506-2.7-2.747-3.2-3.272.144.21.136.661-.157.507-2.4-2.839-5.082-4.6-7.566-6.962.166-.213.5-.049.325-.351-1.279-.9-8.932-4.3-5.884-5.415-.092-.16-.324-.311-.173-.485.224.154.45.468.666.287-.262-.754-1.721-1.106-2.509-1.659a4 4 0 0 0 .146-1.168c-2.39.086-1.45-2.613-3.2-3.272.377-.509.779.463 1.152-.24-3.061-.148-4.824-4.065-7.71-5.791.379-.518.79 1.031 1.162.088-2.2-1.121-4.913-4.752-7.556-6.3 1.01-.064-.395-.815-.021-1.325 2.57.183 3.154 2.706 6.02 3.584.145-.34 1.038-.732.645-1.037-2.057 1.136-3.233-1.769-5.171-2.479.183-.344-.39-.637.313-1.015-2.248-.185-4.594-2.812-6.047-5.237-1.213.313-1.535-1.633-2.846-1.967.607.073 1.2-.767 1.819-.287-.233.644-1.222.284-.485.861 1.417-1.091 2.79 1.787 3.67 1.749-.391-.441.512-.09.652-.7-1.17-.18-1.336-1.3-2.5-1.329.121-.88-.789-2.7-1.008-.928.372-1.551-1.731-1.981-1.548-3.379 1.7 1.826 3.112 1.64 4.517 2.855-.227-1.34-.99-1.419-1.691-2.209a1.17 1.17 0 0 1 .657-.376c-2.344-2.337-4.133-3.652-4.907-6.473-.217.184-.432.529-.655.373-.4-1.719-2.7-3.258-3.88-4.218.188.21.35.42.013.66-.745-.668-1.764-1.32-1.193-2.074-.448-.292-.873.624-1.323.086-.157-.872.26-1.783-.043-2.648-.107 1.174-3.244-1.052-1.351-1.569-.941-1.081-2-1.085-1.865-2.694a4.343 4.343 0 0 1-1.822-.046c-1.45 1.792-1.986 1.663-3.1 3.019 1.244.449 2.094.842 1.362 2.231.621-.3 1.947.97 1.848 1.7 2.174-.056 2.356 2.9 4.376 4.352-.883.764.369.724.027 1.656a20.468 20.468 0 0 0-2.006-1.2c.746-.324.6-.708.639-1.366-.713.3-1.448-.617-1.344-1.238-.881.554.418.965.188 1.477a21.749 21.749 0 0 0-2.667-1.149c.585-1.281-.711-2.367-1.864-2.7.046-.717.1-.778.813-.881a6.625 6.625 0 0 1-4.376-4.353c-1.637.875-1.426-2.062-2.353-2.166a1.183 1.183 0 0 1 .015.993c-.4-.6-.773-.153-1.17-.752.674-.652-.037-1.214-.2-1.809-.462.179-.039 1.051-.648.7-1.241-1.5-1.648-2.135-3.19-2.608.388-.713.99-1.083-.032-1.988a1.38 1.38 0 0 1-.818.55c0 .011.011.015.015.026-.416-.629-.668-1.316-1.687-1.247v.006h-.007a2.165 2.165 0 0 0-.325.027c-.1-.378-.522-.738.146-1.168.256.367-.489.8.179 1.141h.011c.548-1 1.413-.219 1.986.21-1.026-1.08.088-3.589-1.536-2.72-1.27-1.958-1.723-3.715-2.909-5.938.272-.216.551-.046.824-.221-.548-1.181-2.251-.407-1.351-1.569.841.735 1.685 1.789 2.512 1.659a1 1 0 0 1-.349-.972c.359 1.1.787-.539 1.839 1.04.485-.8.991-.088 1.484-.6-.143-.65-.9-1.266-.7-1.942 1.781.69 2.468 1.556 2.532 2.984-.335-.128-.679-1-1-.6 1.017.759-1.168.082-.152.84 1.169-.264 1.787.262 2.658.488-1 .4 1.2.23.519 1.458.446.1.88-.275 1.324-.087.268 2.321 2.95 4.528 4.074 6.029-.058-.436-.613-.844-.023-1.323.169.154.333.04.5.132-.212 1.265 1.727 1.422 1.036 2.583.879.781 1 .587 1.182 1.414.509-.249.673-.906 1.49.069-.38.313-.772-.074-1.154.239 1.258 1.291 4.266 2.844 4.213 4.532 4.7-.7 4.62 6.26 8.211 5.922-.214.236.145.434.009.663q-.509-.759-.993.065c.9.73.806.779 1.692 2.211.649-1.2-.779-2.27-.553-3.444.664 0 1.343 1.013 2.013 1.525.258-.713-1.238-2.12-1.7-2.54-.022-.02-.616.486-.824.22s.024-.893-.184-1.151c-.966-1.2-3.425-1.828-3.035-3.446a1.079 1.079 0 0 0 1.5.4c-3.174-2.2-4.418-4.311-7.732-7.115.162-.178.33-.088.493-.2-1.461-.609-2.05-2.381-4.019-2.717.274-.217.553-.044.826-.221a10.36 10.36 0 0 0-2.5-1c.746-.1-.022-1.1.3-1.674q-.486.615-.993.062c-.137-.6.61-.234.321-.684a12.844 12.844 0 0 0-3.174-1.614c.289-.331 1.413.2 1.152-.573-1.9-.06-3.545-3.936-4.388-5.014.3.671-1.043.08-.835-.442-.63.235.156 1.162-.484.858.414-.9-1.159-1.417-1.025-1.919.317-.868.669.418.994-.067a10.753 10.753 0 0 0-1.538-3.047c2.286.686 4.107 4.927 7.541 5.637.241-.545-.872-.531-1.171-.751.962-1.264-.493-.633-.52-1.458 1.741-1.035 1.715 1.758 2.849 1.968-.188-.207-.353-.417-.012-.662.168.155.332.04.5.134.944 1.081 2.208 3.437 3.188 2.607.745.841.279 2.628 1.372 2.892a4.075 4.075 0 0 1-.553-3.444c.24-.231 1.309 1.006 1 .268a7.8 7.8 0 0 1-3.346-2.1c-.136.4.86.717.184 1.147-.458-.522-1.487-1.006-1.02-1.589.75.166.6-1.157.153-.836.309.577-.74.517-.987.393.209-.289-.257-.535-.511-.795a1.388 1.388 0 0 0 .483-.859 3.63 3.63 0 0 0-1.5-.731c-1.243-2.938-5.97-3.833-7.523-6.257-.866.076-1.3-1.122-1.7-.6-.035-.343-.684-1.48-1.015-1.258-.18.4.811.719.515 1.125a.686.686 0 0 1-.66.044c0-.883-.3-.713-1.009-.929 0-.33 0-.662-.017-.99a27.346 27.346 0 0 1-2.846-1.97 1.167 1.167 0 0 1 .654-.375 1.3 1.3 0 0 1-1.012-1.259 4.186 4.186 0 0 0 1.989.2c-1-.394-2.014-1.672-3-1.128.2.379 1.174.127.84.773a5.435 5.435 0 0 0-1.994-.535c.313-.294.212-.564-.179-.812.781-.1.7-1.151.633-1.7-.706.543-.259 1.012-.8 1.545-.641-.868-.432.115-.831-.113-.931-.712-.362-1.52-1.03-2.252.713-.374 1.441.188 2.153.026-.843-.982-1.659-.278-2.5-1 .427-.423.828-.257.482-.859-2.066.11-3.887-2.232-5.353-3.295-.176.638.8.15.51.794-.274.21-.553-.139-.831-.111.3-.515-.3-.974.472-1.522-1.524-.242-2.053-1.72-3.518-2.586.085-.4.809-1.693-.19-1.481.187.211.35.419.009.665a12.8 12.8 0 0 1-2.513-1.992c1.031-1.336-.441-2.511-.56-3.773-.605-.091-.184.624-.656.373-.923-2.448-2.049-3.33-3.9-5.875 1.361.73-.833-1.207.316-1.014a6.367 6.367 0 0 1-1.386-.6l-17.118.407L1204.1 787.1c.669.146.692 1.372 1.5 1.161.15.618-.847.258-.154.84a86.2 86.2 0 0 1 .651-.705c.685.471 2.5 2.02 3.019 2.451.345.477.339-1.3.987-.395-.857.691 2.172 1.376 1.2 2.739 2.091.859 1.951 2.276 4.017 2.718-.205.362.445 1.5 1.016 1.257-.393-.12-.408-1.02-.009-.659 1.732 3.076 5.5 5.641 7.753 8.438a.68.68 0 0 1-.011-.659l.671.618a1.148 1.148 0 0 1-.655.373c.991.1.842 2 1.522 2.056-.291-.647.461.046.338.308.563-.382.4-.373 1.155-.241-.224-.262-.679-.507-.511-.8 2.109.6 3.454 3.335 4.881 4.82.828.16-.015-1.121.816-.885-.075 1.126 2.083.347 1.511 1.392-.554.317-2-1.3-1.984.13 1.225.279 2.827-.342 3.166 1.287 1.461-1.871 3 1.01 4.487.863.078.719.707 2.267 1.86 2.364-1.031-1.313-1.7-2.651-1.226-4.061.223.154.45.47.667.285-.681-1.159-1.321.229-2-.86-.637.648.742 1.165.195 1.81a12 12 0 0 1-3.367-3.427c.4.654.768-.369 1.16.09.008.3.481 1.381.845 1.105 1.092-.708 3.586.394 3.847 2.233 1.427-.541 1.468 1.375 1.68 1.548-.308-.578.741-.52.986-.4-.763.8 1.173 2.163 1 .6a.97.97 0 0 1 .19 1.478 9.371 9.371 0 0 0 2.651.158c-.427.422-.829.257-.482.863.627.134.431-.258.825-.223.1.162.06.331-.157.509 1.777-.7 1.476 2.465 2.352 2.167-.187-.209-.348-.421-.01-.663.69.783 1.5 1.556 1.2 2.406.983-.555.307.821 1.012 1.259 1.318-.953 4.277 1.55 3.183 2.277.976.085 1.833-.142 2.006 1.195 1.071-.733-.932-1.264-.692-1.943.882.006 1.793 1.737 2.679 1.813-.035.875-.043 1.5-.631 2.03.558.3 1.1-.185 1.655-.111-.173-.209-.5-.409-.342-.638a1.43 1.43 0 0 1 1.2 2.407c-.253-.549-1.288.28-.987.4.931-.532 1.888.645 2.82.312-.511-.952-.991.041-1.5-.73.3-.749.833-.568.641-1.367a6.1 6.1 0 0 0 2.349 1.835c-.327.346-.667-.2-.989.395.453.762.881-.291 1.324-.087.119.491.526.96.19 1.479 2.281.352 2.832 1.789 4.859 3.494.954-.558-1-.929-.522-1.459 2.757.767 4.536 2.763 7.182 3.673-.27.214-.551.043-.824.222 1.75.14 1.66 1.711 2.669 1.149a16.139 16.139 0 0 0 2.519 3.159l33.925-6.551a.933.933 0 0 1 .612-.118l.82-.158c-.773-.934.791-.143 1.143-.544-1.441-.241-2.9-1.815-4.351-2.7-6.457-9.871-18.2-16.7-25.249-25.191-2.81-1.757-5.384-4.044-7.207-5.324-1.71-.1-4.1-1.528-4.517-2.856-.858-.033-2.893-1.83-3.972-2.721a2.366 2.366 0 0 1-.381-.307c.105.08.236.187.381.307.356.207-.184-.67-.061-.992 1.451 1.258 2.184 2.432 3.339 1.77a1.6 1.6 0 0 1 .179.818c-.167-.081-.335-.3-.5-.134.872 1.269.823-1.362 1.813-.617-.741 1.049 1.335.906.03 1.99-.61-.4-.3-1.05-1-.6a18.627 18.627 0 0 0 4.022 3.052c0-1.159-1.942-1.413-2.521-2.321.042-.392.435-.8.479-1.194-.487-1.245-1.847-1.417-1.536-2.713 2.855 1.533 1.284 2.262 2.873 3.621-.093-.085-.057-.318.163-.177 1.209.841 1.434 1.578 2.684 2.144.143.608.252 2.789 1.513 1.393-.8-.451-1.659-1.142-1.191-2.077-1.135-1.663-3.227-1.062-3.519-2.585a2.267 2.267 0 0 0 2.327.51c-.62-.781-1.212.219-1.834-.708.272-.215.552-.043.823-.22-1.09-.394-2.814-1.427-2.357-2.5 1.691.976 3.023 2.048 4.351 2.7-.244.234-.588.709-.161.506l.326-.351c-.8-2.152-2.823-1.3-2.7-3.469.651.806 1.878.841 2.017 1.855 1.175-.691 2.986.667 3.67 1.75-1.152-3.4-4.938-2.942-7.195-4.666.44-.767 1.759.46 1.644-.771-3.258-1.1-4.9-5.616-7.075-7.49a14.1 14.1 0 0 1 5.867 4.423c.475.534.042-.9.656-.376.764 1.892 4.059 3.855 6.544 5.37-.3.192-.475.113-.488.529 2.207-.344 3.2 2.421 4.686 3.007-.093-.158-.328-.309-.172-.486 2.119 2.7 5.465 5.816 8.724 7.053l-.651.7c3.215 1.717 7.774 4.5 9.9 8.134q.489-.621.994-.066c6.711 7.041 16.5 12.871 22.744 19.568l.069-.013c-.025-.11.012-.224.184-.347.055.1.118.182.175.278l.566-.11c-3.606-3.841-7.686-7.041-11.357-11.571.167.083.335.3.5.136-.392-.611-.767.186-1.163-.423.459-.466.047-.613.651-.7-1.129-.382-1.8-1.749-2.527-2.652-.706.377-.135.671-.317 1.013-.337-.445-.661-.013-1-.6.327-.349.667.2.988-.394-.568-.954-1.1.066-1.67-.885.874-.746-.67-.973-.693-1.944-.936.344-1.015.29-1.313.749-.308-.582-.534-1.008-1.17-.752l.487-.529c-.473-.147-2.434-.7-1.851-1.7.533.888 2.119.61 2.355 2.165 1.25-1.494-3.576-2.772-2.889-4.617 3.93 3.214 6.5 6.122 10.258 9.767.347-.24.168-.681.49-.53.2.375 1.184.7.846 1.106-.6.256-.3-1.072-1-.267a15.6 15.6 0 0 0 3.021 2.455c-.32-.324-.631-1.485.309-1.346 2.2 3.569 6.356 6.317 8.921 8.86.637.632 1.261 1.285 1.887 1.935l43.009-8.305a.466.466 0 0 0-.127-.364zm-65.627-74.738c-.823.147-1.174-1.13-1.682-1.548.694-.142 1.409 1.112 1.682 1.548zm-82.531-85.733c-.716.018.034-.662-1.007-.928.336-.242.175-.453-.011-.662.741-.129.139 1.1 1.175 1.082-.216.181-.253.351-.157.508zm-9.449-21.087c-.482.053-1.332-.3-1.339-.906.437-.328.894.691 1.339.906zm-2.18-12.118c.221.207.448.411.672.618-.496.802-1.433-.06-.672-.618zm.038 2.318c-.482.281-1.334-.14-1.335-.578.438-.165.885.097 1.335.578zm-3.548-4.241c.819.814.837 2.05 1.858 2.363-.09.391-.5.807.187 1.147-1.693-.053-2.375-2.353-3.526-2.918a2 2 0 0 0 1.481-.592zm-5.651 9.149a1.409 1.409 0 0 0-.818.553c-.64-.347.123-.782-.515-1.129.434-.432.887.171 1.333.576zM1184.41 593.3c.379-.561.789.983 1.166.422.49.356-.5.805.184 1.147-1.079.331-.716-.952-1.35-1.569zm16.176 37.714c.27-.335.549-.183.818-.55 0 .752.713.543 1.176 1.083-.65.668-1.325-.032-1.994-.537zm5.721 5.591c-1.9-.773-2.064-2.837-4.2-3.868.566-.276.4-.324 1.144-.9.255 1.286 1.545 3.128 2.528 2.649.257.317.1.656-.315 1.017.631.3.432-.091.819-.552.408.522-.308 1.119.024 1.649zm2.511 1.658c-.162.177-.327.352-.489.529-1.2-.345-1.13-1.28-1.859-2.364 1.084.19 1.206 1.43 2.348 1.831zm-1.272 3.4c.09.965.559 1.265 1.026 1.921-.608.023-2.22-1.289-1.026-1.927zm.683 145.437.673.619c-.491.415-.991.189-1.491-.068a1.4 1.4 0 0 0 .818-.557zm.028 1.655c.712-.278.626.212 1.5.729-.484.791-1-.511-1.5-.735zm5.867-139.736a1.721 1.721 0 0 1-.7-.571c.329.281.987.013.7.565zm-1.52 142.434c-.566.876.963.587.853 1.434-.6.532-1.224-.614-1.838-1.039.258-.951 1.046-.648 1.464-1.586 1.973 1.984 3.848 2.8 5.052 5.3-1.601-.862-3.097-2.711-5.535-4.115zm11.91 9.328a4.579 4.579 0 0 0 .52 1.456c-.516.184-1.487-.992-1.513-1.39.325-.492.679.796.993-.072zm-.845-1.105c-.477.38-1.324.281-1.33-.244.44-.175.879-.332 1.33.238zm-1.681-1.548c.42.249.332.53.508.8-.434-.092-1.189.108-.32.685-.837-.256-1.721-1.429-2.683-2.147 1.175-.599 1.517 1.725 2.495.656zm-.967 1.722c.176.991 1.491 1.369 2.185 2.011-.562-.08-2.745-.616-2.185-2.017zm2.028 2.519c1.018-.336 1.034.8 2.007 1.193-.956.716-1.32-1.296-2.007-1.199zm6.861 4.355c.324-.408.671.468 1 .6.382-.356-.522-.63-.678-.949.951-.116.882.57 1.345 1.238a1.454 1.454 0 0 1-1.667-.895zm5.753-136.58c.16.21-.07.262-.163.177-.478.419.523.739-.146 1.168-.338-.443-.664-.011-1.006-.6a.682.682 0 0 0-.011-.66c.438-.441.891.348 1.326-.091zm-2.354-2.165a1.433 1.433 0 0 1 1 .6c-.432.627-.881.052-1.318.421a1.079 1.079 0 0 1 .318-1.027zm-.537 141.708c.485-.019 1.328.014 1.335.573a.83.83 0 0 1-1.335-.579zm.146-1.171c.927-.479 1.825 1.256 2.349 1.833-.793-.616-1.738-.844-2.349-1.839zm3.706 3.733c-.382.315-.775-.073-1.157.242-.193-.317.369-.687-.346-.971.489-.489.999.317 1.503.723zm-1.1-140.6c.475-.61 1.327.037 1.335.574-.438.423-.889-.178-1.338-.584zm1.538-7.391a.822.822 0 0 1 .84.773c-.502.606-1.66-.069-.843-.783zm1.792 8.5c-.326.318-.5-.719-.675-.951.832-.543.767.484.672.941zm4.135-.437a1.532 1.532 0 0 1-1.34-.909c.799-.539.598.496 1.337.899zm-1.188-1.746c-.439.165-.885-.094-1.336-.575a.831.831 0 0 1 1.335.565zm2.188 84.527a1.243 1.243 0 0 1 .834.442c-.832.856-2.665-2.42-.837-.452zm.8-73.62c-.343-.844-.841-.72-1.181-1.415.592-.533 1.872.847 1.18 1.405zm64.2 68.205c.631.346.446.743.845 1.105-.504.263-1.667-.464-.848-1.115zm-3.3-9.559c.514.269 1.014 1.119 1.519 1.724-.649.742-1.345-1.179-2-.865-.551-.601 1.019-.512.476-.869zm.728 3.93c-.3-.439-.538-1.14-1.178-1.085-.232-.589 2.295.099 1.173 1.075zm-9.07-7.691a7.652 7.652 0 0 1-2.687-2.476 4.884 4.884 0 0 1 2.682 2.466zm-12.123-12.463c-.376.752-.777-.206-1.165-.42.441-.731 1.166-.1 1.16.41zm-2.23 56.98c.49.747-.533.821-.971 1.387-.491-.462.517-1.371.966-1.397zm-1.336-.576c.446.414-.023.885.024 1.324-.217.181-.446-.133-.669-.287.596-.383.18-.685.64-1.045zm-16.465-76.466c-.627.088-.194.459-.819.549a6.7 6.7 0 0 0-2.028-2.519c.927-.299 1.892 1.268 2.842 1.96zm-3.022-2.455c-.444.792-1.181-.494-1.17-.752a.893.893 0 0 1 1.165.742zm-14.358-17.451c-.215.327-.438.154-.654.373-.579-.46-.425-.966-1.184-1.412.583-.497 1.741.419 1.833 1.029zm.5 72.212c-.814.83-1.659-.25-2.5-1 .941-.788 1.887.361 2.494.99zm3.133 9.4c.383-.279.784.692 1.157-.241 1.125 1.224 2.23 1.489 3.351 2.431a13.323 13.323 0 0 1-4.514-2.196zm17.808 15.734c.772-.528.8.494 1.34.908-.651.515-1.066-.482-1.346-.914zm11.342 4.893.488-.531c.223.2.446.413.672.618-.386.508-.773.361-1.166-.093zm19.451 14.963c-1.1-.8-2.569-.848-3.345-2.1.484-.833 1.006.687 1.5.4.1-.344-.528-.329-.676-.949-3.378.217-5.444-3.988-8.048-6.1-2.134-1.734-4.6-2.53-5.861-4.088.054-.28-.221-.539.15-.84-1.027-.053-1.159-1.272-2.018-1.857.3-.785.6-.265-.345-.97.626-.048.426-.426.812-.881.564.294-.011.662.016.992a3.066 3.066 0 0 0 1.486-.263c.223.427-.109.89.023 1.325.391.261.771-.175 1.161.088.2-.889-1.507-1.506-1.205-2.726-1.758-.284-3.037 1.16-4.637-.038-.3.514.274.974.521 1.456-2.047-.286-2.318-2.469-4.013-2.389-.061-.381-.472-.743-.186-1.146-.58-.32-2.274-.562-1.842-1.37-.337-.274-.657.475-.994.064-.058-2.171-3.828-2.65-4.212-4.53-1.564.028-3.414-1.984-3.856-2.895-2.138.519-4.726-2.889-5.212-4.8-1.366-1.116-1.655-.536-2.842-1.637.314.381.437 1.611.853 1.434-.63.627-1.336-.212-2.506-1.325.022.025.367-.042.5.133-1.418-1.867-6.683-3.045-6.571-7.027a3.511 3.511 0 0 0 2 1.2c-.654-.076-1.782-2.66-3.008-1.792-.607-.4-.485-.852-.355-1.3.438-.358.872-.728 1.326-.088.455-.36-.857-.6-.017-.99 1.114.975 1.344 2.009 2.532 2.982-.039-.714-.609-1.518-1.7-2.542a15.943 15.943 0 0 1 7.375 5.483c.73-.821-.484-1.515-.036-2.317 1.434 2.017 3.644 2.047 4.527 3.512q-.162.178-.325.354c-.27.45-.55.118-.829-.112-.189.8.988.723 1.321-.086.562.5 1.113.473 1.676 1.216-.379.363-.772-.011-1.164-.422-.192 1.212 1.846 1.381 3.009 1.793.849.277-.452.693.016.992.981.257 4.69 3.482 4.88 4.818.645.174.864.122 1.15-.571.7.451.889.935.521 1.456 1.466-.284 1.831 1.385 2.358 2.5.613.53.181-.911.657-.372.437.385.084.319-.157.5.616.593 1.208-.291 1.831.71a5.44 5.44 0 0 0-1.631 1.433c.389.318.762-.682 1.144-.9.876.5.191 1.091.688 1.613a1.514 1.514 0 0 1 1.311-.748c.587-.006 1.058.361.686 1.278-.711-.393-.53-.849-.686-1.278-.384.454-.188.834-.811.881 1.26.258.932.733 1.519 1.724.446-.349 1.342-.5 1.464-1.588.284.755.8 1.493 1.028 2.253-.434.434-.885-.168-1.332-.578-.334-.228-.353.887-.478 1.192.468.252.049-.462.658-.374.341.418.373.859 1.012 1.258-.043.61-.221.212-.651.707 1.545.456 2.173-1.209 3.146-.039a.628.628 0 0 0-.18-.817c3.235.229 4 4.835 6.544 5.038.172.873-.3.754.676.95-.488 1.14-1.388.88-2.3.7a5.2 5.2 0 0 0 .5.582c-.7.383-.508.4-.645 1.035.734.359.488-1.428 1.307-1.077-.207.727 1.714.965 1.86 2.362.292.157.3-.295.157-.5.686-.192.125 1.085.851 1.433a1.63 1.63 0 0 0-.177-.815c.6-.426.2.5.673.618.151-.174-.083-.326-.174-.486.49-.41 1 .63 1.495.4-.064.593.058 1.671 1.013 1.261a28.371 28.371 0 0 0 6.081 7.223c-.162.176-.327.351-.489.528 2.234.827 3.339 2.58 5.032 3.979-2.412.182-3.541-2.671-5.538-4.139zm5.042 4.642c2.086-.082 4.15 2.947 5.533 4.112-2.362.276-3.528-2.949-5.539-4.118zm11.768 10.829c-.628.8-.872-.518-1.17-.753.443-.485 1.172.305 1.164.744zm8.712-45.476c.825-.027 2.358.43 2.671 1.482-1.24.243-1.474-.821-2.677-1.488z\",\n fill: \"#fcae1d\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1285.542 785.179a15.22 15.22 0 0 1 2.455 3.4c.244-.308.492-.283.739-.456-.688-.886-1.257-2.845-3.194-2.944zm13.417-51.249c.482-.658-1.083-.13-.177-.817-1.085-.649-2.442-1.177-2.853-2.3-.28.909-.508.523-1.161-.087-.634.51.663 2.377.858 1.763-.224-.261-.68-.508-.511-.8 1.429-.321 2.835 2.561 3.844 2.241zm-73.275 88.143c.574 1.237.753 1.683 2.022 2.188-1.295.637.943 1.042.027 1.655 1.124.34 1.239 2 2.18 1.679-.866-1.138-2-1.254-1.526-2.385.791 1.109 2.284 1.608 2.2 3 .987.483 3.034 1.2 3.02 2.454.838-.733.754 1 1.672.883.345-.241.166-.679.486-.527 1 .236 1.1 1.746 2.016 1.855-.183-.208-.348-.417-.009-.662.633.347.214.758.846 1.105.608-.535-.457-.963-.52-1.458-.861.228-2.826-1.5-2.684-2.142.857.224 1.438-.02 1.508 1.062.565-.37-.007-.665.314-1.016-.56-.516-1.1.044-1.665-.553.546-.373 1.1-.229 1.649-.442-.561-.605-1.1.28-1.66-.222.142-.477 1.047-.124.652-.707-.819.2-.659-1.047-.851-1.432-.831 1.135-.752-.865-1.665-.554.732.245.492 1.377-.148 1.167.17-.958-.522-.839-.858-1.766.166-.173.059-.334.161-.507.794.709 1.551-.349.33-.022a82.275 82.275 0 0 1-2.372-3.158 1.627 1.627 0 0 1 .182.815c-1.071-.883-.238-1.42-1.172-.75-.746-.613.138-1.335-.033-1.987-.428.791-.893-.546-1.324.088.246.369 1.236.69.516 1.124a5.277 5.277 0 0 0-2.349-1.833c.347-.3.17-.565.483-.859.277.71.983 1.378 1.671.884a2.634 2.634 0 0 0-2.668-1.15.728.728 0 0 0-1.172-.755c-.226-.729.406-.845.976-1.056-1.134-.734-1.482-1.018-1.692-2.211.28.173.551-.208.826-.218-1.081-.182-.978-.48-1.182-1.414-1.131.045-3.761-1.473-4.191-3.206-1.314.093-1.743-.706-3.511-1.923-.954.559 1 .929.519 1.459-.744.381-2.386-.181-2.173-1.351.324-.482.674.8.993-.065-2.408-1.244-1.248 2.011-.615 3.024-.336-.306-.658.284-1-.268a2.408 2.408 0 0 0-2.512-1.66c-.259-.419-.1-.6.322-.681-1.829-.921-2.888-2.129-4.369-2.982l.568 3.067c4.728 4.164 9.357 8.3 13.1 12.065 1.273.023 2.759 3.006 4.682 2.348zm7.186 4-.487.529c-.717-.285-.153-.654-.349-.972.275-.187.557.247.836.447zm-2.878-3.954c.4.169.221 1.158.841.773.4.686-.51.175-.656.375.023.82 1.422-.215 2 .864-1.1.066-2.615.214-2.837-1.306l.652-.702zm-7.9-7.271c.6.679 1.76 1.322 1.853 2.033-.811.119-2.3-1.151-1.853-2.029zm1.982-.129c-.6.28-1.22-.487-1.837-1.041.843-.402 1.336.304 1.837 1.045zm-1.689-2.211c-.378.512-.767.366-1.164-.087.379-.51.77-.363 1.164.091zm-5.48-.8c.9-.565 1.4.4 1.508 1.061.073.417-.771-.587-1.508-1.056zm-.211-2.8c.933-.367 1.884.257 2.839 1.307-.236.617-1.288.369-.976 1.056-.74-.771-.797-1.058-1.863-2.362zm2.684 2.144a3.157 3.157 0 0 0 1.2 2.407c-1.392.853-2.036-2.143-1.2-2.406zm2.376 3.491a1.822 1.822 0 0 1-1.334-.575c.473-.801 1.329.068 1.334.576zm127.722-28.909c-.582-.575-1.41-2.157-2.516-1.989-.569-1.851-2.13-1.434-3.365-3.426-.534.587.309 1.085.025 1.656 2.411-.137 3.738 3.225 5.856 3.759zm-6.387-5.878c-.668-.483-1.344-1.154-2-.863.711.339 1.036 2.1 1.182 1.413-.465-.806.379-.506.818-.55zm-69.184 64.513c-.3-.256-1.414-.307-1.155.239.135-.109.273-.055.412.053l.549-.106a1.393 1.393 0 0 1 .194-.186zm65.932-71.096c.934-1.114-2.6-1.92-2.679-1.812.773.031 1.571 1.563 2.343 1.5-.1-.086-.06-.318.164-.177-.091.177-.048.34.172.489zm-2.203-3.001c-.921-.693-2.566-3.048-3.356-2.762 1.09 1.112 3.59 3.547 5.364 3.955-.707-.921-.883-.9-1.688-1.878.675-1.536-2.927-4.028-4.038-4.044 1.337 1.092 2.911 3 3.351 2.43.126.727 1.007 2.05.367 2.299zM1263.5 836a2.06 2.06 0 0 0 1.849 1.7c-.272.265-.556-.254-.825.221.514.987.988-.444 1.493.07-.24.444.187.807-.483.859.279.257.56.515.839.774.43-.528 1.071.166.651-.706-.73.417-1.094-1.583-1.355-1.9.224.153.45.468.668.288a1.248 1.248 0 0 1-.51-.8c-.436.329-.88.232-1.315.417-.184-.557-.27-1.184-1.012-.923zm67.605-70.207c.617.582 1.215-.106 1.824.047-.492-.4-.328-.8.152-.838-.28-.2-.563-.635-.837-.442a3.842 3.842 0 0 1 .185 1.147c-.44.052-.895-.807-1.324.086zm-1.996-.531c-.347-.337-.784-1.565-1.508-1.061.719.008.647 1.199 1.508 1.061zm-68.278 69.257c.223.208.449.413.673.621.385-.462.189-.85.817-.553-.246.348-.082.669.349.971.387-1.164-.941-1.272-1.363-2.23-.507.615.886 1.427-.476 1.191zm-1.878-3.356c-1.136.2-.174 1.36.034 1.986.272-.214.551-.043.823-.219-.006-.539-.848-.489-1.344-1.239.214-.365.668-.224.487-.528zm26.036-28.88c1.121.551-1.079-1.331-1.5-.729.511.846.995.231 1.5.729zm-2.533-2.983c.507.419.857 1.7 1.682 1.547-.912-.392-.98-1.688-1.682-1.547zm-28.256 24.884c-.168-.155-.337-.309-.5-.465-.569.237-.4.5-1.151.572a15.3 15.3 0 0 1 2.683 2.144c.436-.415.019-.775.145-1.169-.567.487-2.275-.614-1.839-1.371.223.153.448.47.662.289zm-6.23 3.721c-.418-.861-1.035-1.834-2.016-1.855 1.14.561 1.246 1.567 2.016 1.855zm-9.824 6.94c.6-.577 1.214.052 1.817-.286-.871-.33.124-.781-.515-1.125.219 1.402-1.226.388-1.302 1.411zm9.278-10.051c.875-.689-1.507-2.889-1.35-1.57l.325-.352c.256.645 1.02 1.257 1.025 1.922zm-9.205 4.245c.271-.188.549-.114.82-.549-.534-.407-.274-.866-.354-1.3-.191.267-1.182-.433-.825.22 1.185.129.064 1.175.359 1.629zm4.771-12.239q-.88.72.021 1.324c.224.2.438-.167.661-.045.43.646-.536 1.264.521 1.46a1.192 1.192 0 0 1-.657.375c.3.521.445 2.092 1.35 1.567-.516-.518-1.448-1.01-.688-1.611.436.365.825.147.841.773.442-.781.349-1.53 1.307-1.08-.187-.485-.331-.972-.518-1.458-.842.386.471.632.012.994-.634-.1-.651.194-.98.725a1.438 1.438 0 0 0-.678-.949l.488-.529c-1.134-.616-1.092-.459-1.68-1.546zm-5.612 11.467c.535-.6-.632-1.936-.694-1.944a.655.655 0 0 1-.153.84c.696.251.617.477.847 1.104z\",\n fill: \"#fcae1d\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1242.344 817.834c-.48-.656.3-2.6-1.188-1.746.282.359.555.07.83.112-.204.466-.731 1.8.358 1.634zM1306 729c-.475-.637-1.189-2.122-2.022-2.188.646.623 1.529 2.098 2.022 2.188zm-40.925 39.957c.222.3-.244.238-.5-.134-.216.366-.669.224-.489.529.7-.432.151.5.342.641 1.372.26 1.653-.36.647-1.036zm-7.546-5.968c.395.641.778.432 1.165.42-.092.1-.048.325.167.155a.828.828 0 0 0-1.332-.575zm37.552-43.718c.5.725.678 1.688 1.682 1.547-.831-.399-1.183-1.675-1.682-1.547zm-15.676-17.034c-.815.639-1.165-.509-1.654.108a5.883 5.883 0 0 0 2 .534c-.094-.105-.174-.213-.005-.332l-.341-.31zm-10.921-9.723c.729.058.494-1.242 1.311-.749.493 1.606 3.322 2.085 2.875 3.621-1.026-.089-1.853-2.813-3.509-1.924.95.89 2.5 1.548 2.533 2.983.33-.029.661-.051.992-.064.333.877-.439.194-.32.682.73-.161 1.287 1.88 1.165.422a7.525 7.525 0 0 0 3.71 4.063c-1.108-1.064-.8-1.572-1.2-2.4 1.607.553 1.073 2.414 2.524 2.32-.222-.287.239-.494.488-.529-.443-.414-1.083-.812-.686-1.281.492-.155 1 1.7 1.84 1.04-4.451-3.66-7.62-6.913-11.767-10.829.025.5.567.959.521 1.457-.17-.081-.339-.3-.5-.133.092.159.325.311.173.488-.466-.734-1.772-1.235-1.666-.553.822-.328 1.192.772 1.516 1.386zm7.389 6.474c-.473.609-1.327-.036-1.333-.575.441-.165.887.093 1.333.575zm-5.485 8.975c.388.172.791 1.122 1.172.753-.446-.267-.41-1.384-.847-1.105.169.224-.077.289-.325.352zm-6.663-12.653c-.833-.418-1.679-1.476-2.509-1.659.269 1.163 1.727 1.457 2.509 1.659zm-.199-2.143c-.967 1.052-1.082-.105-1.5-.73-1.092.9.633 1.118 1.019 1.591.212-.29.655-.593.481-.861zm-4.489-11.303c.245.873.611 1.861 1.688 1.878-.095-.161-.061-.327.156-.507-.929-.285-1.103-1.371-1.844-1.371zm-6.565 3.743c.86.493.862.992 1.836.708-.356-.252-.191-.539-.511-.793-.336.788-1.532-.531-1.325.085zm-5.91-7.069c1.473.016 2.316 1.86 3.511 1.925-1.094-.739-2.099-2.455-3.511-1.925zm2.302-1.145c-.725.693.858.511 1.159.09-.01-.435-.41-.808-.832-.442.184.209.347.42.007.663zm-5.644-11.062c.529.45.471 1.788 1.344 1.238-.784-.297-.808-1.475-1.344-1.238zm2.723 159.055c-.562-.294.011-.665-.017-.992-.611-.272-1.242-1.815-1.837-1.041.574.626 1.53 1.226.693 1.942.393.419.773-.017 1.161.091z\",\n fill: \"#fcae1d\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1208.07 818.489a5 5 0 0 1-4.914-4.11l-39.847-220.208a5 5 0 1 1 9.84-1.781L1213 812.6a5 5 0 0 1-4.03 5.811 5.067 5.067 0 0 1-.9.078zm-501.048 300.353a4.993 4.993 0 0 1-2.009-.423c-11.715-5.147-20.562-16.25-25.583-32.106-4.476-14.137-4.717-28.112-3.449-36.477a5 5 0 1 1 9.886 1.5c-2.291 15.124 2.262 48.745 23.169 57.93a5 5 0 0 1-2.014 9.579zm269.078-69.779a5 5 0 0 1-5-4.869l-13.435-513.653a5 5 0 0 1 10-.261l13.435 513.652a5 5 0 0 1-4.867 5.129zm179.6 21.052a5 5 0 0 1-3.579-8.492c15.617-16.01 17.541-46.138 9.5-63.164a5 5 0 1 1 9.043-4.27c9.641 20.417 7.367 55.191-11.385 74.417a4.989 4.989 0 0 1-3.579 1.509z\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1416.316 703.384 367.043 47.201-577.565 200.347-342.391-78.261z\",\n fill: \"#91a0e2\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1296.009 970.077 275.3-157.394-358.472 27.119z\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m826.213 506.419 34.227-127.574 82.234 49.785zm154.165-76.455 41.863-31.116 20.003 101.348z\",\n fill: \"#fdc93a\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1086.837 825.193 165.913-51.421 61.044 15.943-163.664 50.502z\",\n fill: \"#d2e23d\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1181.853 802.6a22.713 22.713 0 0 1-37.25 1.23l-39.56-52.95a30.021 30.021 0 0 0-12.52-9.74c-12.25-5.1-35.64-14.67-42.47-16.38-1.87 10.19-4.17 19.48-6.53 30.36-3.84 17.77-17.73 34.99-53.73 21.29-7.63 7.44-22.69 13.31-44.61 2.35-9 9.98-31.11 8.02-49.3.78-27.94 9.88-69.71 13.23-105.37 8.07-14.29-2.06-27.59-5.49-38.63-10.41-26.61-46.96-22.7-85.31-22.7-85.31 7.04-2.22 14.96-4.7 23.53-7.38 40.13-12.54 94.37-29.47 137.92-44.96a96.675 96.675 0 0 1 38.1-5.52c56.02 3.35 115.32 16 174.61 50.21a126.562 126.562 0 0 1 40.51 37.05 1814.61 1814.61 0 0 1 27.22 39.99c4.11 6.24 7.74 11.84 10.86 16.7a22.658 22.658 0 0 1-.08 24.62z\",\n fill: \"#e59673\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1011.935 1137.945v-57.53l-98.016 10.957v57.53z\",\n fill: \"#fff\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1070.2 623.588a21.262 21.262 0 0 1-5.07 13.8c-9.33 11.03-20.39 22.44-27.2 26.89-37.77-6.66-85.67-27.6-85.67-27.6 21.83-3.55 49.11-14.44 70.73-24.51 5.81-2.7 11.21-5.34 15.99-7.77a21.476 21.476 0 0 1 31.22 19.19z\",\n fill: \"#e59673\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 890.722,\n cy: 763.945,\n fill: \"#e26847\",\n rx: 11.463,\n ry: 22.685,\n transform: \"matrix(.31976973 -.94749529 .94749529 .31976973 -117.94 1363.611)\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M863.008 765.5a4.988 4.988 0 0 1-2.168-.5c-10.717-5.165-15.675-15.685-12.338-26.177 3.8-11.948 18.6-23 42.11-19.045l32.458 5.025a5 5 0 0 1-1.531 9.882l-32.523-5.036c-17.692-2.978-28.451 4.241-30.984 12.205-1.847 5.8.826 11.09 7.15 14.137a5 5 0 0 1-2.174 9.506z\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M945.181 783.76a5 5 0 0 1-4.45-7.272c4-7.855 9.74-22.281 16.589-41.718a30.285 30.285 0 0 0-17.166-38.126 155.33 155.33 0 0 0-40.547-10.744 5 5 0 1 1 1.157-9.933 165.291 165.291 0 0 1 43.169 11.42 40.274 40.274 0 0 1 22.818 50.707c-7.092 20.131-12.849 34.577-17.111 42.936a5 5 0 0 1-4.459 2.73z\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M989.79 781.412a5 5 0 0 1-4.52-7.13c9.327-19.821 17.8-49.544 21.339-68.661a19.732 19.732 0 0 0-11.95-21.711 273.06 273.06 0 0 0-53.506-15.668 5 5 0 1 1 1.8-9.836 283.272 283.272 0 0 1 55.5 16.252 29.773 29.773 0 0 1 17.987 32.786c-4.337 23.4-13.435 52.633-22.123 71.1a5 5 0 0 1-4.527 2.868z\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1050.061 729.759a5 5 0 0 1-4.95-5.748l4.595-30.378a21.137 21.137 0 0 0-10.339-21.392c-10.432-5.955-27.887-14.137-51.8-19.29a5 5 0 1 1 2.106-9.776c25.162 5.423 43.609 14.077 54.653 20.382a31.2 31.2 0 0 1 15.268 31.572l-4.6 30.377a5 5 0 0 1-4.933 4.253z\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1048.993 632.368c-11.44 5.11-23.77 2.38-27.55-6.09-1.97-4.41-1.23-9.51 1.55-14.11 5.81-2.7 11.21-5.34 15.99-7.77a21.538 21.538 0 0 1 23.54 2.68c.13.24.24.48.35.72 3.78 8.46-2.43 19.47-13.88 24.57z\",\n fill: \"#e26847\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M966.807 1397.931c.36 5.8.089 17.346 1.786 21.96-.853-7.249.251-17.176-1.786-21.96zm8.815 122.326c-.026-1.923-.239-3.142-.861-2.863.047.979.1 1.959.142 2.933zm5.878 37.071c.05-1.613.349-4.805-.488-5.118.174 2.181-.449 4.531.488 5.118zm-9.459-31.578c-.7.264-1.556-1.92-1.638.885.371.972 1.737 1.248 1.638-.885zM966.1 1368.5c-.283.977-.2 4.428.452 4.381-.087-1.208.548-4.738-.452-4.381zm-8.508 909.159a17.8 17.8 0 0 0-.663 4.379c.435.189.607-.8 1.029-.677.249-2.1.418-3.992-.366-3.702zm14.992-735.738a5.18 5.18 0 0 0-.261 4.446 12.094 12.094 0 0 0 .261-4.446zm56.456 78.909c0 2.317.442 2.974.9 3.607.322-1.194-.285-3.365-.9-3.607z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M977.788 1634.343c.857-.77.335-5.121 1.427-5.285a158.543 158.543 0 0 0 2.38 29.276c-.216-4.805-.162-7.921.256-9.615.327 4.919-.14 7.771.127 12.522.905 1.066.023-2.5.608-2.262-.043 2.481.531 2.647 1.1 2.849.386-.71.765-1.442.538-3.738-1.514-.871-.782-9.267-1.251-10.944a32.709 32.709 0 0 1 .833 7.3c2.589-8.686-.829-23.439-.776-30.9a5.176 5.176 0 0 0 .311 1.448c-.225-5.193-.255-8.7-1.147-8.74.44.557-.235 3.606-.226 5.184-.247-5.2-.839-4.568-1.217-10.216.815-5.4.911-19.007-1.1-22.757.223-3.063.025-11.837-1.227-15.37.877-5.109-1.8-14.853-.481-19.862-.008-1.7-.73-.752-.825-2.143.849-.822-.337-5.26-.594-7.315.479-.248.382-2 .572-3-1.388-3.718-.231-9.246-1.668-14.6-.108 1.651.055 4-.5 4.47-.511-6.371-2.427-6.07-3.636-10.747l-.009.021v-.072c-.108-.42-.211-.867-.306-1.376.149-2.186.094-4.889.4-6.669.317 3.583-.394 4.5-.09 8.045l.014.051c1-2.046.042-7.363.759-8.9.142 1.488.716 1.382.861 2.867-.169 1.282-.722 1.558-.814 3.029.579.441.914 1.8 1.339 2.828-.186.8-.871.306-.611 2.265.591-.134.67-1.442 1.194-.112-.306-3.765-.4-1.9.337-2.972-.311-3.291.35-6.332-.427-8.812.482.176.427-1.037.646-1.54-.017-6.4-1.465-13.86-2.061-22.665-.727-10.74.282-24.937-2.521-32.215.272-1.736-.236-3.154.061-3.688.567.482.024 5.1.93 4.34.174-4.6-.959-8.077-1.322-12.414-.658-7.881.245-16.895-1.786-21.958.458 7.036.23 13.514 1.475 20.51l-.718.061c.445 9.956.884 20.51.266 30.209 1.011 1.277.43 3.978.008 5.163.534.618.285 4.131.929 4.337.028-.57-.061-1.447.168-1.492.3 1.352-.595 2.522.143 2.936a9.992 9.992 0 0 1 .372-2.24c.355 2.454-.889 4.032-.228 5.176.019-.8.309-1.8.441-.773-.761 3.475.605 8.428-.014 9.586.425 2.67 1.354-1.909 1.707.585-.508 1.12-.367 1.584-1.159.84.032.845.036 1.657.029 2.459l.115.475a.473.473 0 0 1-.124.061c-.069 4.131-.5 7.932-.193 13.244-1.468-4.678-.687-10.388-.677-13.951.307.182.478.85.87.707 0-.179.007-.357.009-.536-.605-2.515-1.152-5.171-2.252-3.733.645 2.681.349 1.332-.064 3.69 1.88 6.3-.407 18.41 2 26.365a3.306 3.306 0 0 1 .372-2.25c.033 4.867 1.575 2.569 2.508 7.148-.65.123-.541-1.18-.958.089a35.758 35.758 0 0 1 .009 5.155c.425 1.6.543-.969.755.674-.29.395-1.006 2.857-1.126 1.575-.1-1.947-.073-4.337-.689-4.361-.3 2.224-.354 5.077-.6 7.425.781-2.168 1.582-.442 2.154-.2-.159 3.576-.717 3.888.116 7.366-.52-1.33-.605-.024-1.193.111.4 1.15 1.047 1.874 1.5 1.336.066 2.314-.85 2.079-.469 5.205.442.379 1.364-1.011 1.472.6a2.046 2.046 0 0 1-2.188-.531c-.136 3.679.886 3.057 1 5.806-.307-.136-.544-1.1-.441.774.037 2.3.6-1.928.752.674-.281 3.706-1.041 8.3.3 11.027-.617.326-.775 1.842-.5 4.471.661-.9.866-.512 1.266 1.363-.689 3.437.215 19.21.829 22.045.181 1.746-1.107-.311-.611 2.265.66 3.6 2.162 8.665 1.25 10.945-.051-1.824-.127-3.569-.654-3.624-.022 2.965.432 4.166.559 6.586.772-1.052 1.75 1.48 1.1 2.844-.075-1.156-.088-2.547-.583-2.157l-.479.047c-.24 5.325 1.483 10.478 1.348 18.305zm2.739 1.962c-.4-1.138.02-6.6-.667-8.784.94.103.822 7.37.667 8.784zm-5.942-68.019-.719.061a13.506 13.506 0 0 1 .061-3.691c.335 1.159 1.053 2.236.658 3.63zm1.984-18.616c.316 2.327-.27 2.3-.3 3.712-.85-.118.274-3.286-.381-2.917-.005-.865.402-.658.681-.795zm-1.333 36.986c.652 1.04 1.4 1.742 1.446 5.032a13.455 13.455 0 0 1-1.446-5.032zm4.039 38.7c-.587-.349-1.131-2.744-.691-4.355.276.113.169.723.034.734a6.408 6.408 0 0 1 .657 3.623zm-.5-44.921c-.637-1.4-.723-4.824-.87-8.033.27-.641.746 5.298.874 8.035zm-1.715 14.162c-.37-3.833.24-4.584 1.16-.846.062.751-.96 1.58-.134 2.227-.049 1.1-.318-.262-.718.064.038-1.415-.289-2.635-.304-1.442zm.344 2.182c.5.158.358 2.716.861 2.867.074.626-.06.7-.2.758-.21-.117-.212.308-.2.756a7.293 7.293 0 0 1-.457-4.379zm47.838 355.848c-.109-1.83.661-5.7-.156-5.89.243 2.351-.851 4.863.156 5.89z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M972.256 1530.153c-.079-.859-.062-2.09-.348-2.182-.238 1.094-.9 1.075-.811 3.029.59.244.451-1.391 1.159-.847zm.067 16.217.001-.001-.001-.002zm12.305 124.962a11.031 11.031 0 0 0 .381 2.91c.206 8.625.816-2.948-.381-2.91zm43.51-93.924c.437-1.612-.106-4-.694-4.359-.344 1.273.299 3.287.694 4.359zm1.356 47.805a13.073 13.073 0 0 0-.1 2.959c1.444-.152.255 5.857 1.553 7.231-.309-3.824-.27-8.49-.771-10.992.324 3.295-.397 2.009-.682.802zm.397-6.674c.229-.953.2-5.826-.322-6.6a34.6 34.6 0 0 1-.5 4.464c.792-1.219.26 2.48.822 2.136zm-2.457-50.65c-.385-2.282.29-1.821.337-2.978-.5-.17-.566-1.945-1.065-2.115.142 2.071.039 5.054.728 5.093zm.626 22.802c.077-1.075-.464-3.77.061-3.691.181 1.052-.1 3.818.417 3.647a12.024 12.024 0 0 0-.763-5.829c-.054 2.565-.538 3.948.285 5.873zm-.36 341.486c.61.254.765-1.5 1-2.892l-.719-.037zm3.539-305.648c1.322-1.859-.065-8.085-.462-9.544.144 3.039.945 6.915.462 9.544zm.248 39.792c.918-1.147 1.35 1.349 2.151-.195-.218-2.368.009-6.376-.8-6.562-.618 1.648.77 4.516-.226 5.182-1.041-8.75-1.063-16.335-1.786-21.955-.619 8.384.348 14.536.661 23.53zm-4.2-86.621c.143-3.64-.46-6.326-.7-9.519.048 2.503-.332 8.464.7 9.519zm3.097 29.211c.522 3.121-.179 5.708.836 7.295-.604-1.36.38-6.706-.836-7.295zm-3.521 307.036c-.517 7.554-2.432 21.963-1.139 24.205.007-5.23 1.753-18.598 1.139-24.205zM983.1 2098.881c.135-.873.31-.435.478.034l.353-3.656c-.525-.24-.914.123-1.1 1.4.401.041-.058 2.041.269 2.222zm15.156-66.827c-.123.848-.456.772-.788.7-1.274 15.07-4.044 25.056-2.684 35.146.29-1.5.169-4.817.737-5.1.468-.138.45.846.889.782.057-1.289 1.029-3.611.425-4.387-.052 1.611-1.109 3.993-1.173 2.141.89-8.195 2.853-21.023 2.594-29.282zm6.786 44.493c-1.572 5.9-1.01 10.972-2.378 14.573.857 3.136 2.436-9.138 2.378-14.573zm-2.394 19.721c-.312 7.775-2.468 16.081-1.094 21.266.307-8.579 2.007-19.294 1.857-24.167-.179 1.298-.111 3.674-.763 2.901zm3.073 15.606c-.141 2.222-.819 5.676-.091 5.883.324-1.356.664-2.665.908-4.362.089-.965-.357-.693-.34-1.491a322.97 322.97 0 0 0 3.961-38.764l-.207-.012.354-3.656a374.721 374.721 0 0 1-.147 3.668l.754.044c.464-8.37 2.489-14.81 2.2-22.678-1.737 2.793-1.851 12.714-2.969 18.222-.892-1.63 1.559-9.906 1.033-13.176-.5 4.151-.781.142-1.749.639-.712 2.026-1.54 7.172-.921 9.514.239-1.383.1-4.432.832-3.639a55.419 55.419 0 0 0-.369 8.809c-.592-.127-.614-1.44-1.03.683.6 1.059-.669 2.492-.664 4.369.383.46 1.2-2.084 1.2.068a20.647 20.647 0 0 0-1.762 5.785c.308 10.866-1.569 23.595-1.777 30.788.116-.846.447-.768.784-.694zM983.6 1669.945c-.194-3.613-.184-7.982-1.347-7.988.084 2.804.11 7.563 1.347 7.988zm19.658 385.172c.552-1.224.2-2.877-.438-2.96-.032 1.403-.22 3.158.438 2.96zm2.784 18.538c.972-.261.785-5.589 1.6-6.534-.513-.522-.409-2.462-.917-2.986-.888 3.722.332 6.359-.683 9.52zm-7.082 73.145a11.064 11.064 0 0 0-.043 2.939c.628.914 1.329-3.024.834-3.628-.122.856-.451.78-.791.689zm5.401-28.379c-.383 1.085-1.139 3.032-.353 3.656.18-.432.892-3.432.353-3.656zm-2.27-41.303c.361-7.99.125-9.024 1.052-18.321.241.007.229.6.407.758.12-4.389-.912-3.875-1.849-.842-.137 4.258-2.376 21.202.39 18.405zm7.349-26.072c-.82.38-1.068-.56-1.609-.826-.043 4.484-1.395 8.492-.582 11 .917-4.426 1.619-6.135 2.191-10.174zm-5.228 48.986c-.883 1-2.545 14.291-.991 10.234-.552 4.376-.473 5.388-1.16 9.5.428.335.23 2.113 1.058 1.533-.738-4.913 1.431-14.27 1.093-21.267zm-2.433 22.659c-.372 3.245-1.033 5.2-2.007 5.772.308-1.862.566-2.539.114-3.668a10.839 10.839 0 0 1-1 2.883c.145 3.932.532 5.926-.341 11.016 1.91-2 1.761-8.012 3.024-13.809.475.036.11 2.017.818 1.517.338-2.49.327-4.168-.608-3.711zm3.095-46.891c.175-.451 1.187-2.152.521-2.911-.314 2.565-.717-1.883-1.031.677.444.108-.064 2.434.51 2.234zM987.6 2229.284c.368.086-.883 4.342.365 3.7.345-1.998.256-5.828-.365-3.7zm1.294-30.814c-.419.92-.841 4.358-.187 4.4-.007-1.294.706-4.281.187-4.4zm19.052-864.005c0 1.12-.4 4.813.524 5.851.268-1.108.207-5.859-.524-5.851z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M984.643 2087.942c.612 1.505-1.459 7.1-.3 8.068.3-2.555 1.793-7.26.852-8.775-.188 1.365-.354-.435-.552.707zm8.271 118.838c0-1.527.758-4.793.253-5.138-.091 2.804-1.591 4.758-.253 5.138zm-8.88-110.05c-.577 4.066-1.244 7.726-2.868 7.2-.317 2.938.43 1.969 1.06 1.525-.488 1.1-.268 7.545-1.161 9.5-.252-2.244.853-5.937.085-5.878.128-1.321-.788 1.237-1.1 1.409.228 1.743.744 5.259-.735 5.108.711-1.707.073-3.5.016-5.145a111.2 111.2 0 0 0-1.7 17.557c.238-1.7.815-1.666.722.038-.16 1.376-.844.467-.933 2.16.293 1.376.732-.286 1.27-.671a19.71 19.71 0 0 0 .018-5.144c1.2-1.032.82-5.629 1.425-7.28-.453 6.591-.927 10.072-1.8 16.08.44.123.757.528.82 1.514-.855 1.7-.163 4.157-.807 5.84.413.079.761-.12 1.029-.676-.367 3.125.336 3.767.705 5.182.106-.56.285-.836.551-.7l.353-3.662c-.188-1.637-.673.894-.649-.772.19-1.373-.113-1.626.045-2.933l.959.049c.2-2.541-.578-2.824-.466-5.169.474-.145.451.852.89.782 1.595-10.72 1.561-27.258 3.161-35.128-.424.031-.732-.204-.89-.786zm.586-465.222c.881-1.238.587 1.864 1.065 2.119-.721-6.48-.883-9.422-2.184-15.287.299 4.693.999 7.83 1.119 13.168zm9.695 443.717c-.43-1.923 1.38-6.911-.32-6.634-.281 4.517-.083 2.066-.664 4.375.521 2.669.087 3.9-.443 9.539.624.876 1.231-3.464 1.343-1.4-.578 1.27.107 2.29-.765 2.9-.084-.513-.82-1.171-1.44-.075.412 2.634-.653 10.083.164 13.239.34-1.974.258-5.824.879-6.572.394.034-.061 2.038.267 2.221.11-.56.146-1.44.382-1.452-.121 2.741-1.307 3.51-.975 5.1 2.727-10 2.073-21.6 3.214-30.7-1.616-.107-.393 7.068-1.642 9.459zm14.685-59.499c.02-1.76.814-5.292.324-5.865-.365 3.005-1.366 4.472-.324 5.865zm3.027 18.55c-.045 2.93-.928 2.161-.974 5.089.438.19.609-.8 1.028-.676-.092-1.296.274-3.658-.054-4.413z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1008.342 2039.956c.512.334-.424 4.006.368 3.693.259-1.3.416-3.024.832-3.628-1.131 8.467-.479 12.628 1.761 6.717-1.065.692-1.251.534-1.536-1.56.692.122 1.4-4.222.664-4.372-.378.429-.311 2.812-.763 2.9 1.153-9.021 1.749-16.885 3.2-25.564-.783-4.973 2.331-18.022.923-22.008a9.989 9.989 0 0 0-1.525 5.8c.648-.174 1 .325.747 2.247-.22-.624-.549-.994-1.129-.795a32.184 32.184 0 0 1-.609 8.789c.9 1.183.4-3.777 1.071-3.619-.17 5.629-.775 5.086-1.469 10.216.207 2.246.936-1.954.96.049-1.093 1.356-.448 4.146-1.456 5.071-.63 7.734-.565 8.27-1.01 15.391-.366.096-.858-.314-1.029.673zm26.008-359.151c-.254-1.653.156-5.766-.728-5.093.367 3.175-.008 4.078.728 5.093zm-28.669 344.295c-.365 1.856-.678 3.346-.185 4.406-.135-2.198 1.273-4.412.185-4.406zm35.335-291.076c.407 3.023 0 4.053.527 5.85.269-1.101.204-5.868-.527-5.85zm-1.199-143.67c.9-.943.528-7.231-.186-8.829-.373 1.813.136 5.916.186 8.829zm-15.433-204.305c-.116.46-.391 3.537.179 3.674.223-1.129.69-3.17-.179-3.674zm8.062 121.668-1.037-6.542c.045.969-.386.706-.408 1.5.451.639.641 2.254.69 4.365.328-.059.544.3.755.677zm.225 64.118c-.934-1.091-.845 5.689.011 5.16.411-1.012-.433-3.232-.011-5.16zm9.497 156.187c.026 4.226-.563.4-.992-.645.643 4.157.659 5.569 1.586 7.959-.262-2.659.484-6.397-.594-7.314zm-4.052-133.085c.026 1.926.242 3.15.865 2.872-.029-1.933-.244-3.154-.865-2.872zm.055-8.852c-.069 2.817-.123 5.535.8 6.564-.142-2.665-.148-5.808-.8-6.564zm2.412 10.098a15.044 15.044 0 0 0-.693-4.359c-.314 1.151-.184 5.076.693 4.359zm-.223 10.343c-.185 2.259-.86-.717-1.434.125.1 4.555.454 8.144 1.422 9.467-.024-5.382.111-6.154.012-9.592zm-.786-1.397c.825 1.33 2.2-6.878.565-8.167a26.456 26.456 0 0 1-.565 8.167zm4.406 140.423a7.874 7.874 0 0 0 .657 3.623c.311-1.085.046-3.845-.657-3.623zm-6.296-199.242c-.222 3.751 1.533 4.645 1.036 6.541-.241.112-.638-3.125-.754-.668.732.561-.028 2.378.179 3.671l.958-.086c.78-3.926-.511-7.082-1.419-9.458zm-65.326 678.465c-.136.892-.31.441-.48-.022a13.157 13.157 0 0 0-.523 2.917l.672.036.044-.172c-.08-1.579.868-2.551.287-2.759zm77.727-446.545c-.427 2.265-1.008 3.108-.494 5.12.426-2.271 1.009-3.117.494-5.12zm-61.566-263.811c.043.666.083 1.248.118 1.7-.043-.906-.081-1.429-.118-1.7zm46.027 344.592c0-2.956 1.155-5.324.329-5.871a56.112 56.112 0 0 0-1.36 6.548c.438.189.609-.788 1.031-.677zm11.419-78.069a18.467 18.467 0 0 0 .3-2.317l.163-3.1c.126-2.8.238-5.771.475-8.984a131.865 131.865 0 0 1-.172-3.776 68.42 68.42 0 0 1 .006 3.771c-.544 3.537-1.178 7.126-.66 8.4-.226-.262-.407-.052-.56.435a7.966 7.966 0 0 0-.213.916l-.168 1.01a13.627 13.627 0 0 1-.543 2.831c.787-.484.585 1.305 1.372.814zm2.154 12.615c.186-.9.451-1.475.86-1.413a23.521 23.521 0 0 1 .735-5.114c-.731-.8-.592 2.261-.832 3.637-.368-1.306-.522.512-.89-.788-.212 1.821-.392 3.55.127 3.678zm-1.432-61.522c-.464 1.636.321 2.482.25 5.132 1.068.768.735-6.091-.25-5.132zm1.354-6.764c-1.023.559-1.025 3.762-1.665 5.31 1.397.419 1.537-2.437 1.665-5.31z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1046.6 1765.225c-.137-2.772-.268-3.961-.326-5.08-.034-.559-.061-1.1-.082-1.816l-.029-1.224c0-.233-.009-.483-.013-.753l-.006-.408v-.273a.57.57 0 0 0-.352.459 6.2 6.2 0 0 0-.112 1.165c-.017.894.059 1.973.121 2.918.122 1.894.24 3.239-.574 1.467.027 4.582 1.054 5.626 1.373 3.545zm-9.949-61.768c.6.033.818 1.329.922-.824-.194-.148-.472.02-.514-.691.554-.257-.154-2.735-.382-2.917.282 2.233-.309 2.199-.026 4.432zm2.421-163.171-.716.068c.094 1.091.045 2.713.381 2.917.046-1.164.723-.697.335-2.985zm-10.588 383.842-.722-.038c-.183 1.941-.551 4.3.055 4.41a17.9 17.9 0 0 0 .667-4.372zm8.787-217.782c-.007.892-.243.477-.478.041 0 2.314.446 2.972.9 3.611-.186-1.058.093-3.819-.422-3.652zm1.054 160.954c1.528-5.4.957-8.158.1-11.023 1.125-2.657 1.8-8.523.825-10.985-.757 2.827-.849 7.79-1.828 13.872 1.778 1.145.401 6.214.903 8.136zm-3.712 35.832c.564 1.38.638 1.228 1.611.822.264-3.036-1.01-1.901-1.611-.822zm2.805-476.239c-.272.1-.354.207-.335.339a.776.776 0 0 1 .335-.339zm-1.659 471.885c-.1.967-.484.651-.62 1.443.274.172.068.818-.146 1.464.453.239.573-.964.864-1.421-.053 1.119.385.124.551-.707-.33.006-.493-.375-.649-.779zm-1.434-213.547c-.233-1.729-.486-3.385-1.134-3.584l.142 2.939c.415-.086.751.093.992.645zm-2.854 247.877c-.123.86-.457.777-.791.7-.065 1.1-.349 2.7-.044 2.942.069-2.374 1.617-.31.763-2.9.132.004.33-.583.072-.742zm8.534-65.715c.159-2.007.321-3.771.691-2.163-.014-1.294.707-4.281.186-4.41-.302 2.095-1.759 5.638-.877 6.573zm.523-138.486c-.644-2.139.13-4.526-.728-5.1.257 1.66-.151 5.773.728 5.1zm1.414-119.576c-.288-2.747-.324-6.943-.525-5.848-.332 1.724-.541 5.05.525 5.848zm-1.361 227.207c-.959-1.294.268-4.121-.393-5.9-.959 4.628-.886 9.9-1.587 13.889l1.2.062c-.412-2.929.25-4.311.78-8.051zm-3.653 27.748c.1 1.285-.384 3.924.367 3.693l.354-3.652zm2.095 20.701c-.494.681-1.858 2.856-1.554 3.6.369-2.184.445.724.96.05.122-.863.161-2.077.452-2.185-.064 1.1-.347 2.7-.042 2.948.671-2.58.014-1.812.184-4.413zm-3.032-38.395c-.124.847-.457.771-.79.683-.213 2.383-.076 3.961.532 4.45.426-.973.954-5.086.258-5.133zm.522-428.464a13.034 13.034 0 0 0-.416-3.646c-.277.138-.686-.066-.683.8.955-1.237.144 4.079 1.099 2.846z\"\n }))), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M967.8 1289.461c-.448-11.021-.088-20.984-1.257-30.852 1.203 10.084-1.727 20.716 1.257 30.852zm39.827-30.911c1.1.276.6-3.912-.177-3.668l.177 3.668zm10.61 5.67c.193-.637.286-4.724-.251-5.138.291 1.897-.525 4.088.251 5.138zm-9.144 9.68a16.915 16.915 0 0 0-.727-5.093c.255 1.65-.151 5.763.727 5.093zm2.785 7.863c1.013 1.172.116-7.094-.177-3.674.73.561-.224 1.872.177 3.674zm.071 1.458c.042 3.258.507 3.624.286 5.873.886.422.302-6.246-.286-5.873zm-43.389 12.068c-.946.041-.425-5.358-1.448-5.027.464 1.872-.088 6.348.666 8.784.622-.308.715-2.003.782-3.757zm9.826 9.422.48-.039c.035.447.078.862.272.713-.1-1.714-.186-7.877-.725-5.094.518.379-.213 2.799-.027 4.42zm.677 13.951c.01-3.21-.627-4.02-1.206-5.049.243 2.276.88 3.093 1.206 5.049zm22.907 1.598a14.988 14.988 0 0 0-.691-4.359c-.335 1.224-.065 4.637.691 4.359zm13.088-2.66c-.316.019-.281-1.269-.549-1.426-.23.759-.705 4.085.008 5.161.09-1.857-.081-2.33.541-3.735zm19.973 5.553c-.253-1.659.154-5.766-.727-5.1.141 2.077.041 5.052.727 5.1zM1011.8 1349.6a69.006 69.006 0 0 1-.121 7.382c.669-.442.63-6.032.121-7.382zm11.945 23.245a15.146 15.146 0 0 0 .691 4.359 6.285 6.285 0 0 0-.691-4.359zm-9.516 11.921c-.508-2.086-1.469-4.93-.594-7.321-.42-.012-.738.229-.921.824a40.422 40.422 0 0 1 .523 5.851c.415-.09.754.093.992.646zm3.607 9.991c-.056-2.075-.449-5.016.231-5.177.2 1.278-.08 4.339.454 4.381.7-4.952-1.359-9.909-1.943-15.3-.447 3.939.537 13.08 1.258 16.096zm.512 15.443c.881-1.26.234 3.157.856 2.866a27.14 27.14 0 0 1 .125-7.381l-.718.058a12.106 12.106 0 0 1-.263 4.457zm-39.898-.058c-.891.038-.529 3.333-.429 5.94.789-.298.508-3.382.429-5.94zm40.791 3.658c-.713.878-.614.4-1.231-.626a64.2 64.2 0 0 0 1.072 7.279c-.359-2.643 1.049-.719.814-3.032-.61-.113-1.096-2.068-.655-3.621zm3.9 1.125a17.749 17.749 0 0 1-.028 4.426c1.056.421.596-3.894.028-4.426zm-4.5 6.308a19.734 19.734 0 0 0 .76 5.829 12.015 12.015 0 0 0-.76-5.829zm-.886 1.553c.2 1.279-.08 4.344.451 4.382.338-1.931.428-3.582-.451-4.382zm6.373 7.525c.257 2.222 0 6.355.6 7.32.239-.639-.402-8.466-.6-7.32zm-7.169 5.819c.346 1.063.983 8.933 1.145 8.746.415-.476-.372-9.827-1.145-8.746zm19.88 8.513-.109-2.2c-.591-.244-.453 1.39-1.159.84.068 2.143 1.079 2.141 1.268 1.36zm-15.87 14.717.143 2.934c.768.274.587-1.906.816-3.018-.655-.01-.423 1.255-.959.084zm-1.139 11.162c.034-3.331-1.949-3.071-.994-.646.028-.576.16-.875.443-.779.069.895.158 1.735.551 1.425zm11.925-1.822c-.5 1.124-.549 9.784.7 9.519-.965-4.186.145-5.426-.7-9.519zm-12.215 10.7c.028-2.139.426 1.1.752.668-.284-2.431.436-1.228.683-.8-.424-1.605-.682-3.82-1.413-4.292.971 2.715-1.079 2.01-.022 4.424zm3.394 5.583c-.068-2.544.758-8.834-.5-10.276.812 4.12-.466 6.093.5 10.276zm9.801 13.854c.564 5.077 2.292 7.088 1.6 13.126.413-.089.752.09.992.652-.63-4.158-.032-7.5-.771-10.989-.125 1.227-1.2-1.259-1.138-3.584-.276.137-.686-.067-.683.795zm-9.763 6.788c-.519 1.909.63 4.158-.226 5.18 1.3 2.569.802-3.42.226-5.18zm13.897 9.054c.789 1.056.5-4.859-.176-3.669l.176 3.669zm-13.027-1.021c.116 3.162-.308 6.468.835 7.3-.377-1.542-.492-8.506-.835-7.3zm-1.475 14.142c.668-2.981 1.427-9.124.8-13.338-.025 5.138-1.52 10.138-.8 13.338zm12.314-13.654c-.052 1.852-.073 2.475-.228 5.183.351-.159.895.182.922-.825-1.344-.038.712-3.857-.694-4.358zm-8.054 7.366c-.181-1.051.1-3.818-.418-3.646-.077 1.716-.7 2.036-.776 3.752.71-.575.435-.552 1.194-.106zm1.473.601a8.03 8.03 0 0 0 .657 3.636c.666-.796-.024-2.936-.657-3.636zm-.414 16.266c.676-1.8-.268-6.759-.906-8.767.188 3.051.381 6.121-.122 7.381.828-1.323.474.118 1.028 1.386zm-51.419 15.003c.032-1.408.618-1.385.3-3.712-.279.137-.686-.066-.683.795.657-.365-.467 2.799.383 2.917zm51.088 7.883c1.7 2.321 1.159-12.414-.056-11.059.858 3.007.106 7.387.735 10.257-.274.137-.682-.063-.679.802zm-53.489 7.082.719-.061c.395-1.394-.323-2.471-.658-3.63a13.506 13.506 0 0 0-.061 3.691zm4.043 4.053c.147 3.209.233 6.636.87 8.033-.128-2.733-.604-8.672-.87-8.033zm-1.227 19.288c-.048-3.29-.794-3.992-1.446-5.032a13.455 13.455 0 0 0 1.446 5.032zm54.451-2.016c-.168 2.168-.151 4.376.487 5.115-.214-1.505.065-4.846-.487-5.115zm-53.068 10.734c.144-.057.278-.132.2-.758-.5-.151-.358-2.709-.861-2.867a7.293 7.293 0 0 0 .455 4.381c-.006-.448-.004-.873.206-.756zm1.795 27.115c.687 2.185.267 7.646.667 8.784.155-1.414.273-8.681-.667-8.784zm54.794 14.918c.266 1.617.332 3.967.934 4.336.002-2.605-.388-3.761-.934-4.336zm3.352 54.261c-.283-3.262.46-8.653-.463-9.547-.1 3.483.381 4.713-.4 6.669.888-1.262.241 3.167.863 2.878zm8.611 117.371a10.074 10.074 0 0 1-.695 2.172c-.37-.47.354-3.469-.125-3.686-.574 1.277.016 1.872-.424 4.388.727 1.018 1.827-1.539 1.244-2.874zm-16.754 150.571c.114-.89.242-1.725.622-1.434.11-3.253.513-6.309-.082-6.622.232 2.79-.784 6.275-.54 8.056zm-6.39 70.987c.085-1.71.06-3.171-.367-3.7-.18 1.937-.668 4.571.367 3.7zm-4.458 65.936c-.241 1.3-.223-.327-.406-.757-.282 5.413-.564 8.114-.726 12.463.751-3.55 1.495-8.471 1.132-11.706zm-2.796 6.473c-.438-1.638-.377-4.433-.871-5.932-.214 3.411-.431 5.156.871 5.932zm.829 8.862c-.57-.948-.1-4.313-.7-5.182-.123.859-.159 2.076-.452 2.178-.446-1.524 1.089-2.943.5-5.114-.586-.153-1.033.319-1.343 1.39a51.669 51.669 0 0 1 .083 6.622c.91-.586.6-.053 1.509-.648-.192 1.181.128 1.99.403.754zm.652.77c-.012 3.39-.582 5-.3 8.075 1.717-3.589.332-.159.286-2.929-.032-1.723.83-4.124.014-5.146zm-2.5 30.752c.149-2.444.675-8.715.3-8.068a37.21 37.21 0 0 0-.3 8.068zm-3.151 10.129c.151-1.824-.229-2.3.356-3.662-.894-.773-1.388 4.318-.356 3.662zm-4.616 7.833c-.038-2.488.471-3.109.185-4.4-.248.521-1.132 5.024-.185 4.4zm-26.081 10.351-.721-.037c-.3 2.967.125 4.252.083 6.622.223-2.274 1.029-4.734.638-6.585zm5.154 28.965c-.183.435-.9 3.441-.354 3.653.108-.566.284-.84.552-.7.226-1.671.208-2.761-.198-2.953zm.985 2.253c-.108.566-.283.843-.549.708-.224 2.226-.606 4.808.295 4.425-.086-2.468.503-3.863.254-5.133zm5.303 14.994c.962-1.086-.1 2.492.506 2.241a2.605 2.605 0 0 1 .619-1.44c-.213-3.161-.071-4.294-.321-6.635-.491 3.287-.274 3.649-.804 5.834zm-26.966 29.424c0 1.515-.881 5.063.055 4.414a41.348 41.348 0 0 1 .806-5.835c-2.109.128 1.256-6.377-.491-7.385.011 1.714.079 5.5-.974 5.1-.513-2.47 1.328-7.54-.012-7.349a60.353 60.353 0 0 1-1.373 11.684c1.399-3.136.793 2.037 1.989-.629z\",\n fill: \"#7083d9\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M994.116 2104.722a9.628 9.628 0 0 0-.066.641\",\n fill: \"none\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M988.892 2275.682c-.606 5.136-1.387 10.976-2.144 16.721l.472-.076c.525-7.817 2.339-16.707 2.931-24.663.587.144.853-1.109 1.339-1.4.274.882.106 2.783.366 3.693.788-2.793.066-10.684 1.969-15.335-.752-.462-.076-2.783.186-4.407-1.4-2.464-.246-13.469.5-17.62.436.189-.613 6.654.056 4.419.217-2.184.41-4.455 1.146-4.35.012 1.294-.709 4.281-.186 4.406.579-2.316.6-7.106 2.006-5.778.478-3.06-1.011.943-.746-2.246.2-.149.336-.6.38-1.453 1.194-.87 1.033 1.4 1.467 2.29.957-3.239-.012-3.488-.364-3.7.861-2.239.725 1.967 1.439.074a63.079 63.079 0 0 0 1.258-8.019 2.615 2.615 0 0 1-.62 1.437c.268-1.292-.409-3.075.353-3.658-.048.863-.244 2.079.027 2.209 1.051-4.044 1.112-10.733 2.473-13.1-.144-1.806-.849 1.278-.887-.782.07-4.216 1.2-3.743 1.6-6.535-.31-.416-1.322.791-1.127-.794.363-2.578.289-7.075 1.356-6.548.1.786-.325 5.589.126 3.686-.065-4.142.744-6.982-.11-8.831.575-2.926 1.242.6 1.652-2.116-.047-1.021-.913-.159-.818-1.515.531-.95 2.293-8.6.975-5.089.52-3.08.542-3.685 1.019-8.037-.344-.143-.91.214-.888-.782 2.067-12.193 2-22.848 3.74-33.625-.387-.31-.722 1.05-.719-.041.776-4.084 1.44-7.419.751-10.255.331-.009.494.371.649.775-.147-3.028.76-6.843 1.4-9.487.757 2.071-.426 5.786 1.043 6.675.354-5.074-1.416-7.413-.4-13.259-.451-1.035-1.082 1.835-.96-.046a8.532 8.532 0 0 0 .185-4.41c.813.1 1.1-2.1 1.554-3.591-.329-5.884 1.844-11.38.911-16.862a299.863 299.863 0 0 0 3.2-38.063c.65-.619.656-4.07 1.553-3.6-.471-4.23 1.231-6.473.445-9.535-.116.895-.242 1.73-.623 1.439a46.006 46.006 0 0 1 .255-5.132c.385-.054.821.144.863-1.428-1.321-2.443.782-8.212 1.373-11.687-.452-.244-.574.964-.861 1.428.151-2.852.5-8.162 1.81-8.732.077 1.884-1.278 2.5-.6 3.646.165-1.026.609-.807.86-1.425-.6-8.043.916-19.038 1.621-24.179.259-1.892-.469-2.855-.368-3.7.275-2.281 1.516-4.024 1.5-8a16.779 16.779 0 0 0 .284-2.929c.062-.727.3-8.417 1.47-10.216.633-.278-.217 5.732.366 3.693.17-2.634-.026-3.544.567-5.852-1.3.5-.628-3.889.016-5.145.133 2.346-.14 5.625.563 6.65.057-4.555-.165-13.106 1.923-12.4-.242-.025-.177-1.3.143-1.465.307 3.013.94 1.855 1.254 4.481-1.152-9.552 2.974-17 .8-25.688.472-.144.449.851.889.782.246-2.272-.552-2.131.017-5.151.437.189.61-.8 1.031-.683a25.786 25.786 0 0 0 .016-5.145c-.21 3.249-.847 4.609-1.7 5.058.835-4.857-.024-7.3 1.613-11.68-.52 2.911.5 2.24-.016 5.151.636-.681 1.542-.156 1.722-2.849-.344-.143-.909.214-.888-.785 1.04.548 2.3-9 2.716-13.092-.822-.832-.86 1.782-1.581 1.391a18.008 18.008 0 0 0 .663-4.376c.438 1.56.409 1.07 1.369.807.44-2.336-.693-1.045-.436-2.967.9.143.868-3.82 1.624-4.319-.494-3.25.261-4.141.832-3.637-.389-2.827-.053-3.9-.631-5.918.6-1.187.3.088.959.053a13.364 13.364 0 0 1 .736-5.108c-.161-1.141-.516-1.833-.678-2.973.615-1.279.449-2.967.792-.695 1.262-8.024-1.206-10.879-.262-14.725-1.723-.575-.7-3.892.159-6.606-.451-1.032-1.084 1.837-.961-.056a18.7 18.7 0 0 0 .877-6.566c.827-.583.631 1.195 1.058 1.527-.238-1.648.435-3.96.186-4.4a4.6 4.6 0 0 1-.933 2.16c.174-1.726-.2-2.18.185-4.406l.722.037c-.715-6.263 1.323-14.836.5-17.62.017-2.358.771-1.484 1-2.886-.327-.051-.563.313-.791.689-.373-1.841 2.3-10.34.567-5.852.434-3.455 1.474-4.432 1.116-6.554-.236 1.7-.813 1.673-.719-.037.25 1.066.705.6.861-1.428a13.232 13.232 0 0 1-.364-3.7c.461 2.007.76-3.344.663-4.376-.106.567-.146 1.44-.381 1.449.043-1.465-.067-5.457.637-6.582.29.469-.236 2.82.2 2.954.664-2.445-.007-3.277.088-5.883 1.542-1.045-.367-7.345 1.5-8-1.489 5.809 1.214 9.792-1.034 13.182 1.341.209.29 2.621.394 5.9.837-.8.472 1.178.816 1.508.518-3.362-.064-2.1-.2-2.948.322-.671.335-2.69.932-2.154-.046.861-.241 2.074.03 2.209.1-3.031.544-4.549 1.211-5.083a32.184 32.184 0 0 1 .362-5.723c.132-1.081.283-2.3.427-3.747l.209-2.371q.045-.643.1-1.343l.048-.758q.051-.627.1-1.28c-.186-2.355-.913 1.7-.712-2.509.376-2.381.742-4.735.983-7.048-.083-3.4-.295-6.735-.541-9.973l-.1-1.094-.077-.7-.162-1.39-.342-2.724a69.433 69.433 0 0 1-.8-10.141c-.8-1.438-1.313 1.476-1.542-2.071.249-1.848.761-1.373 1.4-.868-1.272-6.651-.036-11.123-.65-18.371-2.181-2.856-.693-13.117-2.53-17.468.5 3.373.724 7.758-.015 9.586-1-2.68-1.69-11.269-.021-10.324-1.047-3.945.623-7.544-.9-8.765 1.476-.959 1.014-9.294.281-14.028.108.7.218-1.105.1-2.962-.648-9.7-.869-21.692-2.454-30.739.372-.112.837.023.649-1.537-.616-.027-1.241-.024-1.305-2.093.5-.519.861 2.008.683-.8a5.01 5.01 0 0 1-.418-3.649c-.423-1.593-.539.975-.753-.668a6.789 6.789 0 0 1 .337-2.979c.379.032.277 1.85.788 1.4-.647-2.648-.469-3.3-1.039-6.541-.825-.06.142 2.473-.814 3.018-3.783-15.523-3.859-34.63-5.123-51.142.574-.857.6 4.512.825 2.138-.985-7.034-1.8-8.52-.914-13.923-.131-2.7-.978-2.741-1.413-4.3.475-2.649-1.562-10.14-.161-13.248-.9-.344-.085-3.619-.967-5.078.879-.157.628-1.41.131-2.22 1.363-.455.134-4.069.948-5.25-.865-1.115-.791-3.217-.524-5.851-.423-1.592-.538.976-.754-.668.39-3.651-1.112-8.908.425-11.094-1.212-1.935-1.324-11.761-.44-13.973-1.38-.431-1.513-8.73-.9-8.768a100.196 100.196 0 0 1-2.1-8.65c.372.349.654 1.031 1.028 1.374-.395-13.543-2.276-24.184-2-41.105-.409.078-.642-.51-.788-1.408 1.574-5.152-2.268-16.618.616-17.013-.179-3.722-.854-.241-1.337-2.821-.156-8.423-1.251-14.417-.448-19.128-.883-4.547-.731-6.7-1.56-12.4.537-.275.366 2.1.822 2.137-.468-7.041-1.269-10.661-.305-16.193-1.114.378-.993-3.813-1.887-4.247.114 4.013.318 9.05-.9 11.139-.614-3.14.664-4.627-.047-5.895-1.261 7.308.76 11.3.96 19.824-.326.056-.539-.3-.751-.674-.293 2.9.449 6.135.9 8.758-.877 14.084 2.7 30.72 1.418 44.115 1.293 4.231 1.578 12.151 2.121 18.977-1.189-1.074-.689-8.412-1.9-9.407.14 3.125 1.214 14.349.384 16.154.457-.049.867.082.952 1.42.269 1.982-.4 1.52-.338 2.978 1.409 1.232 1.24 13.411 1.333 17.568.027-.569.161-.863.443-.773-.389 1.394 1.185 6.163.428 8.806-.015-1.676-.192-2.752-.62-2.889-.72 3.091 1.074 2.426 1 5.807-.542.275-.369-2.092-.824-2.138.619 6.169.614 17.282 1.342 22.734.818.839.07-2.391.887-1.552-.08 1.074.465 3.769-.063 3.69-.35-.141-.46-1.171-.786-1.4.415 11.295 1.414 22.232 1.741 35.968-1.021 1.935.748 10.69.713 14.684-.047 5.265.941 13.856 1.51 21.243.908 11.767.665 23.878 2.356 33.7-.372.106-.835-.026-.648 1.537.365.092.87-.343.993.646-.006 3.395-.354 5.924-1.078 7.464a13.092 13.092 0 0 1 1.338 2.834c0-1.3-.853-3.6-.215-4.4.171 1.388.75 1.261.658 3.624-1.382 3.137-.464 1.361-.675 5.962-.044-1.262-.272-1.871-.583-2.165.915 3.288-.135 8.555.808 11.723.206-3.859-.094-5.037.328-8.133a64.869 64.869 0 0 0 .87 8.027c-.411.742-.907-2.128-.959.084 1.175 3.373-1.18 9.292.2 13.995-.278-1.473.181-4.079.371-2.243.125 1.82-.266 2.3-.3 3.713 1.774 2.67.539 8.154 1.524 11.656a3.583 3.583 0 0 1-.846 2.294c.856 1.16 1.427 7.937 1.418 9.452-.736.427-.343-3.35-.9-3.6.517 7.356 1.459 9.749 2.078 13.081.153 1.682-.649.869-.612 2.266.985-1.288 1.479 4.247 1.827 7.943-.855-.175-1.235.072-1.471-.606a10.972 10.972 0 0 0-.453-4.384c-.368 2.144-.97-2.1-1.542-2.067.06-1.536.3-1.589.682-.8-.818-5.382-.517-12.2-1.33-17.574.287.083.6 1.261.715-.061-.793 1.214-.266-2.479-.824-2.143-.37 2.147-1.1-1.605-1.34-2.822.387.786.623.733.681-.8-1.55-1.543-.1-5.537-1.073-7.279.269-1.733.829 1.368.649-1.534l-.957.089c-.246-2.635-.708-10.3-.845-12.452.028-1.863-1.087 2.155-1.028-1.38 1.111.419-.85-8.085.769-8.921-1.11-6.738-.11-9.6-1.464-15.345.39-.34.587-4.383-.013-5.16.235 1.175-.318 3.229-.406 1.5.563-10.892-.8-25.309-.824-36.785a2.565 2.565 0 0 1-.4 1.5l-.142-2.931c.329-.062.542.294.752.668-.721-2.5.589-6.42.089-8.117-.177 2.122-.335-1.164-.073-1.469-.684-.437-.551-.084-1.064-2.115.013 1.1.218 2.7-.1 2.962-1.289-6.194-.633-15.432-.827-22.051-.553-2.263-.692 2.551-1.2.112.766-2.356-1.426-5.572-.319-6.6.637.562.76 7.517 1.648 4.269-.792-3.444-2.446-5.731-1.692-10.17-2.328.843-1.734-9.169-3-12.257.389-1.795.865-6.72.016-9.587-.011 5.318-.325 9.857-1.582 11.942-.08-.859-.061-2.093-.348-2.177-.19 4.169 1.187 2.524 1.039 6.536.911.008.147-4.324.983-4.516a122.869 122.869 0 0 1 .507 15.443c.1-2.381-.838-.939-.859-2.873.179-.684.487-4.206.026-4.425-1.306-.919-2.584-9.132-1.635-13.861-1.467-2.068-.3-6.465-.355-7.343-.12 2.008-.91-.535-1.027-1.374 1.1-.036.432-7.557-.418-3.653-.161-3.028.418-3.678.779-3.757a47.75 47.75 0 0 0-1.994-6.452c.6.035.815 1.331.922-.827-.411-1.745-.5-.412-.791-1.4.026-.581.16-.878.443-.779-1.845-2.506.383-8.932-.5-10.276.017.9.011 1.745-.408 1.511-.054-3.348-.209-6.951.563-8.164-1.125-1.013.273-2.55-.008-5.154-1.639-.893-2.4-13.319-1.084-12.437-.717-2.435-1.537-3.9-.834-7.3-1.3-.818-.057 4.984-.674 5.956-.692-2.041-.324-8.027-.976-10.231.577-1.887.974-3.264 1.773-3.112-.254-1.948-.987-2.123-1.376-3.558 0 .869.141 2.078-.131 2.221-1.011-2.578-.9-8.294.566-8.161-.145 1.815 1.192 2.332 1.028 1.381-1.07-.948-1.086-5.79-2.031-7.187-.194 3.314.808 2.187.727 5.094-.705 1-1.014-.639-1.364 1.6a61.332 61.332 0 0 0-.7-9.525c.475-.027.4 1.982 1.028 1.386.121-2.753-.878-1.372-1.1-2.85.214-1.374.187-3.364.778-3.758-1.58-6.038-1.112-10.531-1.642-19.021-1.1-.943.21 4.4-.5 4.476-1.7-8.063-1.847-16.636-3.364-24.766.347.14.461 1.171.79 1.4-1.294-4.339-.237-7.66-1.386-8.721.636-10.838-1.382-34.441-.462-44.192-.3-5.608-2.132-12.821-.578-16.906-1.1-2.814-.416-10.023-1.322-12.414 0 1.132-.39.143-.516-.693.457-11.716-2.087-17.278-1.974-30.787-1.205.508.8 9.359-1.043 8.212.183 7.29-.515 9.518-.174 16.233-.08-.865-.058-2.087-.343-2.186-.03.579.063 1.455-.168 1.5-.022-3.389-.357-5.613-1.042-6.542.453 5.25 1 12.111.34 16.923-1.124-1.286-.4-10.927-1.046-11.7-.218 4.572-.606 8.7-.522 14.056-.87-2.309.018 2.2-.885 1.559-.771-3.211-.285-5.058-.594-7.32.115.878-.567 2.6-.683.8.217-2.356-.064-2.464-.248-5.138.312-.145.867 2.914.992.645-.746-2.805-2.061-8.076-.976-10.237-.463-.118-.487.877-.922.824a17.531 17.531 0 0 0-.455-4.381l.72-.067a36.216 36.216 0 0 0-2.1-8.656c.107-2.471.153-11.31-.848-12.458-.173 3.851 1.276 9.075-.147 11.807.572 9.914.648 21.663 1.35 27.9.452 3.995.064 9.736.4 13.235.344 3.524 1.21 8.857.059 11.056.393-2.274-.644-4.941-.117-7.365-.425-1.6-.539.981-.754-.668-.186-30.767-5.08-63.743-7.185-97.476l-9.387 1.956c.181 2.771.3 5.4.3 7.791.066 1.458-.606.99-.337 2.975.56 6.486 2.367 17.021.9 23.511a116.854 116.854 0 0 1 .639 13.213c.647.212.948 1.692.934 4.345-.537-1.18-.3.1-.957.089a25.954 25.954 0 0 0-.729-5.1c-.289.955.174 3.878-.814 3.02-.227-4.932-1.361-6.5-1.73-10.9-.034 1.411-.619 1.389-.3 3.716 1.52 3.011 1.764 10.766 3.713 12.2-.124 1.676-1.113 2.814-1.6 1.621-.985 5.724.612 14.156.006 19.906-.884.1-1-2.644-1.616-3.54.125 5.323-.671-.725-1.232-.629.986 3.855 1.151 10.751 1.741 16.066-1.1 37.021 3.884 79.353 4.118 114.648 1.115 10.411 1.712 21.467 2.347 28.534 1.284 4.166 2.275 12.852 1.773 16.8.65 2.027 1.125 10.586 1.418 15.109.037.271.075.794.118 1.7-.035-.457-.075-1.039-.118-1.7-.147-1.084-.271 2.077-.565 2.507-.355-6.161-.2-10.487-1.524-11.654a9.769 9.769 0 0 1 .372-2.249c.081.565.076 1.445.309 1.447.108-4.854-1.5 1.167-1.818-2.783 1.243-.653-.486-5.1 1.225-4.538.232 2.3-.42 3.054.414 3.647-.209-6.589-.846-12.71-1.259-16.105-.73 2.594.646 7.642.534 11.011-.28.784-.848.8-1.128 1.582-.4 3.915.568 7.429-.491 9.624-1.292-10.008.406-8.034 0-14.739.02.4-.154.844-.24.022-.426-4.67-.141-6.844-.773-10.989.27-1.695 1.552-6.845-.32-6.608.347 2.847.594 6.38-.363 7.4-.148 6.346 1.881 9.809 1.155 13.9-.239-3.15-.709-5.447-1.518-6.5 0 3.18 1.1 2.294 1 5.806-.349-.141-.462-1.171-.788-1.4.614 3.389 1.326 9.677.293 11.027-.722-6.079-1.1-11.549-1.74-16.065.34.033.909-.244.446-.769l-.479.04c-.721 6.67 1.413 9.41-.043 14.011-.008-3.31-.954-6.209-.428-8.806-1.361-1.151-1.938-8.364-1.8-12.37-1.224 10.28 2.052 17.962 2.751 27.027-.829.713-1.1-5.077-1.782-2.048 1.879 9.971.34 23.874.883 33.094a141.489 141.489 0 0 1-1.84-23.412c-.04-2.294-.6 1.933-.754-.665.585-6.006-.784-17.993-1.8-27.109.356.254.446.837.718-.067-1.958-4.3-1.007-12.8-1.812-17.53-.025.567.065 1.446-.169 1.486.024-10.945-.663-25.632-2.459-35.906l.955-.083c-1.46-11.251-3.311-27.989-2.71-41.043q-.777.267-.826-2.138c-.885-31.486-5.015-67.412-5.691-96.931-.006.633-.085 1.078-.4.9.68-13.812-.46-25.677-1.133-38.242.284-1.6.912-2.338 1.257-3.794-1.039.087-.5 1.124-1.6 1.621.06-.444.1-.921.146-1.389l-1.209.252c.051 3-.217 6.79-.3 7.889.355.716.925.619 1.065 2.121-.861.505.267 3.593-.47 5.2 1.177 2.062.709 6 1.182 9.48-1.414.744-.459 5.115-.292 8.874.424 1.592.539-.976.754.667.279 18.776 1.759 36.81 1.818 57.35-.08-.571-.075-1.452-.3-1.448-.075 2.273.722 1.346.652 3.624-.656-.007-.422 1.27-.956.084.652 3.456.326 8.074.33 11.768.794.774.528-1.2.886-1.548-.013 1.773.514 1.55.417 3.647-.477.033-.4-1.977-1.026-1.387-.152 3.449.912 2.392.762 5.829-1.158-.333-.082 3.727-.674 5.962.955 1.378.984 1.682 1.508 1.336-.123 2.017-.212 3.493.451 4.38l-.717.068c.282 1.418 1.483 7.171.393 8.077.137-3.221-1.289-6.242-.5-10.279-1.925.482 1.082 14.451-.618 17.015-1.085-16.256-1.286-28.691-1.967-45.53-.425-.257-.56 1.144-.719.066.076-1.305-.5-4.288.026-4.431.633.8-.433 3.109.621 2.895-.069-3.691-.574-10.584-.843-12.458.048 1.461-.435 4.784-1.09 2.31.5-13.077-1.051-28.806-1.48-40.415-.488-13.265-.733-26.628-1.052-40.7l-11.446 2.385 3.522 507.13-71.609 544.7 40.373-6.472a3.3 3.3 0 0 0-.052-2.432c.326.052.563-.318.791-.689-.088 1.146-.278 2.534.269 2.213.271-4.959 1.173-.935 1.962-2.833.147-2.8-1.316-1.878-.634-5.915.368 1.721.959-.2 1.681.091-.114.442-.871 2.782-.284 2.925.207-1.878 1.007-1.123 1.412-2.128a11.087 11.087 0 0 0 .043-2.942c.612 2.714.342-3.783 1.41-2.123a55.432 55.432 0 0 0-1.1 12.952l35.042-5.618c.565-7.694.963-15.912 1.8-25.256.708-.824.813 2.31 1.03-.678-.884-3.836.718-12.378.359-16.154-1.389 12.37-2.994 23.383-4.194 35.8-.355.151-.52 1.18-.86 1.416 1.263-7.85-1.273-18.552.429-16.887-.235-.765 1.011-3.836 1.12-6.561-1.969-1.914.757-7.594.964-12.443-.654.186.083-2.848-.748-2.247-.747.182-.947 2.79-1.724 2.848-1.23-4.574.369-9.329.838-16.129.372-.27.494-.864.721.037 0-1.762-.019-7.022 1.118-6.56.114 3.655-.216 1.276-.593 3.643.726 1.529 1.368-.023 1.892-2.1.255 2.239 1.514 2.169 1.421 5.226a6.84 6.84 0 0 1 .766-2.908c.489.568.254 2.819.914 3a36.9 36.9 0 0 1 1.4-9.489c-1.276-.034-.387-4.616-.153-5.89.586.955.5 3.045-.016 5.145 1.221-1.3.044 2.933.988 2.265.64-2.887-1.562-11.072.937-14.653-1.026 6.533.2 7.861.3 11.779 1.328 1.123 2.041-.043 2.564-2.068l-.672-.036a13.157 13.157 0 0 1 .523-2.917c.17.463.344.914.48.022.581.208-.367 1.18-.287 2.759.616-2.489.975-6.16 1.812-8.552.284-6.291 2.569-15.584 2.225-20.468-.51 2.262-.569 7.3-1.977 7.978-1.043-1.607 1.015-4.289.014-5.146-.63 3.2-.2 4.6-1.287 5.813.092-.965-.355-.686-.336-1.484.521-2.679 1.413-5.656 2.062-5.8-.24-.3.9-2.058.156-2.17-.308 1.068-.874 1.017-1.342 1.4-.289 3.6-.87 5.912-1.839 6.522-.736-5.426 1.051-9.687-.091-13.982.59-.6 1.488-5.2 1.119-6.554-.1 1.313-.4 1.693-.863 1.421 2.055-10.579 2.52-16.722 3.752-26.271.447 2.692-.059 4.167.008 7.361.538-1.467.885-3.764 1.623-4.332.263 2.489.487 4.54 1.258 4.487-.211 4.049.406 6.691-.586 11 1.2-1.5.967-4.947.948-7.306.24.019.346-.571.553-.707.953 3.585 2.148 2.089 4.247.969-.22 15.128-4.28 27.329-4.349 42.413-.761 5.379-2.63 10.921-3.041 18.954-.548-.326-.651 1.311-1.27.665a63.966 63.966 0 0 1-2.589 16.775c1.578.774-1.128 6.156-.61 8.794-.369.263-.491.852-.72-.046.972 5.681-2.445 9.238-2.277 16.058.477-3.119 1.043 2.77 1.483-2.861-.449-1.031-1.085 1.832-.962-.049 1.438.278 1.727-5.795 3.18-7.919-.945-4.158.747-8.185 1.347-13.9.521-.536 2.11-1.738 1.55-3.587-.17 2.982-.791-.616-1.128-.8.389-4.206 1.52-7.981 2.092-11.65.988 1.388.628 1.237.055 4.412.9-.015.764-.781 1.443.081.629-3.35-.1-3.574-.226-5.157 1.493 1.126 1.433-8.367 2.5-10.9-.535.111-.7-.64-.5-2.231.314.3.318.9.719.037 1.314-14 1.764-26.843 3.583-39.509-.383-4.308.134-16.834 2.521-16.044 2.769-15.2 3.242-30.9 5.563-47.5-.648-5.6.269-12.545 1.221-17.583-.141.747-.405-1.574.043-2.938 1.589-4.849 1.4 3.01.964 7.5.373-2.669 1.552.758 2.024 1.491-.181 8.225-.885 14.852-.927 22.008-.28 1.892-.928 2.166-1.143 4.351.642 3.138-1.09 6.442-1.232 10.228-.081 2.162.807 3.773.634 5.914-.195 2.385-1.41 4.486-1.6 6.536-.115 1.224.1 3.371.054 4.412 0-.111-.429-.531-.409-.757-.211 2.191.356 3.289.224 5.158-.026.334-.744.513-.791.695-.663 2.631.287 5.939.109 8.828-.9 2.076-.853-2.531-1.269.667.8.238.36 3.329.774 4.456-1.53 2-.685 8.246-1.906 7.249-.043 4.992-.311 13.77-.814 18.337.124-.845.456-.774.792-.7-.555 5.49-.707 7.284-.511 10.268-.244-.007-.23-.6-.412-.757-.658 8.266-1.181 15.337-1.981 20.487a10.221 10.221 0 0 1 .744 2.246 3.8 3.8 0 0 0-.113 3.668c-.587 1.449-1.489.781-1.241 2.88.918-2.456.515 2.926.533 4.437-.478-.012-.5 1.976-1.1 1.416-.575.187-.062-2.13-.506-2.241-.4 4.823.318 4.837 1.421 5.226.557-1.727.837-4.665 1.359-6.547-1.233-1.443.357-9.26 1.062-10.968-.091.965.356.686.335 1.49-.292.1-.665-.168-.788.694 1.068 4.342-.206 8.854-.935 14.648 1.111-1.66.6 1.42 1.536 1.558.554-5.776 1.032-11.6 1.63-16.826-.688 2.275-.5-2.185-.677-2.978.487-1.388 1.579-5.491 1.357-6.548-.123.859-.455.777-.791.695 1.364-3.006 1.36-7.486 2.093-11.649-.575 4.583.215 2.5.153 5.89.633-3.189 1.117-4.967.47-7.33l.72.038c-.132-6.916 2.48-17.509 2.547-26.328.295-.1.672.159.792-.7-.149-7.711 2.557-18.823 1.956-22.69.927-.242.916 3.4.224 5.163 1.709-.4.841-4.691.878-6.572 0 .114.481-.1.478.025.024-2.914-.92-4.279-.731-7.392.243-3.973 1.606-5.019 1.715-10.2-1.279 1.474.452-5.4-.013-7.356-.889 7.877-.277-8.878 1.331-8.756-.313 2.427.264 2.8.291 4.436.294-4.022.455-2.118 1.484-2.866.051-3.254.76-3.614 1.047-5.828-.8.3-1 3.247-1.623 4.323a8.8 8.8 0 0 0-.03-2.2c.46-1.685 1.772-2.745.906-4.372.413.086.762-.119 1.031-.677-.58 11.812-.622 16.143-2.622 27.069.091 6.629-2.13 13.506-1.5 20.511-.459.049-.4 2.407-.93 2.148-.185 9.138-3.622 18.756-2.55 26.339.24-2.068.278-5.028.973-5.1-.288 2.274-.448 12.611-1.951 10.191a40.353 40.353 0 0 1-.326 5.86c.9 1.182.4-3.783 1.073-3.613-.212 3.315-.462 10.715-1.993 13.126-1.247 13.348-1.89 23.479-4.076 32.13 1.2.519-.7 1.426-.763 2.905.125 1.885 1.239-.613 1.128.794a10.707 10.707 0 0 0 .1 1.483c-.064 2.837-.837 2.567-1.144 4.345.581.931.009 4.522-.227 7.342-1.872.456-1.235 5.821-1.58 8.738zm61.193-497.452c.511 2-.068 2.849-.494 5.12-.514-2.012.067-2.85.494-5.12zm-2.093 11.649c.368 1.3.522-.518.89.788.24-1.376.1-4.433.832-3.637a23.521 23.521 0 0 0-.735 5.114c-.409-.062-.674.509-.86 1.413-.519-.128-.339-1.857-.127-3.678zm-1.055-52.712c.071-2.65-.714-3.5-.25-5.132.985-.959 1.318 5.9.25 5.132zm1.1-11.9c-.128 2.873-.268 5.729-1.665 5.31.644-1.544.646-4.747 1.669-5.306zm-2.232 34.942c-.062-.945-.138-2.024-.121-2.918a6.2 6.2 0 0 1 .112-1.165.57.57 0 0 1 .352-.459v.273l.006.408c0 .27.009.52.013.753l.029 1.224c.021.714.048 1.257.082 1.816.058 1.119.189 2.308.326 5.08-.323 2.081-1.35 1.037-1.369-3.545.814 1.776.696.431.574-1.463zm-.672 17.088.168-1.01a7.966 7.966 0 0 1 .213-.916c.153-.487.334-.7.56-.435-.518-1.276.116-4.865.66-8.4a68.42 68.42 0 0 0-.006-3.771c.04 1.3.1 2.564.172 3.776-.237 3.213-.349 6.18-.475 8.984l-.163 3.1a18.467 18.467 0 0 1-.3 2.317c-.787.491-.585-1.3-1.371-.81a13.627 13.627 0 0 0 .546-2.832zm-.5-28.126a7.874 7.874 0 0 1-.657-3.623c.707-.218.972 2.542.661 3.627zm-20.074-359.452c-.57-.137-.3-3.214-.179-3.674.873.508.406 2.549.183 3.678zm7.128 117.32c-.049-2.111-.239-3.726-.69-4.365.022-.8.453-.534.408-1.5l1.037 6.542c-.207-.376-.423-.735-.751-.673zm.991 69.952c-.856.529-.945-6.251-.011-5.16-.418 1.932.426 4.152.015 5.169zm9.486 151.027c1.078.917.335 4.655.594 7.314-.927-2.39-.943-3.8-1.586-7.959.433 1.045 1.022 4.875.996.649zm-.625 11.852c-.529-1.8-.12-2.827-.527-5.85.735-.014.8 4.753.531 5.854zm-4.615 124.412.721.041-.354 3.652c-.747.235-.262-2.404-.363-3.689zm1.911 25.111c-.3-.248-.022-1.851.042-2.948-.291.108-.33 1.322-.452 2.185-.515.674-.591-2.234-.96-.05-.3-.741 1.06-2.916 1.554-3.6-.166 2.608.491 1.84-.18 4.42zm2.043-28.577c.521.129-.2 3.116-.186 4.41-.37-1.608-.532.156-.691 2.163-.878-.931.579-4.474.881-6.569zm-.354-131.913c-.879.673-.471-3.44-.728-5.1.862.578.088 2.965.732 5.104zm-.34 101.729c.661 1.781-.566 4.608.393 5.9-.53 3.74-1.192 5.122-.778 8.049l-1.2-.062c.701-3.987.63-9.255 1.589-13.883zm-.936 14.659c.971 2.462.3 8.328-.825 10.985.855 2.865 1.426 5.623-.1 11.023-.5-1.925.875-6.994-.9-8.136.977-6.078 1.072-11.041 1.829-13.863zM1037.69 1710c-.451-.639-.9-1.3-.9-3.611.235.436.471.851.478-.041.518-.169.239 2.592.422 3.652zm-1.013-10.973c.228.182.936 2.66.382 2.917.042.711.32.543.514.691-.1 2.153-.318.857-.922.824-.283-2.235.308-2.201.026-4.434zm-8.915 225.065.722.038a17.9 17.9 0 0 1-.667 4.372c-.606-.115-.238-2.471-.055-4.412zm2.874 12.655c-.305-.242-.021-1.843.044-2.942.334.082.668.165.791-.7.258.159.06.746-.072.732.854 2.598-.694.534-.763 2.908zm2.555-255.1c.648.2.9 1.855 1.134 3.584-.241-.552-.577-.735-.992-.645zm3.033 222.307c-.973.406-1.047.558-1.611-.822.601-1.079 1.875-2.214 1.611.822zm-.367-3.69c-.291.457-.411 1.66-.864 1.421.214-.646.42-1.292.146-1.464.136-.792.524-.476.62-1.443.156.4.319.785.649.779-.166.831-.608 1.826-.551.707zm-.656-52.989c.333.088.666.164.79-.683.7.047.168 4.16-.258 5.133-.608-.489-.745-2.067-.533-4.45zm-.326 5.865c.826.547-.333 2.915-.329 5.871-.422-.115-.593.866-1.031.677a56.112 56.112 0 0 1 1.36-6.548zm-.525-172.335c-.736-1.015-.361-1.918-.728-5.093.884-.673.478 3.44.728 5.093zm-1.737-16.059c1-.666-.392-3.534.226-5.182.808.186.581 4.194.8 6.562-.8 1.544-1.233-.952-2.151.195-.313-8.994-1.28-15.146-.66-23.53.722 5.62.744 13.209 1.785 21.955zm-1.374-38.217c.483-2.63-.318-6.505-.462-9.544.397 1.459 1.784 7.685.462 9.544zm-.019-10.323c-1.015-1.587-.314-4.174-.836-7.295 1.216.589.232 5.935.836 7.295zm-1.044 8.205c.5 2.5.462 7.168.771 10.992-1.3-1.374-.109-7.383-1.553-7.231a13.073 13.073 0 0 1 .1-2.959c.285 1.207 1.006 2.493.682-.802zm-.607-12.471c.524.773.551 5.646.322 6.6-.562.344-.03-3.355-.825-2.135a34.6 34.6 0 0 0 .503-4.465zm.367 12.5c-.454-.633-.9-1.29-.9-3.607.619.239 1.226 2.41.9 3.604zm-2.233 307.74.284-2.929.719.037c-.238 1.391-.393 3.143-1.006 2.889zm.835-341.53c-.513.171-.236-2.6-.417-3.647-.525-.079.016 2.616-.061 3.691-.823-1.925-.339-3.308-.285-5.873a12.024 12.024 0 0 1 .763 5.826zm-.4-13.239c-.395-1.072-1.039-3.086-.694-4.359.588.353 1.131 2.748.694 4.356zm-.367-12.5c-.047 1.157-.722.7-.337 2.978-.689-.039-.586-3.022-.728-5.093.499.17.566 1.945 1.065 2.115zm-1.187 5.272c.243 3.193.846 5.879.7 9.519-1.029-1.057-.649-7.018-.7-9.519zm.279 345.764c.614 5.607-1.132 18.975-1.139 24.205-1.293-2.242.622-16.652 1.139-24.205zm-1.777 30.79c.817.192.047 4.06.156 5.89-1.007-1.027.087-3.539-.156-5.89zm-58.533-573.852c-.655.047-.735-3.4-.452-4.381.999-.361.364 3.169.452 4.381zm-8.6 908.476c-.422-.124-.594.866-1.029.677a17.8 17.8 0 0 1 .663-4.379c.789-.29.62 1.602.371 3.702zm23.058-729.151c.837.313.538 3.5.488 5.118-.936-.587-.313-2.937-.483-5.118zm-5.394-31.953-.719.07c-.047-.974-.1-1.954-.142-2.933.627-.279.844.94.866 2.863zm-8.815-122.326c2.037 4.784.933 14.711 1.786 21.96-1.688-4.614-1.421-16.163-1.781-21.96zm3.6 128.7c.082-2.805.937-.621 1.638-.885.1 2.137-1.266 1.861-1.64.889zm1.5 1.336c.286.092.269 1.323.348 2.182-.708-.544-.569 1.091-1.159.847-.091-1.95.579-1.931.817-3.025zm4.512 88.072.479-.047c.5-.39.508 1 .583 2.157.653-1.364-.325-3.9-1.1-2.844-.127-2.42-.581-3.621-.559-6.586.527.055.6 1.8.654 3.624.912-2.28-.59-7.345-1.25-10.945-.5-2.576.792-.519.611-2.265-.614-2.835-1.518-18.608-.829-22.045-.4-1.875-.6-2.26-1.266-1.363-.272-2.629-.114-4.145.5-4.471-1.336-2.732-.576-7.321-.3-11.027-.151-2.6-.715 1.629-.752-.674-.1-1.87.134-.91.441-.774-.114-2.749-1.136-2.127-1-5.806a2.046 2.046 0 0 0 2.188.531c-.108-1.609-1.03-.219-1.472-.6-.381-3.126.535-2.891.469-5.205-.457.538-1.1-.186-1.5-1.336a5.18 5.18 0 0 1 .261-4.446 12.094 12.094 0 0 1-.261 4.446c.588-.135.673-1.441 1.193-.111-.833-3.478-.275-3.79-.116-7.366-.572-.244-1.373-1.97-2.154.2.25-2.348.3-5.2.6-7.425.616.024.593 2.414.689 4.361.12 1.282.836-1.18 1.126-1.575-.212-1.643-.33.924-.755-.674a35.758 35.758 0 0 0-.009-5.155c.417-1.269.308.034.958-.089-.933-4.579-2.475-2.281-2.508-7.148a3.306 3.306 0 0 0-.372 2.25c-2.41-7.955-.123-20.064-2-26.365.413-2.358.709-1.009.064-3.69 1.1-1.438 1.647 1.218 2.252 3.733.007-.8 0-1.614-.029-2.459.792.744.651.28 1.159-.84-.353-2.494-1.282 2.085-1.707-.585.619-1.158-.747-6.111.014-9.586-.132-1.024-.422-.023-.441.773-.661-1.144.583-2.722.228-5.176a9.992 9.992 0 0 0-.372 2.24c-.738-.414.154-1.584-.143-2.936-.229.045-.14.922-.168 1.492-.644-.206-.395-3.719-.929-4.337.422-1.185 1-3.886-.008-5.163.618-9.7.179-20.253-.266-30.209l.718-.061c-1.245-7-1.017-13.474-1.475-20.51 2.031 5.063 1.128 14.077 1.786 21.958.363 4.337 1.5 7.814 1.322 12.414-.906.758-.363-3.858-.93-4.34-.3.534.211 1.952-.061 3.688 2.8 7.278 1.794 21.475 2.521 32.215.6 8.8 2.044 16.265 2.061 22.665-.219.5-.164 1.716-.646 1.54.777 2.48.116 5.521.427 8.812-.732 1.068-.643-.793-.337 2.972-.524-1.33-.6-.022-1.194.112-.26-1.959.425-1.461.611-2.265-.425-1.03-.76-2.387-1.339-2.828.092-1.471.645-1.747.814-3.029-.145-1.485-.719-1.379-.861-2.867-.717 1.535.245 6.852-.759 8.9 1.209 4.677 3.125 4.376 3.636 10.747.557-.474.394-2.819.5-4.47 1.437 5.35.28 10.878 1.668 14.6-.19 1-.093 2.752-.572 3 .257 2.055 1.443 6.493.594 7.315.1 1.391.817.443.825 2.143-1.318 5.009 1.358 14.753.481 19.862 1.252 3.533 1.45 12.307 1.227 15.37 2.014 3.75 1.918 17.358 1.1 22.757.378 5.648.97 5.012 1.217 10.216-.009-1.578.666-4.627.226-5.184.892.04.922 3.547 1.147 8.74a5.176 5.176 0 0 1-.311-1.448c-.053 7.457 3.365 22.21.776 30.9a32.709 32.709 0 0 0-.833-7.3c.469 1.677-.263 10.073 1.251 10.944.227 2.3-.152 3.028-.538 3.738-.571-.2-1.145-.368-1.1-2.849-.585-.238.3 3.328-.608 2.262-.267-4.751.2-7.6-.127-12.522-.418 1.694-.472 4.81-.256 9.615a158.543 158.543 0 0 1-2.38-29.276c-1.092.164-.57 4.515-1.427 5.285.152-7.828-1.571-12.981-1.351-18.301zm8.589 58.2a11.031 11.031 0 0 1-.381-2.91c1.203-.035.593 11.538.387 2.913zm-2.174 422.42c.186-1.28.575-1.643 1.1-1.4q-.175 1.823-.353 3.656c-.168-.469-.343-.907-.478-.034-.325-.181.134-2.181-.263-2.219zm-.581-434.7c1.163.006 1.153 4.375 1.347 7.988-1.232-.427-1.258-5.186-1.341-7.99zm-.491 470.683c-.439.07-.416-.927-.89-.782-.112 2.345.665 2.628.466 5.169l-.959-.049c-.158 1.307.145 1.56-.045 2.933-.024 1.666.461-.865.649.772l-.353 3.662c-.266-.135-.445.141-.551.7-.369-1.415-1.072-2.057-.705-5.182-.268.556-.616.755-1.029.676.644-1.683-.048-4.141.807-5.84-.063-.986-.38-1.391-.82-1.514.871-6.008 1.345-9.489 1.8-16.08-.605 1.651-.226 6.248-1.425 7.28a19.71 19.71 0 0 1-.018 5.144c-.538.385-.977 2.047-1.27.671.089-1.693.773-.784.933-2.16.093-1.7-.484-1.739-.722-.038a111.2 111.2 0 0 1 1.7-17.557c.057 1.641.695 3.438-.016 5.145 1.479.151.963-3.365.735-5.108.312-.172 1.228-2.73 1.1-1.409.768-.059-.337 3.634-.085 5.878.893-1.953.673-8.4 1.161-9.5-.63.444-1.377 1.413-1.06-1.525 1.624.527 2.291-3.133 2.868-7.2.158.582.466.817.89.782-1.594 7.872-1.56 24.41-3.155 35.13zm2.582-36.63c-1.161-.969.91-6.563.3-8.068.2-1.147.364.656.554-.707.945 1.513-.552 6.218-.848 8.773zm.275-464.5c-.119-5.338-.825-8.475-1.119-13.168 1.3 5.865 1.463 8.807 2.184 15.287-.472-.259-.179-3.361-1.059-2.123zm3.342 601.475c-1.248.643 0-3.613-.365-3.7.63-2.131.719 1.699.371 3.696zm.745-30.113c-.654-.042-.232-3.48.187-4.4.525.115-.188 3.102-.181 4.396zm4.207 3.91c-1.338-.382.162-2.334.253-5.138.511.341-.246 3.607-.247 5.134zm-.171-110.316c-.332-1.586.854-2.355.975-5.1-.236.012-.272.892-.382 1.452-.328-.183.127-2.187-.267-2.221-.621.748-.539 4.6-.879 6.572-.817-3.156.248-10.605-.164-13.239.62-1.1 1.356-.438 1.44.075.872-.614.187-1.634.765-2.9-.112-2.062-.719 2.278-1.343 1.4.53-5.64.964-6.87.443-9.539.581-2.309.383.142.664-4.375 1.7-.277-.11 4.711.32 6.634 1.249-2.391.026-9.566 1.642-9.465-1.135 9.106-.481 20.704-3.208 30.702zm4.092-37.275c.6.776-.368 3.1-.425 4.387-.439.064-.421-.92-.889-.782-.568.285-.447 3.6-.737 5.1-1.36-10.09 1.41-20.076 2.684-35.146.332.076.665.152.788-.7.259 8.259-1.7 21.087-2.594 29.276.07 1.854 1.127-.528 1.179-2.139zm13.546-35.3c1.008-.925.363-3.715 1.456-5.071-.024-2-.753 2.2-.96-.049.694-5.13 1.3-4.587 1.469-10.216-.668-.158-.171 4.8-1.071 3.619a32.184 32.184 0 0 0 .609-8.789c.58-.2.909.171 1.129.795.258-1.922-.1-2.421-.747-2.247a9.989 9.989 0 0 1 1.525-5.8c1.408 3.986-1.706 17.035-.923 22.008-1.451 8.679-2.047 16.543-3.2 25.564.452-.086.385-2.469.763-2.9.736.15.028 4.494-.664 4.372.285 2.094.471 2.252 1.536 1.56-2.24 5.911-2.892 1.75-1.761-6.717-.416.6-.573 2.331-.832 3.628-.792.313.144-3.359-.368-3.693.171-.987.663-.577 1.029-.678.451-7.122.386-7.658 1.016-15.392zm1.7 14.8c-.419-.121-.59.866-1.028.676.046-2.928.929-2.159.974-5.089.334.751-.032 3.113.06 4.409zm-2.754-28.828c.49.573-.3 4.1-.324 5.865-1.039-1.397-.038-2.864.33-5.869zm-1.381-675.4c.731-.008.792 4.743.524 5.851-.921-1.038-.515-4.731-.518-5.851zm-.115 715.755c.541.266.789 1.206 1.609.826-.572 4.039-1.274 5.748-2.191 10.172-.807-2.506.545-6.518.588-10.998zm-1.105 13.915c.508.524.4 2.464.917 2.986-.816.945-.629 6.273-1.6 6.534 1.02-3.161-.2-5.798.689-9.52zm-1.045-39.031c1.088-.01-.32 2.2-.185 4.406-.49-1.06-.174-2.55.191-4.41zm-.286 47.782c.666.759-.346 2.46-.521 2.911-.577.2-.066-2.123-.51-2.234.32-2.563.723 1.888 1.042-.677zm-.353 3.661c.055 5.435-1.521 17.709-2.378 14.573 1.374-3.601.812-8.672 2.384-14.573zm-3.488 40.987c-1.374-5.185.782-13.491 1.094-21.266.652.773.584-1.6.763-2.9.156 4.872-1.544 15.587-1.851 24.166zm1.266-65.377c.641.083.99 1.736.438 2.96-.652.198-.464-1.557-.432-2.96zm-1.119 6.556c.937-3.033 1.969-3.547 1.849.842-.178-.16-.166-.751-.407-.758-.927 9.3-.691 10.331-1.052 18.321-2.76 2.797-.521-14.147-.385-18.405zm-2.784 91.029a11.064 11.064 0 0 1 .043-2.939c.336.088.669.164.791-.689.501.604-.2 4.542-.828 3.628zm3.466-23.34c-.708.5-.343-1.481-.818-1.517-1.263 5.8-1.114 11.812-3.024 13.809.873-5.09.486-7.084.341-11.016a10.839 10.839 0 0 0 1-2.883c.452 1.129.194 1.806-.114 3.668.974-.577 1.635-2.527 2.007-5.772.945-.457.956 1.221.614 3.709zm.736-5.1c-.828.58-.63-1.2-1.058-1.533.687-4.114.608-5.126 1.16-9.5-1.554 4.057.108-9.23.991-10.234.344 6.994-1.825 16.351-1.087 21.265zm.889.776c-.786-.624-.03-2.571.353-3.656.545.223-.167 3.223-.347 3.655zm.921-9.509c.208-7.193 2.085-19.922 1.777-30.788a20.647 20.647 0 0 1 1.762-5.785c.006-2.152-.813.392-1.2-.068 0-1.877 1.262-3.31.664-4.369.416-2.123.438-.81 1.03-.683a55.419 55.419 0 0 1 .369-8.809c-.731-.793-.593 2.256-.832 3.639-.619-2.342.209-7.488.921-9.514.968-.5 1.245 3.512 1.749-.639.526 3.27-1.925 11.546-1.033 13.176 1.118-5.508 1.232-15.429 2.969-18.222.293 7.868-1.732 14.308-2.2 22.678l-.754-.044a322.97 322.97 0 0 1-3.961 38.764c-.017.8.429.526.34 1.491-.244 1.7-.584 3.006-.908 4.362-.728-.207-.05-3.661.091-5.883-.323-.075-.654-.153-.778.693z\",\n fill: \"#7083d9\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m971.28 1519.922.009-.021-.014-.051.005.072zm.128-22.134a65.95 65.95 0 0 1-.115-.475c0 .179-.006.357-.009.536a.473.473 0 0 0 .124-.061zm-.043 14.017c-.3 1.78-.247 4.483-.4 6.669.095.509.2.956.306 1.376-.3-3.55.411-4.462.094-8.045zm-.951-14.663c-.01 3.563-.791 9.273.677 13.951-.306-5.312.124-9.113.193-13.244-.392.143-.563-.525-.87-.707zm4.17 702.735c.033.041.09.055.184.033a.212.212 0 0 0-.184-.033zm35.368-126.749.207.012c.056-1.256.106-2.487.147-3.668l-.354 3.656zm-45.498-777.59c0-.41-.022-.9-.036-1.351.009.444.026.903.036 1.351zm7.62 932.17c-.006-.061 0-.115 0-.174l-.044.172zm54.348-746.756c-.184.02-.375.065-.556.078.242.27.423.211.556-.078zm13.469 41.565c-.424-.251-.557 1.144-.715.067-.644-2.84.224-6.464-.427-8.807.014.892.013 1.742-.409 1.509-.282-2.233.307-2.193.026-4.426-.816-.2-.243 3.214-.5 4.471.823 1.466 1.29 9.864.773 10.983-.535-2.474-1.147-3.262-.523-5.851-.678-.468-.412 1.509-.887 1.559.119 2.446.9 2.44.968 5.071-.665-.42-1.013-2.022-1.579-2.8.063 2.649 1.044 1.9 1.171 4.314-.411.748-.9-2.129-.959.089.775 1.428-.136 3.868-.227 5.177 1.369-.641.051 3.671.967 5.07-.424-2.232.477-4.223.849-2.281-.735 1.762-.114 3.088-.431 5.94-.24.01-.257.616-.445.771-.182-3.42-1.444-2.785-.275-.71 0 4.6-.057 9.558-.11 12.548a10.079 10.079 0 0 1 .369-2.25c.291 4.445-.7 3.737.454 4.381.2 3.093-.947 2.681-1.221 4.538.833-.791.361 3.283 1.1 2.85.037-1.4-.543-4.395.3-3.713a52.954 52.954 0 0 0 .7 9.518c-.462-.126-.489.878-.921.819.227-2.231.089-5.356-.764-5.829a20.971 20.971 0 0 0 1.384 8.721c-.7 1.907 0 4.577.452 4.39-.28 2.155-.852.965-1.434.128.435 4.256.53 5.695-.053 8.857-.112-1.031-.565-.8-.788-1.409.738 2.893.47 3.327.045 5.9.921 2.5 2.044 11.957 1.3 16.839 1.1 2.811.933 5.594 1.564 12.391 1.1.94-.208-4.391.506-4.47.827.857 1.771 5.892.867 8.033-.558.338-.028-3.352-.824-2.137 1.121 8.33 2.248-1.649 2.385-5.379.073 1.458.7.874.617 2.892-.276 3.2-.128 7.235.942 9.506-.059 1.535-.3 1.581-.683.789 1.178 8.538.889 15 2.543 22.629-.99-1.806-.233 7.3.485 5.116-.222 10.033.819 25.548 2.87 34.392-.524-3.588.031-10.216-1.119-13.172 1.131 1.592.008-3.244-.418-3.645l.717-.068c-1.685-31.562-3.833-66.476-4.794-93.939-.986-2.951-.287-13.07-2.218-16.015a30.372 30.372 0 0 0-.223-9.564c1.422 1.549-.09-4.51 1.018-3.78-.674-3.347.279-7.346-.667-8.784-.031 4.549.8 7.426-.292 8.868.072-4.311-.793-8.866.149-11.807-.476-3.357-1.643-9.67-.844-12.459-1.127-.283.025-3.974-.771-5.831zm1.526 80.966c.2-1.1.237 3.1.525 5.848-1.066-.798-.857-4.124-.525-5.848zm-2.345-63.2c.388 2.288-.289 1.821-.335 2.985-.336-.2-.287-1.826-.381-2.917zm-.927 15.568c-.207-1.293.553-3.11-.179-3.671.116-2.457.513.78.754.668.5-1.9-1.258-2.79-1.036-6.541.908 2.376 2.2 5.532 1.419 9.458zm.026 30.231c.652.756.658 3.9.8 6.564-.923-1.026-.871-3.746-.8-6.561zm-.055 8.852c.621-.282.836.939.865 2.872-.623.281-.839-.943-.865-2.869zm2.232 21.181c-.968-1.323-1.327-4.912-1.422-9.467.574-.842 1.249 2.134 1.434-.125.099 3.441-.036 4.213-.012 9.595zm-.774-10.989a26.456 26.456 0 0 0 .565-8.167c1.633 1.292.261 9.5-.565 8.17zm1.009-8.946c-.877.714-1.007-3.208-.693-4.359a15.044 15.044 0 0 1 .693 4.362zm-.766-5.829c-.05-2.913-.559-7.016-.186-8.829.714 1.601 1.09 7.889.186 8.832zm-61.356-318.818a53.824 53.824 0 0 0-.393-8.077 39.508 39.508 0 0 0 .393 8.077zm34.022 22.705c.315 2.01.325 5.153.8 6.557.035-1.881-.215-5.895-.8-6.557zm7.526 21.431c-.468 1.475.752 7.164 1.21 5.054-.869.038-.685-3.814-1.21-5.054z\",\n fill: \"#7083d9\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1034.316 1330.676a.5.5 0 0 1-.125-.081\",\n fill: \"none\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1036.627 1335.245c.074.36.152.7.24 1.006a8.821 8.821 0 0 0-.24-1.006zm-.927-3.311c-.3 1.287.417 1.618.928 3.311-.731-3.573-.841-9.657-1.764-10.606.715 2.416.373 6.528-.547 6.037.24.379.152 1.963.463 2.085-.163-1.178.771-2.548.92-.827zm-19.306 23.143c-.764-.272-.689 1.635-.54 3.736.7-1.569.538 4.137.79 1.4-.12-1.833-.567-2.256.1-2.962.02.406.236.823.24-.016a3.5 3.5 0 0 1-.79-1.409c.14-.049.274-.126.2-.749zm.941 9.497c-.354-.7-.565-1.939-1.063-2.116-.491 5.152-1.214 12.656.306 16.2.023-.583-.064-1.452.167-1.492.182 2.213.869 2.551.763 5.827.641.164.543-1.585.574-3-.653-2.793-2.216-14.484-.747-15.419zm15.638 25.126c1.652 11.04.242 28.14 2.639 39.564-1.375 4.009 1.532 8.666.056 11.059.709-.581.435-.558 1.194-.111-1-4.492-.784-11.376.221-12.98-.019-.132.063-.241.335-.339a.776.776 0 0 0-.335.339c.07.486 1.589 1.315.754 3.31.592.956.808-1.975.955-.09a31.708 31.708 0 0 1-1.019 3.781 43.94 43.94 0 0 0 .7 4.361c-.275.141-.685-.063-.684.8 1.353-.774.525 3.752.49 5.119.782-1.393.479-5.6 1.354-6.758-.836-.593-.185-1.357-.417-3.652.275-.141.683.071.681-.79-.283-.551.364-3.375-.487-5.122-.06 1.541-.3 1.593-.682.8.2-3.637-.732-7.848.148-11.807-1.356-.25-.838-3-.764-5.829-.362-.092-.87.344-.993-.651-.007-1.508.568-1.522.852-2.282 0 1.269.66 4.3.822 2.132-.69-.04-.034-5.058-.725-5.094.12 1.6-.084 2.35-.612 2.269.523-1.846-.58-1.517-.454-4.384-.639-.224-1.331-.26-1.745-1.313 1.134-1.888-.669-4.037-.8-6.563.446-2.056.992-3.846 1.94-4.605-.275-2.287-.118-3-.417-3.646.006 1.515-.569 1.522-.849 2.288-.742-4.5-.582-6.118-.536-11.008a5.967 5.967 0 0 1-.93-4.345c-.613 2.349 1.084 10.658-.116 12.545.084 1.735.519 2.13.455 4.384-.376-.351-.659-1.034-1.031-1.382zm3.124 24.782a13.034 13.034 0 0 1 .416 3.646c-.955 1.233-.144-4.083-1.1-2.844-.002-.868.407-.664.687-.802zm-17.745-19.029a5.533 5.533 0 0 1-1.054 3.046c-.079 2.015.548 1.431.622 2.888-.414.006-.588.624-.646 1.537 1.539-.857.467-4.738 1.627-6.046-.316.014-.279-1.269-.549-1.425zm-.972 9.67c.075 1.26.924 3.938 1.062 2.115-.283-.1-.315-1.136-.345-2.182.367-.04.69-2.072-.071-1.464.095 1.313-.154 1.737-.646 1.531zm2.804 38.082c-.2 1.691-.531 3.3.217 4.409a19.327 19.327 0 0 0-.392-8.072c.381.032.279 1.85.79 1.4.214-3.4-1.059-1.274-1.135-3.591.468-.446.36-2.243.921-.818l-.177-3.669c-.671.2-.741-2.836-.957.09.838.742-.13 6.07-.123 7.381-.081-.858-.061-2.087-.346-2.185a11.436 11.436 0 0 1-.1 2.965c.554.266.843 1.505 1.302 2.09zm.263 10.304c.412-.215.484-1.314.334-2.984-1.037 1.727-.056 5.02-.324 8.145.783-.226.2-5.245 1.123-1.582l-.141-2.942c-.594.154-.683 1.475-.992-.637zm.941 9.497c-.333 1.224.363 3.05.284 5.872-.4.33-.668-1.03-.716.068 1.02 2.171.991-2.653 1.22-4.538-.349-.146-.462-1.171-.788-1.402zM983 1479.036c.127-3.072-.643-2.81-.729-5.094-.544-3.814.012 5.472.729 5.094zm-.607 7.432c-.136-2.108.39-5.782-.356-7.343.474 2.975-.286 6.047.356 7.343zm37.93 9.077.105 2.2c.6.776.632-.213 1.267 1.361-.517-3.9-.418-5.763-.772-10.986-.605-.07-.5 1.7-.848 2.294.753.207 1.411 6.609.591 7.309-.078-.855-.057-2.084-.343-2.178zm7.258 5.977c-.211 2.894-.334 6.5.427 8.8-.548-3.88.002-6.379-.427-8.8zm10.2 7.178c.707-3.653 1.211 1.948 1.914-.175-.834-.081-.926-2.909-1.614-3.538.481 2.746-.588 1.469-.3 3.713zm-11.642 7.7-.477.045c.2-2.039-.016-5.172.4-6.675-1.127-.47-.626 9.95.077 6.63zm8.861 4.344c.166 2.146-.327 2.577-.539 3.745.318-.161.661 3.689.79 1.4-.853-3.022.689-2.8.741-4.492-.332-.197-.505-1.006-.992-.653zm-11.881 7.722c.906 1.068.024-2.5.614-2.26.439 1.675.636 1.062 1.228.623a13.546 13.546 0 0 0-.06 3.691l-.717.067a25.134 25.134 0 0 1 .356 7.336q1.146.409.814-3.023c-.049-.97-.451-.632-.549-1.418.066-2.44 1.216-1.606.5-4.477.327-.056.543.3.754.668.093-1.854.963-5.724-.082-6.624.083 2.349.51 5.6-.468 5.2-.115-1.822-.559-2.227-.178-3.669-.84.736-1.237 2.633-1.71-.578-.168 1.515-.33 2.942-.502 4.464zm12.381 2.564c.053-.937.235-1.526.648-1.537a10.906 10.906 0 0 1 .024-4.426c-.797.106-.717 5.803-.672 5.963z\",\n fill: \"#7083d9\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1025.7 1537.083c-.033 2.576-1.869 5.134-.158 6.652 0-1.455-.394-1.431-.585-2.159a4.331 4.331 0 0 0 .743-4.493zm-47.61 58.897c-.826-.647.2-1.476.134-2.227-.92-3.738-1.53-2.987-1.16.846.015-1.192.342.028.308 1.445.4-.326.669 1.034.718-.064zm.494 25.02c-.44 1.611.1 4.006.691 4.355a6.408 6.408 0 0 0-.657-3.621c.135-.008.242-.618-.034-.734zm69.306 179.9c-.162-1.973-1.348.242-1.413 2.136.562-1.397 1.785-2.108 1.413-2.136zm-3.727 40.982c-.5 1.71-1.463 6.242-1.722 2.849-.219 2.911-1.1 5.118-.4 6.6.415-1.424 1-4.864 1.483-2.86-.448-1.739 1.322-7.614.639-6.589zm22.463 7.1c.028 1.073-.646 3.77-.115 3.671l1.156 3c.086-3.225.107-6.301-1.041-6.671zm-30.319 93.951c.443-1.633.786-6.408.327-5.865-.262 3.069-.3 1.755-.55.707-.029 1.266-.54 1.857-.213 2.191.708-2.489.063 2.814.436 2.967zm-10.05 78.875c.129 3.41-1.317 5.235-.877 6.572.332-.958.491-2.709 1-2.892-.244 3.487-2.12 8.545-.708 7.318-.432-1.3.718-4.422 1.213-5.083-.451-.874-.491-7.999-.628-5.915zm-1.857 24.168c-.494.189-.379-1.019-.578-1.509-.8 2.114-2.078 1.262-1.4-3.01-.732-.8-.593 2.255-.834 3.625 1.076.428 1.748 3.575 2.812.894zm-2.027 23.416c.867-5.527.15-7.23 1.132-11.7-.283-.1-.544-.248-.337-1.49-.845 1.994-1.45-.388-1.891 2.111.067 1.557 1.095-1.335 1.751-.646l-.284 2.929-1.2-.062c.509 2.475-.162 6.729.945 5.2a5.538 5.538 0 0 0-.116 3.658zm6.99 22.442c.49-1.321.465-4.895 1.554-3.594.402-5.286-2.187 1.725-1.554 3.594zm-15.789 28.566a10.263 10.263 0 0 1 .692-2.176c.386-8.151-.626.542-.692 2.176zm.48.02a47.123 47.123 0 0 0-.367 8.8c1.026-2.143.688 2.145 1.127.8a10 10 0 0 1 .423-4.388c-.508-.966-.784.329-.885-.782.768-.622 1.278-3.934 1.285-5.815-.575.519-1.183 3.151-1.583 1.385zm-2.089 8.521a1.43 1.43 0 0 0-.128-.559c.045.157.087.353.128.559z\",\n fill: \"#7083d9\"\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1008.154 2198.78c.534-10.623 1-23.13 3.037-38.813-.419.023-.561-.592-.579-1.5.77-1.732.415-1.93.737-5.114.621.881.848.483 1.338-1.391-.268-.135-.691.086-.649-.77.7-7.172.663-18.553-.073-22.255.108 1.361-.489 4.347-.526 6.039.611-.088.642 1.166.746 2.246-.515.165-.375 3.215-.831 3.632.146.8.861.28.5 2.233-2.607 25.384-4.064 37.675-6.286 59.959 1.624-.207-.457 2.474.124 3.687 1.4-1.372 1.3-2.988 2.078-6.5-.708-.686-.681 1.866-1.171 2.132a8.763 8.763 0 0 0-.03-2.2c.94 1.068 1.065-3.698 1.585-1.385zm-27.442 29.4a32.822 32.822 0 0 1-1.642 9.464c-.323-.189-.285-1.225-.578-1.5-.462 4.7.239 6.061.45 10.315.143-3.064.845-6.8 1.072-3.612.412-1.894.853-4.278.254-5.139.761-2.658 2.468-4.029 2.388-7.218.423-.041.733.2.89.776.056-2.4-.539-3.29-.7-5.182.233-1.4.985-.531 1-2.886-1.26-1.608.865-18.286 2.04-16.074.3-6.884 2.29-14.485 1.121-19.054a9.888 9.888 0 0 1-.692 2.167c-.321-.953.418-4.377-.295-4.425-.694 10.433-2.362 24.181-3.187 32.917a3.507 3.507 0 0 1-.579-1.5c.15-2.172 1.3-3.553.424-4.394a33.028 33.028 0 0 1-.974 5.1c1.34 1.5-.339 8 .207 10.3-.223-.948-.794-.982-1.199-.055zm-3.77-33.297c-.1-1.714.977-5.706 1.329-8.755-.88.99-1.041 5.152-1.836 6.521.174.438.197 3.976.507 2.234zm17.551 10.517c-.113 4.462-.546 6.706-.582 11 .417-4.765.7.492.816 1.514-.191-3.669-.337-6.883.822-10.985-.325-.051-.556.31-.788.689.132-1.261-.002-1.894-.268-2.218zm-2.266 23.4c.629.834 1.921-3.465 1.172-2.144-.339 2.115-.267-1.136-.649-.773a11.406 11.406 0 0 1-.523 2.917zm6.335 1.818c-.307 1.755-.444 4.176-.949 7.3-.382.046-.821-.152-.862 1.415 1.606.813 1.261-6.978 2.458-7.95l-.479-.025c.028-.442.049-.868-.168-.74zm13.674 33.093c.144-2.144.76-2.223.906-4.364-.762-2.061-.287-4.129-.11-8.825-.494.19-.381-1.013-.578-1.5a11.878 11.878 0 0 1-1.073 3.612c-.093-.622-.9-2.346-1.129-.794.7 1.352.012 2.628.6 3.711a3.328 3.328 0 0 1 .693-2.171c.105 2.334-.184 2.452-.494 5.119.436.2.607-.791 1.031-.679-.59 2.514.082 4.205.154 5.891zm-49.599-10.775c.433-1.928 1.1-2.8 1.459-5.07-.453-.245-.574.957-.863 1.421.042-.4-.114-.835-.24-.013.58-.256-1.254 5.651-.356 3.662zm1.47 43.096.554-.089a9.543 9.543 0 0 0-.065-.984c.248-1.009.936-.07 1.105-1.414-1.365-1.4 1.07-4.972-.325-6.639 1.487-4.331 2.5-14.878 3.2-18.5-.224.309-.8-.676-.8-1.224.844-2.3-.06-9.446.878-6.56a7.019 7.019 0 0 0-.536-4.45c-.064 6.036-1.08 11.632-.528 15.416-2.241 3.686-.867 15.418-3.263 13.791.3 3.62-.2 3.839-.779 8.049.564-.171.882.229.816 1.52-.094.375-.178.734-.257 1.084z\",\n fill: \"#7083d9\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M968.573 2268.4a.808.808 0 0 0 .086-.436c-.028.13-.059.289-.086.436zm8.937 25.483 5.738-.919c.771-4.484 1.407-8.97 2.086-7.916a43.648 43.648 0 0 1-.112-8.832c-.549-.327-.65 1.31-1.267.671.25-2.1.3-3.722-.059-4.413-.536 4.461.574 5.106.351 8.837-.8-.641-1.342 1.49-1 2.893.742 1.182.386-2.48.931-2.16-.09 1.157.558.6.269 2.222-1.16-1.592-.5 6.1-1.74 8-.435-.125-.754-.524-.818-1.517.851-5.319-.213-2.829-.462-5.17.108-2.3.833-1.9 1.072-3.624-1.168-.5-.756-4.425-.249-7.367-.171-6.237-2.038-11.562-1.731-17-.864 5.515-.364 10.767-2.3 13.852-.426-2 .518-3.855.637-6.585-.706.493-.344-1.481-.818-1.523-.027 2.393-.84 12.766-2.12 9.455-.046 2.676-.8 3.868-.5 5.114.9 1.18.4-3.783 1.076-3.618.129 5.172 1.148 5.805 1.475 9.644.937-5.009-.384-7.176.2-9.56 1 4.676.365 11.872-.659 19.516zm-13.65-26.175c.464 1.105.3 1.569 1.131.794-.137-1.83.88-3.518.355-3.659-.41 3.281-.919 2.122-1.486 2.865zm-1.092 28.539c.027-.213.052-.442.08-.649-.139.071-.264.33-.379.7zm73.438-948.867c.1 1.307-.152 1.73-.645 1.524.051 3.279.835 3.832 1.241 5.784-.1 2.094-.682 2.946-.981 4.521.73 2.827.128 8.035.879 13.188-.3-3.561.446-4.4.912-5.986-.744-2.6-.251-4.41-1.041-6.534.451 0 .48-.614.171-1.492.6.055 1.165.03 1.123-1.576-.751-1.542-1.015-4.889-1.755-6.48a10.866 10.866 0 0 0 .85-2.287c-.325.058-.542-.297-.754-.662zm-8.418 173.291c-.061-2.727-.439-6.273.672-5.956-.048-1.845-.621-1.739-.86-2.873.26 1.953-.426 1.468-.609 2.266.309 2.016-.159 6.934.797 6.563zm-16.116 671.677c-2.028 4.2-4.422 14.144-3.564 21.868 2-.638 2.525 2.115 2.551 6.026-1.174-.294-1.267 4.151-2.175 5.033 1.059-.2.41 2.645.987 2.25a4.624 4.624 0 0 0-.931 2.163c1.2-.148.311 4.577.249 7.366.9-.018.764-.791 1.441.075 1.091-3.364 1.872-10.692 2.473-13.1-.66-6.7 3.624-16.006 3.847-24.792.15-5.893-1.677-9.109-4.878-6.889z\",\n fill: \"#7083d9\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M790.513 787.608c-14.29-2.06-27.59-5.49-38.63-10.41-26.61-46.96-22.7-85.31-22.7-85.31 7.04-2.22 14.96-4.7 23.53-7.38z\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1181.853 802.6c-7.79 2.65-17.73-1.05-24.02-9.55-7.46-10.07-6.97-23.06 1.09-29.03a16.025 16.025 0 0 1 12.15-2.74c4.11 6.24 7.74 11.84 10.86 16.7a22.658 22.658 0 0 1-.08 24.62z\",\n fill: \"#e26847\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1087.62 880.498 347.478-112.696 210.522 10.956-403.044 138.522z\",\n fill: \"#7083d9\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M679.353 1181.846a5 5 0 0 1-.534-9.971l508.793-55.305a5 5 0 0 1 1.081 9.942l-508.793 55.3a5.054 5.054 0 0 1-.547.034zM846.724 1283.8a5 5 0 0 1-1.014-9.9l169.794-35.373a5 5 0 0 1 2.039 9.789l-169.794 35.374a5 5 0 0 1-1.025.11z\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M907.426 1271.154a5 5 0 0 1-4.883-6.1l26.335-116.96a5 5 0 1 1 9.756 2.2L912.3 1267.251a5 5 0 0 1-4.874 3.903zm61.42-13.27a5 5 0 0 1-4.882-6.1l24.562-109.084a5 5 0 1 1 9.756 2.2l-24.562 109.081a5 5 0 0 1-4.874 3.903zM652.483 1276.8a5 5 0 0 1-.589-9.964c18.869-2.265 41.055-13.724 59.347-30.653 20.668-19.128 34.719-43.486 39.564-68.587a5 5 0 1 1 9.818 1.895c-11.153 57.788-64.609 102.122-107.538 107.273a4.9 4.9 0 0 1-.602.036zm534.926-41.476a5.059 5.059 0 0 1-.658-.043c-26-3.416-50.063-17.436-67.762-39.479-16.1-20.046-24.709-44.413-23.039-65.181a5 5 0 0 1 9.968.8c-1.471 18.287 6.33 40.014 20.868 58.119 16.079 20.024 37.837 32.747 61.268 35.825a5 5 0 0 1-.645 9.958zm-170.228 515.739a5 5 0 0 1-4.99-4.771l-21.131-460.174a5 5 0 0 1 9.99-.459l21.13 460.174a5 5 0 0 1-4.765 5.225 6.089 6.089 0 0 1-.234.005zm-52.424 475.826a5.1 5.1 0 0 1-.614-.037 5 5 0 0 1-4.356-5.57l53.609-438.261a5 5 0 1 1 9.926 1.214L969.713 2222.5a5 5 0 0 1-4.956 4.389z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 925.229,\n cy: 587.802,\n r: 9\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 930.185,\n cy: 815.995,\n r: 9\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 934.229,\n cy: 982.237,\n r: 9\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m813.707 947.019-84.522-255.13L273.64 823.453q-3.88.966-7.647 2.208l-.185.054v.006a108.416 108.416 0 0 0 55.528 209.179z\",\n fill: \"#fdc93a\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M710.134 970.507a5 5 0 0 1-4.767-3.5L627.986 721.24a5 5 0 1 1 9.538-3L714.905 964a5 5 0 0 1-4.771 6.5zm252.524-435.095a5 5 0 0 1-4.9-4.038l-18.543-94.419-110.224 73.622a5 5 0 0 1-7.607-5.453l34.227-127.574a5 5 0 1 1 9.658 2.591l-30.783 114.74L939.9 424.472a5 5 0 0 1 7.683 3.195l19.99 101.78a5.006 5.006 0 0 1-4.912 5.965zm79.588-30.212a5 5 0 0 1-3.754-1.7l-61.866-70.232a5 5 0 0 1 7.5-6.61l49.622 56.332-16.416-83.175a5 5 0 1 1 9.81-1.936l20 101.348a5 5 0 0 1-4.9 5.968z\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M590.884 991.791a5 5 0 0 1-.872-9.923l217.133-38.756-81.194-245.085-370.539 107.014a5 5 0 1 1-2.774-9.607L727.8 687.085a5 5 0 0 1 6.133 3.232l84.522 255.13a5 5 0 0 1-3.868 6.5l-222.817 39.77a4.932 4.932 0 0 1-.886.074z\"\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1901.061 413.154-491.275 170.415a77.474 77.474 0 0 0-44.269 39.284l-159.723 328.079 577.565-200.347 147.776-303.541c9.565-19.653-9.423-41.054-30.074-33.89z\",\n fill: \"#91a0e2\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1613.987,\n cy: 680.046,\n fill: \"#fff\",\n rx: 66.878,\n ry: 36.92,\n transform: \"matrix(.5 -.8660254 .8660254 .5 218.057 1737.777)\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1429.284 914.243a26.906 26.906 0 0 1-25-36.786l39.832-100.708a26.889 26.889 0 0 1 50.009 19.779L1454.3 897.236a26.9 26.9 0 0 1-25.016 17.007z\",\n fill: \"#e59673\"\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1483.4 916.5a26.905 26.905 0 0 1-25-36.786l49.535-125.239a26.889 26.889 0 1 1 50.008 19.779l-49.535 125.239A26.9 26.9 0 0 1 1483.4 916.5z\",\n fill: \"#e59673\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1546.618 898.282a26.907 26.907 0 0 1-25-36.786l44.84-113.37a26.889 26.889 0 0 1 50.008 19.779l-44.84 113.37a26.9 26.9 0 0 1-25.008 17.007z\",\n fill: \"#e59673\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1608.163 874.177a26.9 26.9 0 0 1-25-36.785l31.957-80.8a26.889 26.889 0 0 1 50.008 19.78l-31.957 80.8a26.9 26.9 0 0 1-25.008 17.005z\",\n fill: \"#e59673\"\n })), _ellipse3 || (_ellipse3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1465.666,\n cy: 790.529,\n fill: \"#e26847\",\n rx: 21.785,\n ry: 16.123,\n transform: \"matrix(.39333223 -.91939641 .91939641 .39333223 162.369 1827.125)\"\n })), _ellipse4 || (_ellipse4 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1529.297,\n cy: 771.49,\n fill: \"#e26847\",\n rx: 21.785,\n ry: 16.123,\n transform: \"matrix(.39333223 -.91939641 .91939641 .39333223 218.478 1874.077)\"\n })), _ellipse5 || (_ellipse5 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1588.364,\n cy: 764.574,\n fill: \"#e26847\",\n rx: 21.785,\n ry: 16.123,\n transform: \"matrix(.39333223 -.91939641 .91939641 .39333223 260.671 1924.188)\"\n })), _ellipse6 || (_ellipse6 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1636.677,\n cy: 773.282,\n fill: \"#e26847\",\n rx: 21.785,\n ry: 16.123,\n transform: \"matrix(.39333223 -.91939641 .91939641 .39333223 281.975 1973.89)\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1205.79 955.933a5 5 0 0 1-4.492-7.189l102.85-211.258a5 5 0 0 1 8.991 4.377l-102.85 211.258a5 5 0 0 1-4.499 2.812zm-73.952 1623.913a5 5 0 0 1-3.4-8.664l84.2-78.206h-150.062a5 5 0 0 1-2.6-9.271l126-76.7a5 5 0 0 1 5.2 8.542l-110.769 67.425h144.952a5 5 0 0 1 3.4 8.663l-75.695 70.31 122.342-43.717a5 5 0 1 1 3.366 9.417l-145.256 51.905a5 5 0 0 1-1.678.296zm-887.871-7.827a4.994 4.994 0 0 1-2.152-.487c-31.22-14.895-82.271-38.881-88.4-40.813a5 5 0 0 1-.737-9.78c2.416-.674 3.145-.879 49.25 20.691a7222.925 7222.925 0 0 1 36.763 17.344l-2.319-69.307a5 5 0 0 1 6.9-4.792l57.878 23.78-15.862-70.433a5 5 0 0 1 9.756-2.2l17.973 79.809a5 5 0 0 1-6.778 5.723l-59.612-24.492 2.335 69.787a5 5 0 0 1-5 5.167zm-88.606-41.445h-.008zm.011 0h-.009z\"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1064.922 2401.408a5 5 0 0 1-5-4.95l-.31-31.07a50.061 50.061 0 0 1 51.026-50.569l33.318.63a49.639 49.639 0 0 1 48.446 49.379 5 5 0 0 1-10 0 39.588 39.588 0 0 0-38.636-39.381l-33.319-.63a40.063 40.063 0 0 0-40.836 40.47l.311 31.071a5 5 0 0 1-4.951 5.05zm-709.301.004a5.005 5.005 0 0 1-4.749-6.57l19.251-58.277a8.944 8.944 0 0 0-8.492-11.749H348.8a15.379 15.379 0 0 0-14.656 10.638 5 5 0 0 1-9.508-3.1 25.356 25.356 0 0 1 24.164-17.538h12.834a18.944 18.944 0 0 1 17.987 24.886l-19.251 58.277a5 5 0 0 1-4.749 3.433z\",\n fill: \"#fff\"\n })), _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1456.573 896.477a5 5 0 0 1-4.663-6.8l40.351-104.377a5 5 0 0 1 9.327 3.606l-40.35 104.369a5 5 0 0 1-4.665 3.202zm63.456-16.14a5.005 5.005 0 0 1-4.692-6.729l39.583-107.533a5 5 0 0 1 9.385 3.454l-39.584 107.533a5 5 0 0 1-4.692 3.275zm64.026-23.537a5 5 0 0 1-4.688-6.738l27.309-73.693a5 5 0 0 1 9.377 3.475l-27.31 73.692a5 5 0 0 1-4.688 3.264z\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1764.531 639.236c.786-.977.33-1.625 1.326-2.709-1.178-.633-2.399 2.192-1.326 2.709zm-7.231 15.315c-.751.381-1.181 2.078-.054 2.356.318-.939.91-2.015.054-2.356zm135.193-144.423c-.161.473-.328.943-.491 1.412l1.024.352c.416-.892.404-1.558-.533-1.764zM1755.97 652.9c.226-.422 1.59-1.386.957-1.646-.696.172-2.179.784-.957 1.646zm11.636-22.5c-.808.555-1.444 2.887-.425 3.416.2-1.421 1-1.544 1.32-2.71-.432-.166-.313-.612-.895-.706zm-15.471 20.383c.423-.993.535-1.827.055-2.359a1.4 1.4 0 0 0-.055 2.359zm1.843-5.304c-.15 1.361-1.721 1.778-.523 2.593a2.694 2.694 0 0 0 .523-2.593zm-.37 15.321a2.51 2.51 0 0 0-.273 1.884 1.582 1.582 0 0 0 1.61-.237c-.766-.393-.21-1.447-1.337-1.647zm49.136-112.858c-.722.341-1.2 1.845.066 2 .082-.718 1.204-1.965-.066-2zm83.266-34.518c-.59.371-1.519.007-1.849.946.769.426.96-.392 1.823.234.091-.434.404-.986.026-1.18zm-148.942 191.919a3.092 3.092 0 0 0 .411-1.434c-.945-.042-.179.75-.411 1.434zm147.148-193.332c.292.641 2.139 1.5 2.5.472-1.042-.254-1.725-1.706-2.5-.472zm-58.598-16.725c1.378.755 1.745-1.454 1.079-2-.284.833-.949.836-1.079 2zm-7.332 10.132c-.44-.9.415-1.728.862-2.477-2.008-.977-1.548 3.208-.862 2.477zm91.171-53.956c-.859 2.833-3.957 7.95-2.664 10.958.507-3.758 4.391-7.691 2.664-10.958zM1784.064 597.3a1.541 1.541 0 0 0-.4 2.237c.371-.161 1.765-2.128.4-2.237zm1.749-6.126c-.437 1.871-2.1 4.366-1.165 5.536a11.89 11.89 0 0 1 2.4-4.712c-.48-.855-.756.036-1.235-.824zm25.662-63.966a13.658 13.658 0 0 0 1.967-5.651 8.673 8.673 0 0 0-1.967 5.651zm34.978-71.033c.26-2.228 1.627-3.3.578-4.945-1.304 1.184-1.083 3.75-.578 4.945zm-24.895 32.16c-.46.7-1.821 2.614-1.229 3.536.302-1.034 1.901-2.428 1.229-3.536zM1815.6 503.3c-.566 1.159-1.48 2.478-1.57 3.418.2-1.044.958 1.324 1.482.119-.812-.754 1.495-3.097.088-3.537zm99.791-65.619c-.626.293-1.327 1.908-.4 2.236.163-.599 1.887-1.867.4-2.236zm-168.803 220.287a1.436 1.436 0 0 0-.614 1.766c1.466.709 1.761-1.461.614-1.766zm.082 10.721c.6 1.512-1.46 1.47-.859 2.47.189-.417.4-.8.925-.471-.213-1.713 1.168-1.08.739-2.118-.167.249-.428.311-.805.119zm137.005-148.55c-1.5.083-1.752 1.029-1.411 1.886.515-.525 1.259-.571 1.411-1.886zM1734.59 710.034c.983.685 1.253-.177 1.727-.589a4.306 4.306 0 0 1-.232-.411c-.13 1.134-1.129.381-1.495 1zm-3.753 8.6c1.573 1.315 2.509-1.956 2.125-2.828-.662 1.136-.816 2.031-2.125 2.828zm151.426-196.608.001.001v-.002zM1736.1 708.973c-.019 0-.029-.009-.048-.01l.035.071c.001-.023.013-.034.013-.061zm-13.515 10.368c.127-1.175 1.172-.354 1.3-1.533a1.968 1.968 0 0 1-1.24-.821c-.321.935-.914 2.013-.06 2.354zm-3.185 13.547c-.5 1.053.2 1.959-.861 2.473.668.143.613.658 1.238.824.336-1.331.941-2.804-.377-3.297zm2.706-7.775c.867.251 1.3-.307 1.239.824-.743-.365-1.308-.36-1.61.237 1.23 1.114-.635 4.276-2.3 5.536 1.231.691 1.207.419 1.915 1.06.242-3.852 3.058-5.508 3.07-8.836-.56.853-1.805.211-2.314 1.179zm3.23-6.013c.08 1.954-1.6 2.985-1.257 4.712 1.114-1.816 2.47-2.355 2.277-4.357-.339-.114-.679-.235-1.02-.355zm-17.549-12.012c-.164.472-.324.946-.491 1.413a.79.79 0 1 0 .491-1.413zm2.751-.236c-.422.991-.538 1.827-.059 2.358a1.677 1.677 0 0 0 .059-2.358zm-34.78 77.048c1 .168-.939 1.832.065 2 .516-1.36 2.532-1.712 1.446-3.064-.096 1.238-1.287.094-1.511 1.064zm47.368-86.939c-.052.8-1.229 2.174-.52 2.591.852-.43.866-1.921.52-2.591zm-12.768 12.601c-.093 1.236-.908.926-1.51 1.063.137 1.715-1.593 2.592-2.276 4.356a2.9 2.9 0 0 1 1.669 1.768c.145-2.079 2.999-4.664 2.117-7.187zm45.042-51.713c.068-.2-.136-.5-.341-.118.864.338.009 1.546.873 1.887a1.078 1.078 0 0 1 .923-.471c.63-.9-.161-1.086.271-1.887-.985-.688-.87 1.003-1.726.589zm17.56-79.041c-.427.988-.538 1.821-.056 2.355.754-.38 1.181-2.077.056-2.355z\",\n fill: \"none\"\n })), _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1922.89 463.24c-1.256-.458-1.526 1.236-2 2.476 1.177.284 1.51-1.271 2-2.476zm-86.961-16.25c-.4.793-1.328.427-1.857.944.807.268.8.954 1.92 1.055.355-.855.66-1.689-.063-1.999zm3.692 8.01c-.645 1.107.124 1.49.868 1.888.548-1.056-.505-1.298-.868-1.888zm-1.313 7.067c.135-.939.756-2.129-.283-2.476-.135.943-.754 2.13.283 2.476zm-8.281 11.782c.2-1.659 2.251-2.5 1.685-3.771-.575.844-2.257 2.496-1.685 3.771zm56.11 53.477c.376-.624 1.191-.3 1.3-1.53-.422-.086-.945-.4-1.143 0 1 .18-1.32 1.022-.157 1.53zm-5.929 3.887a2.529 2.529 0 0 0-.954 1.649c.341.121.682.238 1.021.356.881-.424.125-1.298-.067-2.005zm3.753 5.655c-.549 1.54-1.235 3.147-.671 4.124.464-1.316 1.195-4.275.671-4.124zm-74.424-19.433c.455-.871 1.384-.718 1.757-1.768-.84-.329-2.274 1.194-1.757 1.768zm68.17 27.565c.707-1.525-.173-2.243-.842-3.065-.309 1.318.385 2.131.842 3.065zm-.182 2.705a1.543 1.543 0 0 0-.393 2.239c.092-.21.194-.4.461-.237.214.05.421.088.464-.236-.669-.338.136-1.426-.532-1.766zm-71.267-17.55-1.019-.352c-.644 1.2-.2 1.846-.179 2.709-1.126 4.888.479-1.619 1.198-2.357zm-13.758-3.181c-.086.916-1.318 2.418-.642 2.945.657-.796 1.418-2.161.642-2.945zm81.229 36.044c.434 1.321-1.3 3.482-1.137 4.277l1.563-3.21c.058-.499-.042-.904-.426-1.067zm-84.519-27.681c-1.2.484-.873 1.23-.4 2.241 1.25-.068.304-1.165.4-2.241zm-1.32 2.71-1.022-.353c-.155.7-.657.649-.834 1.3 1.01.531 1.271-.56 1.856-.947zm11.394 11.071c.892.65-.753.74-.612 1.77.738.366 1.306.356 1.6-.236-.951-.03.274-2.613-.988-1.534zm-12.955-3.295c-.129 1.165-.948.834-1.081 2l1.024.354c-.533-1.153 1.448-1.777.057-2.354zm3.878 5.302c-1.837.232.322-3.045-.749-2.24-1.025 1.422-.527 3.736.749 2.24zm-7.543-.237c-.39 1.07-1.007 2.258.284 2.471.125-.543.574-1.258.151-1.528-.069.195-.418.3-.34-.118.018-.301.233-.702-.095-.825zm4.225 9.78c.328-.94.57-2.065 1.2-2.36-.452-.155-.9-.313-1.357-.469-.014.975-.944 2.415.157 2.829zm-10.714 3.414c-.715 1.722-.813 3.129.13 4 .067-1.388-.077-2.672-.13-4zm-10.586 35.927c-.452-.155-.907-.315-1.363-.471a3.915 3.915 0 0 0-.3 3.063c-.049-1.03 1.9-.73.956-1.648-1.49.647-.154-1.385.707-.944zm-7.996 18.614c-.9.922-.311 1.6-.179 2.708.444-1.096.756-2.131.179-2.708zm6.296 9.306c-.222.4-.451.085-.679-.234-.325.938-.914 2.013-.061 2.353-.212-1.716 1.169-1.081.74-2.119zm-4.789-.472c-.6.39-1.725 2.813-1.231 3.534.602-.391 1.731-2.812 1.231-3.534zm2.575 6.834c.572-1.626 1.343-2.7 1.353-3.889-.17.248-.423.313-.8.119.354.979-1.071 2.871-.553 3.77zm-17.935 8.831c-.377 1.155-2.67 2.605-.762 3.3-.522-1.344 1.409-2.134.762-3.3zm4.518 2.359c-1.252.056.139-1.236-1.113-1.18-.214 1.17-1.3 1.166-.273 1.887.268-.659 1.208.142 1.386-.707zm-8.341-.116c.63-.289.787-1.6 1.416-1.886-1.425-.479-1.992.837-1.416 1.886zm5.015 5.298c-.09 1.241-1.286.094-1.51 1.06 1.989-.327-.006 4-.4 2.241-.173.861-.182 1.642.406 2.118 1.163-.426 2.031-4.096 1.504-5.419zm-2.995 15.195c.167-1.293 1.538.03 1.637-1.409-.34-.12-.682-.238-1.022-.356-.268.145-1.382 1.399-.615 1.765zm-4.998 3.416c.313 1.008-1.161 2.921-.084 3.534-.43-1.475 1.798-2.601.084-3.534zm-6.83-1.174-1.024-.353-.735 2.12c1.225.786.894-1.78 1.759-1.767zm-15.781 19.084c-.569.757-1.393 2.395-.3 3.061-.269-.832.797-2.345.3-3.061zm-28.603 76.8c-.028.988-1.718 2.815-.3 3.062-.655-1.602 2.411-1.992.3-3.062zm-16.467 26.18.654-.226a1.875 1.875 0 0 1 .6-1.917c-1.487-.445-1.654 1.107-1.254 2.143z\",\n fill: \"#7083d9\"\n })), _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1814.09 517.743c-.074.134-.147.27-.223.4\",\n fill: \"none\"\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1892.41 499.407-.049-.28c-.045.082-.092.161-.139.242a1.731 1.731 0 0 0 .188.038zm-5.481 9.193a4.966 4.966 0 0 0 .105.793c.409-1.779 1.62-1.818 2.018-3.62a16.328 16.328 0 0 0-2.123 2.827zm4.241-10.017c-.853 1.617-3.289 3.8-2.335 6.715.822-2.583 2.318-4.085 3.387-5.929-.583-.144-.666-.54-1.052-.786zm-4.146 10.838h.016l-.006-.028c-.003.007-.007.016-.01.028zM1673.6 787.9a1.483 1.483 0 0 0 .214-.253c-.129.033-.222.106-.214.253zm232.214-288.844a8.852 8.852 0 0 1 1.206-3.3 7.865 7.865 0 0 0-2.351 5.651z\",\n fill: \"#7083d9\"\n })), _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1898.866 511.538c.484-1.067-1.3.559-.9-.7 2.232-2.425 3.135-8.616 3.864-13.308.439.306.428.619 1.021.353-1.73-3.006 1.6-6.369 1.586-8.953-.169.245-.25.693-.587.586 2.609-4.972 5.1-12.03 5-17.669.454.159.907.314 1.358.473.6-5.906 1.947-14.519 5.859-20.145q-1.149-.291-.654-1.414c4.2-10.095 6.781-21.931 9.894-32.819q-.681-.606-1.4-1.162a104.39 104.39 0 0 1-4.495 10.422c.022-.3.236-.7-.087-.822-.639 1 .694 1 .06 2-.916-.353-.889.353-1.357-.472.1 1.922-1.443 3.852-2.306 5.537.93.776 1.02-.264 1.6-.232-.435.8.355.98-.273 1.883-.677-.239-.1-1.114-1.112-1.179-1.023 1.49.715 1.576-.3 3.062-1.543-.77-.991 1.655-2.345 2.356 1.013 1.138.982 1.292 1.8 1.413-.647.854-1.119 1.479-.4 2.237l-1.019-.352c.06.8.388 4.058-1.351 3.89.95-1.395-.337-3.533 1.72-4.95-2.81-.808-1.885 7.161-4.869 7.422 2.3-7.985 4.949-13.756 7.957-21.791-.535-.344-1.054.222-1.024-.354.414-.554.313-2.219 1.08-2 .7.7-1.338 1.184.189 1.65a27.845 27.845 0 0 0 1.749-6.126c-.276.692-1.734 1.948-2.069.471a32.955 32.955 0 0 0 3.176-6.4 23.98 23.98 0 0 0-19.167-1.284l-44.706 15.508a118.296 118.296 0 0 0-1.207 3.6c-1.758-.161-3.131 3.638-1.474 4.242.592-1.077.515-1.813.056-2.355.632-.281.667-1.859 1.854-.944-.652 1.8-2.245 7.562-2.619 4.243-.676 5.905-3.77 6.7-4.516 11.9-3.594-.269-3.194 7.3-4.838 6.24a3.94 3.94 0 0 1-2.278 4.363c.188-3.36 1.567-5.246 1.437-7.423-.3 1.21-.708 2.192-1.541 2.239a4.017 4.017 0 0 1-1.6 4.6c1.533.468-.294 1.5-.614 1.763.953.82.66-1.053 1.608-.234a12.512 12.512 0 0 1-3.6 7.069 1.678 1.678 0 0 0-.192-1.652c-.185 2.147-2.783 3.731-.916 4.832.457-.663.388-2.467 1.2-2.356a8.683 8.683 0 0 1-2.768 5.774c.2-.451.941-2.541.15-1.533-.9 1.528-.3 2.285-.425 3.416-3.712 2.7-3.738 5.582-5.819 9.072 1.062.912-.016 2.916-.453 4.593a1.649 1.649 0 0 0-1.144 0c-.93-.206.211-1.466-.993-1.535-.593 1.4-1.152 4.8-3.352 6.364.389 1.131-.31 5.672-2.646 5.417.555-2.575.922-4.878 2.086-6.006-1.011-.783 3.179-7.057.973-7.186.6-.134 1.262-.156 1.511-1.061a24.457 24.457 0 0 0-1.178-3.18c2.369 1.019-.408-2.514 1.877-2.119.7-1.033-.626-1.038-.527-1.77.66-.836 1.651-.964 2.221-2 .2-8.942 6.416-16.979 8.378-25.211-.948 1.667-1.605 3.955-3.079 4.478.124-.652 1.572-1.43.739-2.119-.528.51-.731 1.721-1.418 1.882.084-2.109 2.332-2.751 2.03-3.649-.879 1.974-1.248-.539-1.361-.473-.817.489-.27 1.884-2 2.475.614.3.886-.137 1.483.116-.351.689-1.162.374-1.516 1.061 1.753 6.126-4.12 12.667-4.343 19.086-1.856-.306-1.373 1.257-.49 1.413a4.485 4.485 0 0 1-2.9 1.765c1.776 2.264-2.228 5.688-1.342 8.247-2.81 1.449-2.184 7.218-3.314 9.542.169-.25.425-.312.8-.116-.29 1.3-.176 2.191-1.324 2.707-.541-1.121.733-.482.953-1.649-3.308 1.694-2.83 6.415-4.924 9.777a7.7 7.7 0 0 1 .287 2.473c-1.183.325-1.563 2.4-2.157 4.007.891.61 1.351 1.443.5 2.945 2.98-.994 3.523-4.539 3.938-6.953.862 1.686 1.782-.188 2.136 1.532-2.068.325-2.754 5.538-3.619 7.379.29-.523.6-1 1.284-.663-.355 1.069-.135 3.343-1.349 3.886.859-1.687-.723-1.794.861-2.473a5.639 5.639 0 0 0-3.365 2c.959.629.837-1.07 1.947-.116-.127.357.131.519.1.827-1.11.153-1.716 3.73-2.684 2.235-.339 2.765-1.953 6.494-4.282 6.834-.7 4.573-.9 8.295-3.155 12.37-.53-.115-1.209-.56-1.483-.116.656.54.421 1.528.746 2.236-1.221-.306-.3.966-1.049.826.088-.528-.606-.665-.774-1.06a2.5 2.5 0 0 1-.955 1.645c.958.632.841-1.07 1.946-.117-.355.863.157 1.282.067 2-1.735.926-.266 3.847-2.431 5.89-.418-.272-.47-.729-1.236-.826-.339 1.337 1.085 1.775.845 3.065-.461-.255-.377-.782-.775-1.063 1.854 2.623-2.343 5.854-2.8 6.952.214-.356.853-.655.8-.119-2.64 5.48-3.605 10.63-5.528 15.906-.393-.1-.35-.7-.677-.238-.548 2.5-1.006 16.08-4.3 12.371-.174.245-.255.69-.586.588.09-.435.4-.982.028-1.176-.914.905-.586 3.289-.919 4.827a6.112 6.112 0 0 0-1.727.589c1.471 3.452-2.859 3.929-2.8 6.948-.93-.2.212-1.461-.988-1.526 1.52 4.6-3 9.883-3.8 15.311-.943-.2 1.005-1.87-.531-1.769-.336 4.006-3.916 10.489-4.6 15.435-.66-1.44-.924 1.141-1.853.942-1.195-3.9 2.027-6.5 1.646-11.31-.562.022-1.618-1.021-1.825-.234 2.762 2.241-.665 5.967-.57 9.3-.587-.032-.675 1.012-1.605.239 1.009 3.43-1.365 8.683-3.957 12.485 1.125 1.567-1.433 3.38-1.163 5.536-.24-.942-1.758-1.241-1.43-2.475 1.037-.1 1.09 1.6 1.485.12-2.337-1.331.941-5.328.391-6.6-.4.878-.418-.69-1.361-.473.407 1.844-1.077 2.858-.456 4.591-1.309.427-3.352 3.014-.737 2.12-2.394.521-1.812 3.9-3.884 4.6 1.611-3.752.551-5.7 1.469-8.6-1.759 1.255-1.439 2.431-2.156 4a1.656 1.656 0 0 1-.9-.707c-1.967 5.052-2.808 8.586-6.342 11.663.382.193.989.271.895.705-2.191 1.778-3.062 6.208-3.748 8.6.191-.419.394-.8.923-.473-.52 1.554-.861 3.5-2.247 3.18-.157.859 1.373.853.869 1.885-1.138.83-2.656.845-3.7 1.884 1.713-.65.352 5.491-1.446 3.064-.991 2.128-.4 3.681-2.739 4.6a6.908 6.908 0 0 1 .964 2.708c3.341.9 3.463 1.774 6 2.474-.07-2.135 0-3.654 2.372-3.534-.772-.708.266-3.528 1.352-3.887-1.306-3.154 2.748-5.454 3.655-9.424 1.574.773.811-1.04 2.316-1.178a36.4 36.4 0 0 0-.549 3.77c-.877-.874-1.338-.4-2.284 0 .831.838-.05 2.552-.983 2.827 1.277.913 1.122-1.279 1.972-1.294a37.833 37.833 0 0 0-.111 4.71c-2.133.021-2.931 2.672-2.742 4.592-1.034.426-1.153.383-1.7-.587a11.728 11.728 0 0 1-3.657 9.423c2.156 1.8-2.1 3.513-1.72 4.947a1.865 1.865 0 0 1 1.39-.706c-.623 1 .221 1.241-.4 2.237-1.3-.541-1.687.889-2.434 1.533.512.557 1.5-.664 1.359.468-1.41 2.855-2.076 3.889-1.871 6.482-1.223-.08-2.083-.711-2.781 1.414a1.938 1.938 0 0 1 1.237.823.718.718 0 0 0 .087-.127c-.655 1.09-1.6 1.918-.9 3.416.019 0 .029.009.048.01 0 .025-.01.038-.013.061a4.306 4.306 0 0 0 .232.411c-.474.412-.744 1.274-1.727.589.366-.619 1.365.134 1.5-1l-.035-.071c-1.659-.147-1.066-1.928-.789-3.054-.94 2.251-5.1 2.339-2.96 4.127-2.04 3.213-4.258 5.088-6.717 8.36-.458-.252-.375-.779-.777-1.058-1.353 1.617.7 3.586-1.446 3.064.56-1.741 1.568-3.707.917-4.832-.274.642-.634 1.1-1.17 1.182 1.34-1.282-1.2-.786.425-3.417-1.4-.165-.684-1.4-1.677-1.771-.835.658-1.274 2.193-2.342 2.358-.035-3.091.8-4.7 2.771-5.773.009.58-1.031 1.688-.275 1.886.5-2.017.775 1.66 1.269-.354-1.032-1.536-.641-2.806-.814-4.24 1.124 1.192-.356-1.925 1.758-1.768-.116-.721-.883-1.1-.869-1.885 3.116-1.99 4.709-7.448 6.186-10.133-.581.387-.841 1.481-1.849.945.121-.354-.131-.517-.1-.824 1.9-.56 1.026-3.516 3.052-3.3.6-1.828.263-1.868 1.322-2.708-.638-.578-1.655-.365-.744-2.237.655.343.332 1.184.989 1.531 1.106-2.738 1.593-8.225 4-9.309-3.634-6.417 6.2-11.093 3.7-16.137.453.152.529-.51.928-.469q-.782 1.27.652 1.414c.518-1.828.642-1.72 2.157-4.007-2.059-.125-2.756 2.706-4.536 3.182-.369-.977.668-2.67 1.01-4.006-1.149.112-2.285 3.277-2.616 4.241-.017.046 1.032.57.774 1.06-.246.464-1.271.578-1.516 1.061-1.146 2.246-.639 6.29-3.137 6.829a1.79 1.79 0 0 0-.28-2.471c-1.3 6.173-3.573 9.456-5.65 16.254-.343-.116-.31-.424-.559-.586-.034 2.565-2.2 4.65-1.556 7.774-.46-.254-.375-.783-.778-1.063a17.883 17.883 0 0 0 .008 4.36c-.557-1.029-1.536.788-2.529.705q1.141.289.649 1.416c-.76.611-.674-.735-1.144 0-.227 1.959-.776 4.082-.479 5.775-.63-.2-.523-2.212-1.457-1.3.988 2.833-3.54 7.917-4.582 9.9.777-.9.7 1.478-.149 1.531.686.765 1.547-1.028 1.48.121-1.5.011-1.34 2.677-2.123 2.827-1.4.131.211-1.272-.655-1.415a18.663 18.663 0 0 0-3.421 4.356c-.326-3.829 4.617-9.423 3.678-14.957-.9.021-.256 1.647-.4 2.237-2.323-.543-.615 1.161-1.76 1.767-2.44-1.845 1.507-3.728 1.162-5.539-.185.418-.388.805-.925.473.122-.354-.132-.515-.094-.825.989-2.131 3.592-5.609 1.871-6.477.762-1.672 3.541-2.219 3.3-4.006-1.253 1.617-2.592 3.054-4.536 3.182-.461-.194.677-2.615-.187-1.649.205 2.951-.314 3.85-1.069 6.36.635-.073.524-1.757 1.511-1.06-.476 1.032-.578 2.878-1.662 2.593-.189-1.216-1.968-.089-1.263.35.638-.85 1.146.731 1.111 1.179-.525-.107-.609.747-.83 1.3a1.956 1.956 0 0 0-1.482-.118 6.305 6.305 0 0 0-.182 2.707c-3.43 3.844-2.027 11.392-4.553 15.346.61 1.221-.856 2.693.112 2.914-.464.288-1.7 2.023-1.2 2.357.665-.011.556-1.687 1.294-1.532.359.2.393.574.434.939-1.244.607-.837.927-.738 2.123-.465.225-.929.46-1.384.706a48.477 48.477 0 0 1-1.166 5.536 1.64 1.64 0 0 1-.9-.7 2.275 2.275 0 0 1-1.2 2.353 6.815 6.815 0 0 0-.84-3.061c.01 1.741-1.215 4.111.105 5.181.419-.56-.484-1.811.614-1.766a9.194 9.194 0 0 0 .373 3.3c-.591-.259-.914.075-1.042.821-.586-1.077-2.017-.241-2.752.24 1.163.664 1.571-.315 2.627.115-.86 1.54.406.556.311 1.3-.477 1.858-1.936 1.577-2.589 3.062-.929-.789-.549-2.245-1.179-3.181-.907 1.915.545 2.629.007 4.357-.836-.336-.829-1.04-1.482-.118 1.323 2.96-.947 7.246-1.615 10.132 1-.181-.242-1.28.829-1.3.45.258.118.909.314 1.3-.9-.095-1.2 1.114-2.409.353.52 2.406-1.263 4.2-1.654 6.948-.617.154-2.84-.024-1.978 1.3.192-.42.393-.8.931-.471a22.77 22.77 0 0 1-1.385 5.063c-2.462-.6-3.285 2.375-5 3.418.215.952.982-.159.9.707-2.925 3.04-3.531 5.3-6.067 9.776.259-2.5-1.229 2.054-1.606.235.175 1.661-.195 4.287-.948 5.283.379-.1 1.133.2 1.2.521l108.341-37.582 85.682-176a28.618 28.618 0 0 1 3.422-11.216c-1.567-.508-1.86 1.753-3.241 1.646 2.029-3.494.824-6.763 2.388-9.067.228.077.456.155.682.234.785.087.476.728.31 1.295 1.234-.274.46-1.949-.867-1.882.39-1.17.037-1.96.765-3.3.725.307.421 1.142.063 2 1.815-.551.9-3.66.825-5.652-.088-1.439 1.231.186 1.388-.707-.193-1.619 2.252-9.286 4.026-10.484-.119-1.067-.316-1.353-1.453-1.3.237-1.343.815-1.949 1.756-1.768-1.228-1.958.916-3.642 2.181-5.181.4-1.266-1.385.361-.894-.708.295-.907.4-.343.8-.118.487-1.313-1.091-1.575-.034-3.178a7.51 7.51 0 0 0 2.939 1.41c.227-.791-1.391-.65-1.92-1.058.2-1.628 1.428-1.032 1.881-2.121a2.15 2.15 0 0 1-1.793-1.411c-.341-.857-.09-1.8 1.411-1.886-.152 1.315-.9 1.362-1.411 1.886.856.252 1.281-.3 1.7.586-.349-2.029.506-1.873 1.57-3.418-.744-.416-1.46-1.629-3.063-1.059.9-.936 1.649-2.207 2.592-3.061.856.34.263 1.417-.062 2.355-.133.648 1.449-.091 1.948-.116.089-.862-.679.245-.9-.71.395-.789 1-1.14 1.2-2.353.883-.356.422.18 1.363.47-.231-2.584-2.93-2.36-1.832-4.6a1.03 1.03 0 0 0-1.05.827c-1.5-4.91 4.548-9.206 3.4-13.079 1.133-.854 1.231-.082.958-1.648 1.879-.067 2.021 1.434 2.276 2.9a9.225 9.225 0 0 0 .538-1.133c.933.761.845.475 1.82.236.092-1.325-2.285.265-2.253-1.178 1.139-.2.391-3.183 2.275-4.359.056-.537-.585-.236-.8.117-.657-.875 1.457-.93 1.537-2.237a2.692 2.692 0 0 0-1.048.822c-.936-.583.589-.64.49-1.414-.33-.1-.412.345-.586.59-.854-.438.322-1.905-.281-2.471.871-.315 2.319-1.236 1.2-2.357 3.147-4.088 5.016-9.13 6.735-13.9.339.118.679.238 1.019.355-.1-3.851 1.746-6.68 2.76-10.13 1.653 3.391-1.732 7.015-2.664 10.956-.512 2.17.256 4.358-1.07 6.36-1.446-.138.4-1.95-.28-2.472-.542.084-.164 1-.954 1.647 2.214 4.812-2.539 10.74-4.047 16.021-1.237 4.329-.965 8.5-2.446 11.425-.425.112-.634.694-1.267.356.505 1.545-1.136 2.578-1.474 4.243-1.277.1-.715-.7-1.172 1.173-.421-.885-.839-.331-1.7-.586.1-1.031.939-.438 1.389-.7-.353-.7-.5-1.494-1.209-2 .474-.622 1.313-.452 1.852-.946.146-.754-.682-1.011-.532-1.765-1.365.316-1.268 3.252-3.157 3.648.593 2.775 3.348 3.661 2.565 6.836.891.082 1.216-1.073 1.755-1.768.754 3.205-2.167 5.105-1.1 7.54-.5.352-.779 1.2-1.508 1.061-.123 1.073.494 3.728-.888 3.649-.195.684 1.039.638.651 1.417-3.024 1.578-1.569 7.446-4 9.3.923 2.277-.865 6.38-1.9 7.656a3.013 3.013 0 0 1 .378.807l13.525-27.782a19.663 19.663 0 0 1 2.354-6.606zm16.126-71.621c-.928-.328-.227-1.943.4-2.236 1.486.369-.238 1.637-.4 2.236zm-93.434 48.418c.672 1.108-.927 2.5-1.229 3.536-.592-.922.771-2.834 1.229-3.536zm-6.051 18.5c-.524 1.2-1.286-1.163-1.482-.119.09-.94 1-2.259 1.57-3.418 1.412.442-.895 2.785-.088 3.535zm-68.919 151.135c1.147.305.852 2.475-.614 1.766a1.436 1.436 0 0 1 .614-1.768zm.148 12.72c-.529-.328-.736.054-.925.471-.6-1 1.462-.958.859-2.47.377.192.638.13.8-.119.43 1.036-.947.403-.734 2.116zm-23.61 26.273c.346.67.332 2.161-.52 2.591-.706-.419.468-1.792.52-2.593zm-47.3 88.938c-1-.172.937-1.836-.065-2 .224-.965 1.415.179 1.511-1.06 1.083 1.346-.933 1.698-1.449 3.059zm34.715-79.047a1.677 1.677 0 0 1-.059 2.358c-.482-.533-.366-1.369.056-2.36zm-2.751.236a.79.79 0 1 1-.491 1.413c.164-.469.324-.943.488-1.415zm-1.215 7.893c.683-1.764 2.413-2.641 2.276-4.356.6-.137 1.417.173 1.51-1.063.882 2.523-1.972 5.108-2.117 7.187a2.9 2.9 0 0 0-1.672-1.77zm16.071 2.006a1.968 1.968 0 0 0 1.24.821c-.126 1.179-1.171.358-1.3 1.533-.855-.343-.262-1.421.057-2.356zm-2.862 19.2c-.625-.166-.57-.681-1.238-.824 1.061-.514.362-1.42.861-2.473 1.311.489.706 1.962.374 3.293zm1.568-3.415c-.708-.641-.684-.369-1.915-1.06 1.666-1.26 3.531-4.422 2.3-5.536.3-.6.867-.6 1.61-.237.061-1.131-.372-.573-1.239-.824.509-.968 1.754-.326 2.313-1.179-.014 3.324-2.83 4.98-3.072 8.832zm2.73-8.955c-.339-1.727 1.337-2.758 1.257-4.712.341.117.681.238 1.02.355.19 1.998-1.166 2.538-2.28 4.353zm6.758-5.181c1.309-.8 1.465-1.692 2.125-2.828.381.868-.555 4.139-2.128 2.824zm6.231-13.291c.229-.684-.534-1.476.411-1.434a3.092 3.092 0 0 1-.414 1.43zm19.859-54.091c.633.26-.731 1.224-.957 1.646-1.225-.864.258-1.476.954-1.65zm-4.792-.469a1.4 1.4 0 0 1 .055-2.359c.477.528.365 1.362-.058 2.355zm1.843-5.3a2.694 2.694 0 0 1-.523 2.593c-1.201-.823.37-1.24.52-2.601zm-.643 17.2a2.51 2.51 0 0 1 .273-1.884c1.127.2.571 1.259 1.337 1.647a1.582 1.582 0 0 1-1.613.229zm3.515-3.532a1.078 1.078 0 0 0-.923.471c-.864-.341-.009-1.549-.873-1.887.2-.379.409-.078.341.118.861.414.746-1.277 1.726-.589-.435.793.356.975-.274 1.879zm.4-2.24c-1.127-.278-.7-1.975.054-2.356.849.333.257 1.409-.06 2.348zm7.284-17.671c-1.073-.517.148-3.342 1.326-2.709-1.002 1.076-.546 1.724-1.332 2.701zm2.65-5.419c-1.019-.529-.383-2.861.425-3.416.582.093.463.539.895.706-.327 1.158-1.128 1.285-1.326 2.702zm16.484-34.279a1.541 1.541 0 0 1 .4-2.237c1.358.1-.036 2.067-.406 2.229zm.983-2.828c-.934-1.17.728-3.665 1.165-5.536.479.86.755-.031 1.235.824a11.89 11.89 0 0 0-2.406 4.704zm18.162-46.767c-1.264-.156-.788-1.66-.066-2 1.264.026.142 1.273.06 1.992zm8.665-22.735a8.673 8.673 0 0 1 1.967-5.651 13.658 13.658 0 0 1-1.973 5.643zm6.811-21.79c-.688.731-1.146-3.454.862-2.477-.454.741-1.308 1.567-.868 2.469zm7.332-10.132c.13-1.164.8-1.167 1.079-2 .66.538.297 2.747-1.085 1.992zm20.835-39.111c-.5-1.195-.726-3.761.578-4.945 1.043 1.638-.324 2.709-.584 4.937zm39.531 58.429c-.863-.626-1.054.192-1.823-.234.33-.939 1.259-.575 1.849-.946.372.186.059.738-.032 1.168zm.734-2.121c-.363 1.024-2.21.169-2.5-.472.767-1.242 1.45.21 2.494.464zm22.739-61.021c1.727 3.267-2.154 7.2-2.664 10.958-1.299-3.016 1.801-8.128 2.658-10.966zm-16.431 60.43-1.032-.36c.163-.469.33-.939.491-1.412.939.206.951.872.535 1.764z\",\n fill: \"#7083d9\"\n })), _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1704.046 720.048c.018-.027.031-.059.049-.087l-.022-.043c-.007.043-.016.082-.027.13zm-.217-.47a1.524 1.524 0 0 1 .244.34c.027-.17.008-.313-.244-.34zm105.283-198.727c-1.2-.255.43 1.68-1.049.823-.3 2.039-.279 4.4-1.625 5.772 1.439-.214 1.024.387.534 1.765 1.075.582 2.971-2.61 2-2.472-.242.508-.331 1.348-.833 1.3-1.269-1.877 1.994-5.925.973-7.188zm31.123-81.871c-.393-1.158 1.313-3.385.794-4.477-.067.2-.414.306-.343-.119.267.012.455-.139.553-.479l-.978.339c-.719 1.288-.177 4.707-.026 4.736zm-1.397-3.653c-.9 1.673-.776 1.92-1.691 3.772-2.544.066-4.017 7.071-3.413 8.715.783-2.716 2.581-6.341 1.529-6.6.947-.682 2.317-2.889 3.029-2.121-.455 1.83-2.841 5.867-1.994 6.831.951-2.361 2.967-7.709 2.54-10.597zm-3.024 16.373c.47-1.306-.835-1.711-.964-2.711-.282 1-.944 1.034-1.265.353-.127.55-.576 1.264-.15 1.534a6.288 6.288 0 0 1 1.51-1.061c.322.612-.63 1.872.869 1.885zm.379 3.3c-.277.741-1.76 2.23-.641 2.945-.396-1.061 1.324-1.775.641-2.945zm-38.007 58.9c-.628 1.135-2.316 3.207-1.938 4.476.522-1.376 2.1-3.69 1.938-4.476zm79.37 32.627c.3-.534.473.2.092.823.637.065.694.828 1.021.354-1.005-.736.622-.567.711-.943-.409-2.194-1.439-2.177-1.824-.234zm-4.082 12.839a1.391 1.391 0 0 0-.057 2.354c.68-1.022.168-1.441-.068-2 .191.066.485-.154.125-.354zm-82.809-22.731c.74-1.234 2-2.157 1.229-3.535-.094 1.5-1.689 2.891-1.229 3.535zm-14.04 37.105c.249-1.286-.27-2.19-.375-3.3-.1.209-.2.4-.465.236-.083.234-.164.47-.246.707 1.361.759-.059 2.063 1.086 2.357zm-3.542 4.715c-.13-2.742 2.792-3.238 1.841-5.305-.28.523-.83-.011-1.021-.353-.333.935-.532 2.149-1.416 1.889-.5-.615 1.827-2.643.426-3.418-2.64 9.057-5.429 15.95-8.6 24.737.684-.378 1.029-1.493 1.757-1.767-.018.3-.231.7.093.824.173-.245.255-.691.591-.59-.77 1.189-.739 3.453.162 2.828-.919-.983.418-2.281 1.1-3.182-.331-1.111-2.027.13-1.8-1.409 1.983-1.831 1.06-6.315 3.474-6.715.454 1.568-2.913 4.657-.727 6.478.716-2.007.767-4.74 2.769-5.774a32.257 32.257 0 0 1-.65-1.413c1.047-1.093.521.511 1.139 0-.638-.962 1.922-3.186-.062-2a13.375 13.375 0 0 0 3.625-8.245c-.864 2.36-1.757 2.248-2.701 3.415zm-.179 2.708c-.482-.534-.371-1.367.056-2.355 1.125.278.698 1.975-.06 2.355zm15.789-.472c.021-.688 1.132-1.934.4-2.24-.124.84-1.716 1.555-1.077 2.006.217-.403.45-.088.677.234zm-14.969 23.322c1.485-1.2 1.075-3.539.919-4.827-.119 1.514-1.131 3.483-.919 4.827zm-.5-2.943c-.53-.115-1.209-.56-1.486-.117 2.027.7.462 1.662-.179 2.709 1.881.985 1.216-1.699 1.665-2.592zm-13.172 10.483c-.174.251-.426.315-.8.119.123 1.561-1.307 2.563-.889 3.652 1.089-.96 2.273-2.177 1.689-3.771zm7.286 10.841c.208-1.6.91-1.949-.04-3.184-.154.7-.65.651-.828 1.295 1.298-.048.118 2.617.868 1.889zm-5.887 7.064c-.423 2.115-2.271 4.773-.727 6.483-.81-2.175 1.31-4.682.727-6.483zm-4.167 2.124c-.607.314-.906 1.157-.152 1.526.19-.414.394-.8.93-.466l-.25.7c1.388.593.234-1.609-.528-1.76zm-11.857 17.667c.334-1.087 2.25-1.922.984-2.827.024 1.357-1.62 2.203-.984 2.827zm-90.741 145.97-.01-.013-.006.019z\",\n fill: \"#7083d9\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2657.0 162.0) rotate(0.0 435.0 776.5) scale(0.998937910841921 0.9998879713412664)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 870.925,\n height: 1553.174,\n viewBox: \"0 0 870.925 1553.174\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#91a0e2\",\n height: 1553.174,\n rx: 71.609,\n width: 870.925\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#f3ead9\",\n height: 1347.652,\n rx: 44.668,\n width: 814.814,\n x: 28.056,\n y: 68.087\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n height: 26.217,\n rx: 13.109,\n width: 118.957,\n x: 402.202,\n y: 20.348\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n height: 26.217,\n rx: 13.109,\n width: 26.217,\n x: 349.767,\n y: 20.348\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M536.941 1420.739H72.723a5 5 0 1 1 0-10h464.218a5 5 0 0 1 0 10zm261.259 0H697.767a5 5 0 0 1 0-10H798.2a5 5 0 0 1 0 10z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2828.0 432.0) rotate(0.0 232.0 352.0) scale(0.9981285090455396 0.9993214834246067)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 464.87,\n height: 704.478,\n viewBox: \"0 0 464.87 704.478\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M232.435 0C104.065 0 0 104.064 0 232.435v130.3h66v-130.3C66 140.662 140.662 66 232.435 66s166.434 74.662 166.434 166.434v130.3h66v-130.3C464.869 104.064 360.805 0 232.435 0z\",\n fill: \"#91a0e2\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.3 320.275c-.681.016-.5-.679-1.777-.178q.067.353.137.706c.62-.149 1.567-.184 1.64-.528zm22.708 9.461c-2.132.046-3.607.781-5.426 1.186 1.443-.18 4.954-.11 5.426-1.186zm4.12-1.201c.586-.233 2.228-.1 2.058-.6a4.282 4.282 0 0 0-3.277 1.054c1.5-.079 2.365.33 3.369-.584-.634-.02-2.124.654-2.15.13zm22.507-5.119c-1.26-1.213-4.682.48-5.474.948 1.739-.299 3.882-1.291 5.474-.948zm-35.275 6.602c-.03.5-1.051.66-1.081 1.163 1.182-.248 2.927-.3 2.855-.983-1.272.502-1.096-.193-1.774-.18zm7.2-1.006a2.079 2.079 0 0 0-2.434.911c.786.277 1.866-.465 2.434-.911zm407.208-40.875c-1.218.165-2.3.368-1.971 1.073a6.12 6.12 0 0 0 2.573-.2c.008-.464-.578-.438-.602-.873zM7.86 319.8c.1.234-1.725.792-.284.782.225-.754 1.383-.1 2.1-.367-.056-.316-.119-.63-.181-.943-2.384-.57-4.039.869-5.293 1.891 2.212.025 2.49-1.757 3.658-1.363zm21.609-3.015c-.671-.847-4.268-.151-5.1.638 1.106.277 3.417-.439 5.1-.638zm-9.769 8.027c-.5.98 3.416.543 2.992-.277-.638-.355-1.811.594-2.992.277zm25.948-.847c-.706.668-3.943-.027-4.118 1.2 1.739-.674 3.336-.113 4.118-1.2zm-6.601-7.136c2.63-.328 4.663-.869 5.3-1.895-3.12.3-3.586.207-5.567.481 1.334.067-.3.885.267 1.414zm-2.18-2.303c1.046.24 3.005.276 3.321-.82-1.554.425-3.988.677-3.321.82zm-4.506 3.706c1.115-.124 1.8-.4 1.548-1-1.117.125-1.796.401-1.548 1zm-5.143.402c1.644-.076 3.228-.163 3.7-1.127-1.528.275-3.351.443-3.7 1.127zm10.857-2.369c.658-.885-4.293-1.822-4.816-.139a9.4 9.4 0 0 1 4.816.139zm13.036 8.946a4.507 4.507 0 0 0 1.73-.054c-.286-1.42 3.364-.553 3.983-1.908-2.177.5-4.889.7-6.272 1.328 1.867-.491 1.22.29.559.634zm-2.481.675a2.1 2.1 0 0 0 1.97-1.073 1.726 1.726 0 0 0-1.97 1.073zm-5.23-.067a12.655 12.655 0 0 1 2.66.268c-.817-.723 1.4-.388 1.125-.926-.585-.178-3.409.1-3.785.658zm-10.654-10.092a5.348 5.348 0 0 0-2.434.91c.711.252 2.969-.079 2.434-.91z\",\n fill: \"none\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7083d9\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 332.224v.215a1.383 1.383 0 0 1 .314.117 1.545 1.545 0 0 1-.314-.332zm0-.893v.682a5.065 5.065 0 0 0 .978-.546 1.935 1.935 0 0 0-.978-.136zm14.3-.713c1.114-1.8-7.361-.509-6.408.624 1.627-1 4.271-.486 5.85-1.256.118.265.058.679.558.632zm18.866-5.948c-.844.29-2.821.186-2.9.747 1.28.054 2.559-.077 2.9-.747zm29.619-6.601c-1.512.132-2.129.58-2.388 1.148.903-.346 2.256-.533 2.388-1.148zM415.406 285.2a14.1 14.1 0 0 1-3.412.348c.535 2.025-3.81.016-3.985 1.91.948-.344 3.03-1.143 3.038-.042-1.256.977-4.471.17-4.071 1.436a20.58 20.58 0 0 1 6.78-.932c-2.045-.751.955-1.165-.785-1.811.84-.295 3-.126 2.435-.909zm28.314-15.629c.493.768 1.333.572.273 1.414 2.117-.066.723-1.359 1.367-1.942-.807.086-.878.426-1.64.528zM447.387 257c.169-1.229-1.534-.718-2.2-.106 1.268-.4.936.506 2.2.106zm17.149-8.091c-.824-.592-1.319-1.462-2.516-1.755-.226.58.006 1.322-.987 1.632-.5-.226-4.547.163-4.165.967a14.7 14.7 0 0 0 3.79-.657c-.939.804 3.19.348 3.878-.187zm-56.59 15.658c-3.106.544-6.211 1.153-9.077 1.584v2.11a.46.46 0 0 0 .227.033c2.172-1.879 4.953-1.516 8.324-1.931-1.164-.763.656-.857.526-1.796zm-9.077 20.506v2.255a6.728 6.728 0 0 1 .779-.371c.236-1.078-.113-1.618-.779-1.884z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M464.869 326.239c-4.018.644-7.505.86-8.689-1.095.656.161 1.077.077 1.219-.455-1.283-.149-3.585-.538-2.516-1.756-2.1.658-3.791-.485-2.89-1.447-.2-.3-.686-.346-.6-.87-1.387.036-.911-.052-1.637.528-.043-.326-.3-.485-.555-.635.654-.136 1.465-.221 1.167-.691-2.808.7-.776-.959-2-1.357-1.584.4-.752 1.643-3.14 1.763.874-.692-.319-.894-.318-1.652.27.025 1.733.307 1.684-.291-1.087.163-.844-.761-1.49-.96a3.88 3.88 0 0 0-1.64.529c1.37-1.121-2.172.4-1.487-.959 2.907.144 5.194-.676 7.947-1.621 1.4 1.4 6.261-.048 7.66 1.348a3.586 3.586 0 0 0-1.169.692c.963.023 1.212.642 1.909.888 2.894-.706 4.481.553 6.549 1.4v-43.675c-3.235-.486-9.016 2.541-13.721 2.835-1.957.122-6.528 1-7.305 2.729-5.983.9-12.11 2.732-19.652 4.135-.612-.528 1.1-1.238-.6-.869-1.933 1.6-7.019 1.7-9.034 2.784 7.162-1.049 13.619-1.625 20.767-2.866.161.316.768.276.973.561-4.628.294-10 4.835-9.454 2.857-.372.377-2.348-.238-3.883.184-.628 2.285-4.375.736-7.109 1.476.247.6-1.6.471-1.081 1.163.265.691 1.754.38 1.958 1.123-2.266 2.083-5.253 1.45-9.125 2.313-.231-.309-.588-.312-.138-.708-.976.345-3.888 1.381-3.881.185 2-.819.754-.037 2.149-.13.688-1-.313-1.325-1.578-1.432 1.185-.682.869-1.892 2.584-2.395a2.55 2.55 0 0 1-1.779-.18c.207-.586 1.506-.793 1.459-1.47a12.623 12.623 0 0 1-5.568.478c.173.827-.969 1.116-1.981 1.222v72.821h66zM428.8 289.21c-.333-.7.753-.908 1.971-1.073.024.435.61.409.6.869a6.12 6.12 0 0 1-2.571.204zm-29.931-27.198a34.01 34.01 0 0 1 7.221-.29c.025-1.263.944.4 1.777.178 1.018-.486-.612-1.085.193-1.25.422-.072.466-.277.8-.382 1.586-.488 1.606.316 2.659.27.388-.745 2.5-.886 4.12-1.2.66 1.72 3.5.063 5.188-.168 6.943-.948 16.209-1.714 21.655-2.78-4.415.072-5.738.9-9.491.429-4.836 1.817-11.43 1.519-16.885 2.683-.049-.6-.8-.615-1.068-1.031.428-.438 1.519-.643 1.966-1.073-1.721-.224-5.936 2.009-8.932 1.06-.091.821-1.526.614-2.484.673-.728 1.269-3.968 2.143-6.72 2.59zm-373.951 58.24c-3.946 1.336-4.7 2.22-7.952 1.62-1.547.269-1.457 1.109-2.3 1.621-1.6-.334-5.669 2.067-7.665.841-.076.908-2.087.269-2.813 1.218-.212-.862-.9-.549-1.306-.016-.4-1.182-1.977-.2-2.879-.5v3.93c6.066-.991 11.99-2.41 19.421-3.377 1.263.912 6.1-1.29 8.422-1.461 3.061-.223 7.91-1.643 12.118-2.587 6.7-1.5 13.763-1.886 19.23-4.065.113.363.1.827.981.563 0-.367-.318-.845.238-1.017a7.28 7.28 0 0 1 4.479.684 5.3 5.3 0 0 1 1.108-1.18v-.212c-.74.232-1.7.868-2.176.361.782-.24.629-.807 2.013-.838l.163.1v-6.687a38.514 38.514 0 0 0-5.463 1.662c-.116-.364-.1-.83-.981-.564.069.611.156 1.23-1.035 1.4-.37-.468 1.046-.956-.557-.635a1.84 1.84 0 0 1-2.06.6c-.866.5.639.484-.284.781a2.54 2.54 0 0 1-1.775-.181c-.033-.377 1.036-.369.706-.852a30.49 30.49 0 0 1-3.652 1.365c.078.82 1.415-.268 1.862.65-8.487 4.544-19.563 5.6-28.969 7.7-.577-.522 2.534-.828 1.126-.924zm-5.213 4.56c1.176.317 2.349-.632 2.992-.277.424.82-3.497 1.257-2.997.277z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M401.513 287.605a7.059 7.059 0 0 0-2.644 1v.536a4.785 4.785 0 0 1 1.606-.133c-.989-.937 1.615-.614 1.038-1.403zM66 322.709a26.844 26.844 0 0 1-4.873.278A46.119 46.119 0 0 1 66 321.856v-2.34a10.1 10.1 0 0 0-1.914.766c-.251-.368-2.624-.357-2.992.278.65-.293 1.917.149.928.325-6.4 0-14.575 2.091-21.23 2.707a1.163 1.163 0 0 1 .928.324l-1.68.291a.857.857 0 0 1 .284-.779c-1.352.843-3.8-.253-4.721.329 1.255.066-.63.392-.843.149-.16.7.027.55-1.081 1.161.637-.068 1.538-.355 1.731-.057-3.417 1.594-8.866 1.42-12.68 1.953-1.237.664 1.575.554.229 1.182-1.472-.637-3.037 1.7-3.786.655.239-.659 4.257-1.138 2.251-1.85-1.89.961-2.99 2.716-5.669 2.2.808 2.262-5.082 2.188-6.7 3.6-1.095-.293-4.017-.51-5.564.477 3.086-.263 5.763-.185 7.145.952-.487.123-1.206.168-1.215.456 2.445-.026 1.3-1.3 3.649-1.365-.12-.9-2.528.078-2.754-.74a41.615 41.615 0 0 1 8.89-1.3c-1.395.026-.43.879-1.549 1-.421-.143-2.507-.266-2.571.2-.354 1.341-4.944 3.028-7.818 2.331-1 1.559-3.71.626-4.212.73 1.182.015-.185.929-.656 1.088-.1-.652-1.664-.537-2.4-.2v.69a2.713 2.713 0 0 0 .338.113c-.124.023-.227.032-.338.046v25.513h66zm-50.721 8.472c.03-.5 1.051-.66 1.081-1.163.678-.013.5.679 1.774.18.072.684-1.673.735-2.855.983zm8.281-2.169c-.568.446-1.648 1.188-2.434.911a2.079 2.079 0 0 1 2.434-.911zm-3.978 1.91c1.819-.405 3.294-1.14 5.426-1.186-.472 1.076-3.983 1.006-5.426 1.186zm8.327-1.932a4.282 4.282 0 0 1 3.277-1.054c.17.5-1.472.366-2.058.6.026.524 1.516-.15 2.15-.129-1.004.913-1.873.504-3.369.583zm23.726-5.574c-1.592-.343-3.731.649-5.474.948.792-.464 4.214-2.164 5.474-.948zm-5.987.549c-.782 1.087-2.379.526-4.118 1.2.175-1.227 3.412-.532 4.118-1.2zm.411 2.122a12.655 12.655 0 0 0-2.66-.268c.377-.558 3.2-.836 3.785-.658.277.539-1.942.203-1.125.926zm2.571-.2a1.726 1.726 0 0 1 1.97-1.073 2.1 2.1 0 0 1-1.97 1.072zm4.211-.729a4.507 4.507 0 0 1-1.73.054c.661-.344 1.308-1.125-.559-.634 1.383-.624 4.095-.826 6.272-1.328-.619 1.35-4.269.487-3.983 1.907zM410.526 280.2c.083-1.685 3.661-.1 5.009-1.113.227.308.58.312.133.71 2.935-2.047 5.657.585 9.4-.9-1.834.142 1.306-1.551-1.912-.887-.473.636 1.254.7.184.945-.162-1.452-3.591-.555-5.088-1.556-2.1 1.726-4.7.861-8 1.387-.412-.4-1.428-1.714-2.33-.812 1.691-.412-.167.889-.2 1.252-2.417.438-4.757.07-6.917.226.552-1.229.548-.851 2.434-.909-.207-.875-.6-.591-.272-1.418-2 .038-1.961.784-2.809 1.218.1-.573-.458-.721-1.294-.7v2.427c.377-.074.751-.143 1.143-.243-.06.6.87.379.648 1.106a21.989 21.989 0 0 1 9.871-.733zm-2.501-12.966c-1.079-.206-2.769.092-3.927-.051-.419 1.172-3.442 1.395-5.229 1.261v1.135a2.145 2.145 0 0 1 .407-.34c1.174.429 1.4.115 2.058-.6.932.289.76 1.3 1.869.648-1.563-.416 1.509-1.069 2.342-1.379.1.467 1.2.1 1.027.8.23.523-1.167.473-1.131.927 2.759-.553 2.611-1.253 2.584-2.401zM0 321.176a7.674 7.674 0 0 1 2.015-.121c.039.237.393.223.508.4-1.959.355-1.417 1.572-.374.307a285.16 285.16 0 0 1 7.3-.536 3.847 3.847 0 0 1-1.356-.249c2.539-.517 2.265.5 2.479-.675 1.767-.36 1.686.8 2.8.976-.573-.785 1.855-.527 1.5-1.236-.815.035-2.475.763-2.2-.1a18.037 18.037 0 0 0 5.427-1.186c-.011.463.576.439.6.869-1.326-.11-3.12.187-3.277 1.056a7.545 7.545 0 0 0 4.87-1.819c1.2.6 2.656-.234 2.485-.672 1.289.166.676.793.271 1.413 2.409-.65 3.231-.819 5.146-.4-.583.164-.386.6-.709.853 1.577-.88 1.865-.636 3.414-.347 1.323-1.041 6.657-2.64 9.593-2.15 1.48-1.229 3.117-1.211 6.974-2.185.4-1.142-2.519.431-2.662-.272.383-.862 3.175-2.055 4.541-1.271.273.535-1.941.2-1.127.926 4.68-1.539-1.265-2.141-3.448-2.084.836-.148.412-.736 1.594-.76 1.894.108 4.215-.246 5.385-1.421.9-.021.959.213.552.635 4.792-1.606 8.579-1.651 12.781-3.681-.348.409.191.483.913.388v-1.872c-14.609 2.717-29.576 5.532-41.981 7.387-1.577 1.129-7.544.956-8.988 3.02-2.422-.11-3.261-.175-5.518.712.7-1.487-2.6.322-2.333-.813-1.85.84-4.3.1-5 1.113 2.643-.2 4.2-1.169 5.185-.167-2.511.15-5.035 1.241-6.871.459-.148.051-.322.114-.489.174zm27.218-2.542c.349-.684 2.172-.852 3.7-1.127-.472.964-2.056 1.051-3.7 1.127zm5.143-.4c-.248-.6.431-.875 1.548-1 .247.598-.433.874-1.548.998zm6.686-1.4c-.567-.526 1.067-1.347-.269-1.414 1.981-.274 2.447-.181 5.567-.481-.635 1.021-2.668 1.561-5.298 1.89zm1.141-3.123c-.316 1.1-2.275 1.06-3.321.82-.667-.148 1.767-.4 3.321-.825zm-2.113 2.559a9.4 9.4 0 0 0-4.816-.139c.523-1.688 5.474-.751 4.816.134zm-5.329-.538c.535.831-1.723 1.162-2.434.91a5.348 5.348 0 0 1 2.434-.915zm-3.277 1.058c-1.683.2-3.994.914-5.1.638.831-.794 4.431-1.49 5.1-.643zM9.5 319.271c.062.313.125.627.181.943-.722.272-1.88-.387-2.1.367-1.441.01.382-.548.284-.782-1.168-.393-1.446 1.389-3.653 1.363 1.249-1.022 2.904-2.462 5.288-1.891zm-7.2 1c-.072.344-1.019.379-1.64.528l-.137-.706c1.277-.493 1.095.198 1.777.182zm-1.155 14.334C1.187 334 .8 333.737 0 333.82v.786c.3-.006.661-.006 1.145-.001z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.379 333.313c-.844.073-.776.465-1.172.691-.4-.42-1.608-1.569-2.709-.5 1.502-.104 3.235 1.581 3.881-.191zm396.821-56.37c2.708-.463 3.307-1.407 5.619-2.437-1.73.454-3.957.5-2.238-.341-1.14-.034-2.558 0-2.9.749a20.991 20.991 0 0 1-2.806-1v1.975a8.33 8.33 0 0 1 3.031.207c-.04.346-.622.51-.706.847zm-2.331-18.343c.031-.008.055-.01.088-.02a.656.656 0 0 0-.088-.38zm2.007-17.167a4.5 4.5 0 0 1 2.238.343c-.325.211-1.1 1.329-.193 1.251.6-.942 1.455-.521 1.924-1.307-.724.137-1.112.006-1.355-.252 1.271-.554 1.4-.3 2.946-.512.012-.462-.572-.438-.6-.872 1.525.09 2.315-.891 3.234-1.288-1.22.276-1.4-.308-2.618-.035-.975 1.141-2.226 1.08-4.868 1.819.216.443-.484.566-.708.853zm13.109 47.667c-1.164-.047-1.8-.528-3.131-.434-.036.488.657.372.978.563-.234.038-.438.272.045.235-.269-.513 3.408.124 2.108-.364zm7.015-8.768h.235a.286.286 0 0 0-.235 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M444.232 278.984c-1.633 1.261-.8-.746-1.448-.724-1.631.522-4.056-.382-5.936.787-.614-.046-.244-.9-1.027-.8-.477 1.6-2.99-.076-3.608 1.6-2.738-.608-8.843.468-10.983.48.254.134-.166.909-.477 1.018-1.46-.375-5.222 1.89-3.829.419a2.9 2.9 0 0 0-2.349 1.383c3.36-1.109 6.685-1.206 8.661-2.476 2.536 1.464 8.737-2.147 8.361.5 1.94-1 2.172-.551 4.633-.8-.219-.515-.067-.9.663-1.088a13.7 13.7 0 0 0 4.721-.33c.421.947 3.495.887 2.618.031zm6.715-14.807c-1.558-1.219-6.338-.821-8.679-2.151a6.017 6.017 0 0 1-4.018-.519 3.951 3.951 0 0 0-1.641.527c-1-1.834-10.61.371-9.808-1.224a15.409 15.409 0 0 1-4.871 1.821c-.061.6.869.378.65 1.1-1.221.165-2.128.434-2.433.913 2.59-.344 2.7-1.548 4.821-2.055-.179.9 1.121 1.016 1.824.414.492-.95-1.46.106-1.4-.486.661-.137.212-.659 1.173-.692-.628 1.436 3.491-.694 4.814.14a1.038 1.038 0 0 1-.661 1.09c-3.135.2-1.522.756-2.764 1.452-1.3.341-1.236-.441-2.245-.34-.019 1.232-2.286 1.593-4.028 1.671-3.42 1.375-5.962 4.223-9.046 4.98 3.246-.229 6.048-1.734 8.184-.446-1.014.8-2.251.244-3.79.658.429.59-.745.621-.665 1.09 1.333-.438 7.261-1.66 5.707.227 1.493-.474 2.32.029 2.943-.509.457-1.1-2.185.342-2.241-.343 2.838-1.129 2.965-2.242 5.022-3.3-2.983.06-3.894 1.764-5.344 1.655 5.125-4.055 18.387-2.984 25.6-4.924-.766.111 1.625-.951 2.896-.749zm-30.957 19.981c1.909-.238 1.378.482 1.914.889.511-.665.805-.593.192-1.253-.984.488-2.143-.173-2.106.364z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443.147 280.145a34.335 34.335 0 0 0-5.561.478c.468.81 5.134-.413 5.561-.478zm-.312-10.664c-1.76-.284-4.581.306-7.25.77 2.285-.015 7.304 1.327 7.25-.77zm17.841 54.154c-.326 1.042 3.7.954 2.754.739-1.265.04-1.065-1.129-2.754-.739z\"\n }))), _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 341.739h464.87v130.3a232.435 232.435 0 0 1-232.435 232.439A232.435 232.435 0 0 1 0 472.044V341.739z\",\n fill: \"#91a0e2\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 232.435,\n cy: 468.522,\n r: 41.087\n })), _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M247.044 537.478v-68.174h-29.218v91l47.348 5v-19.826z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2792.0 1280.0) rotate(0.0 300.5 65.0) scale(0.9989163170736571 0.9983335509188508)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 601.652,\n height: 130.217,\n viewBox: \"0 0 601.652 130.217\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M596.652 130.218H5a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h591.652a5 5 0 0 1 5 5v120.218a5 5 0 0 1-5 5zM10 120.218h581.652V10H10z\",\n fill: \"#91a0e2\"\n })), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#f36a8d\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.141 70.109H77a5 5 0 1 1 0-10h52.141a5 5 0 1 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.157 92.137a5 5 0 0 1-4.335-2.5L84.752 44.48a5 5 0 0 1 8.66-5l26.07 45.156a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.077 93.238a5 5 0 0 1-4.325-7.5l26.07-45.155a5 5 0 1 1 8.66 5l-26.07 45.154a5 5 0 0 1-4.335 2.501zm138.942-23.129h-52.141a5 5 0 0 1 0-10h52.141a5 5 0 1 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.035 92.137a5 5 0 0 1-4.335-2.5L183.629 44.48a5 5 0 0 1 8.66-5l26.071 45.156a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.954 93.238a5 5 0 0 1-4.325-7.5L209.7 40.582a5 5 0 1 1 8.66 5l-26.071 45.155a5 5 0 0 1-4.335 2.501zM326.9 70.109h-52.145a5 5 0 0 1 0-10H326.9a5 5 0 1 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M312.913 92.137a5 5 0 0 1-4.335-2.5L282.507 44.48a5 5 0 0 1 8.66-5l26.071 45.156a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M286.832 93.238a5 5 0 0 1-4.325-7.5l26.071-45.155a5 5 0 1 1 8.66 5l-26.071 45.154a5 5 0 0 1-4.335 2.501zm138.943-23.129h-52.142a5 5 0 0 1 0-10h52.142a5 5 0 1 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M411.79 92.137a5 5 0 0 1-4.335-2.5L381.384 44.48a5 5 0 0 1 8.661-5l26.07 45.156a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.71 93.238a5 5 0 0 1-4.326-7.5l26.071-45.155a5 5 0 1 1 8.66 5l-26.07 45.155a5 5 0 0 1-4.335 2.5zm138.942-23.129h-52.141a5 5 0 0 1 0-10h52.141a5 5 0 1 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M510.668 92.137a5 5 0 0 1-4.335-2.5L480.262 44.48a5 5 0 0 1 8.66-5l26.071 45.156a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M484.588 93.238a5 5 0 0 1-4.326-7.5l26.071-45.155a5 5 0 1 1 8.66 5l-26.071 45.154a5 5 0 0 1-4.334 2.501z\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2385.0 1855.0) rotate(0.0 363.5 180.0) scale(0.998921384749617 0.9995779559741443)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 727.785,\n height: 360.152,\n viewBox: \"0 0 727.785 360.152\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M722.785 10H5A5 5 0 0 1 5 0h717.785a5 5 0 0 1 0 10zm-45.269 87.538H5a5 5 0 0 1 0-10h672.516a5 5 0 0 1 0 10zm-82.845 87.538H5a5 5 0 0 1 0-10h589.671a5 5 0 0 1 0 10zm-149.912 87.538H5a5 5 0 0 1 0-10h439.759a5 5 0 0 1 0 10zm232.757 87.538H5a5 5 0 0 1 0-10h672.516a5 5 0 0 1 0 10z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2224.0 2326.0) rotate(0.0 328.5 87.5) scale(0.9923826700078393 0.9905137087097287)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 662.043,\n height: 176.676,\n viewBox: \"0 0 662.043 176.676\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M657.043 176.676H5a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h652.043a5 5 0 0 1 5 5v166.676a5 5 0 0 1-5 5zM10 166.676h642.043V10H10z\",\n fill: \"#91a0e2\"\n })), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#f36a8d\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.809 93.338H59.574a5 5 0 1 1 0-10h63.235a5 5 0 0 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.848 120.052a5 5 0 0 1-4.335-2.5L69.9 62.788a5 5 0 0 1 8.66-5l31.618 54.763a5 5 0 0 1-4.326 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.221 121.388a5 5 0 0 1-4.325-7.5l31.617-54.763a5 5 0 0 1 8.661 5l-31.618 54.762a5 5 0 0 1-4.335 2.501zm168.503-28.05h-63.235a5 5 0 0 1 0-10h63.235a5 5 0 0 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.763 120.052a5 5 0 0 1-4.334-2.5l-31.618-54.764a5 5 0 0 1 8.66-5l31.618 54.763a5 5 0 0 1-4.326 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.136 121.388a5 5 0 0 1-4.325-7.5l31.618-54.763a5 5 0 0 1 8.66 5l-31.618 54.763a5 5 0 0 1-4.335 2.5zm168.503-28.05H299.4a5 5 0 0 1 0-10h63.235a5 5 0 0 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M345.679 120.052a5 5 0 0 1-4.335-2.5l-31.618-54.764a5 5 0 0 1 8.66-5L350 112.551a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M314.051 121.388a5 5 0 0 1-4.325-7.5l31.618-54.763a5 5 0 1 1 8.66 5l-31.618 54.763a5 5 0 0 1-4.335 2.5zm168.503-28.05h-63.235a5 5 0 0 1 0-10h63.235a5 5 0 0 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M465.594 120.052a5 5 0 0 1-4.335-2.5l-31.618-54.764a5 5 0 0 1 8.66-5l31.618 54.763a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M433.966 121.388a5 5 0 0 1-4.325-7.5l31.618-54.763a5 5 0 0 1 8.66 5L438.3 118.887a5 5 0 0 1-4.334 2.501zm168.503-28.05h-63.235a5 5 0 0 1 0-10h63.235a5 5 0 0 1 0 10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M585.509 120.052a5 5 0 0 1-4.335-2.5l-31.618-54.764a5 5 0 0 1 8.66-5l31.618 54.763a5 5 0 0 1-4.325 7.5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M553.881 121.388a5 5 0 0 1-4.325-7.5l31.618-54.763a5 5 0 1 1 8.66 5l-31.618 54.763a5 5 0 0 1-4.335 2.5z\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2935.0 2361.0) rotate(0.0 91.5 63.5) scale(0.9862836508663667 0.9878271691362346)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 185.545,\n height: 128.565,\n viewBox: \"0 0 185.545 128.565\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.477 128.565a5 5 0 0 1-5-5v-18.28a5 5 0 0 1 10 0v18.28a5 5 0 0 1-5 5zm-48.823-12.62a5 5 0 0 1-4.361-7.438l9.59-17.181a5 5 0 0 1 8.732 4.874l-9.591 17.18a5 5 0 0 1-4.37 2.565zM5.005 82.059a5 5 0 0 1-2.494-9.338l17.075-9.8a5 5 0 0 1 4.978 8.679L7.489 81.4a4.98 4.98 0 0 1-2.484.659zm136.886 33.886a5 5 0 0 1-4.37-2.564l-9.59-17.18a5 5 0 1 1 8.731-4.874l9.591 17.18a5 5 0 0 1-4.362 7.438zm38.65-33.886a4.978 4.978 0 0 1-2.484-.664l-17.075-9.8a5 5 0 1 1 4.978-8.673l17.074 9.8a5 5 0 0 1-2.493 9.338z\"\n })), _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.05 52.642S138.081 0 92.477 0 9.9 52.642 9.9 52.642s36.969 52.643 82.573 52.643 82.577-52.643 82.577-52.643z\",\n fill: \"#f36a8d\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1741.0 1531.0) rotate(0.0 385.0 490.5) scale(0.9996092436592967 0.9992004359406591)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 770.301,\n height: 981.785,\n viewBox: \"0 0 770.301 981.785\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.15 0C345.009 143.839 154.339 280.988 0 196.71V417.9c0 213.157 162.7 465.2 385.15 563.881C607.6 883.105 770.3 631.061 770.3 417.9V196.71C615.962 280.988 425.292 143.839 385.15 0z\",\n fill: \"#fdc93a\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.15 903.476c-83.1-43.619-159.461-113.667-217.441-200.017C136.7 657.27 112.46 608.795 95.678 559.38c-16.69-49.141-25.152-96.74-25.152-141.475V291.394a288.657 288.657 0 0 0 30.8 1.633h.021c105.218-.007 213.332-59.1 283.805-145.7 70.476 86.61 178.587 145.7 283.815 145.7a289.233 289.233 0 0 0 30.812-1.633v126.511c0 44.735-8.462 92.334-25.152 141.475-16.782 49.415-41.017 97.89-72.031 144.079-57.984 86.35-134.346 156.398-217.446 200.017z\",\n fill: \"#91a0e2\"\n })), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M417.1 664.055c.138-1.236.79-.647 1.438-.029.308-3.207-.949-4.145-2.218-5.058.407 1.477-.789 5.287.78 5.087zm6.945 42.679c-.685-4.423.557-5.651-1.518-7.1.545 2.303-1.218 7.979 1.518 7.1zm-8.338-37.551c.562.216 1.418 0 1.45.989-1.693.323.105 3.8.768 4.066-.557-3.112 1.21-3.03.653-6.142-1.805-.082-2.278-1.891-2.871 1.087zm-5.438-36.595c1.653 3-.978 6.265 1.518 7.111-.553-2.314 1.204-7.99-1.518-7.111zm12.909 60.912c.474 2.411 1.016 4.721 2.932 5.037l-.044-4.083a3.186 3.186 0 0 1-2.888-.954zm4.634-431.492c-1.88.332-3.1-.307-2.911-3a3.643 3.643 0 0 0 3.609.939 21.119 21.119 0 0 1-.855-12.215c-3.047-1.507-.053 5.269-2.1 5.144-1.2-7.792.767-7.128 1.277-14.307-1.3-3.069-2.2 2.83-2.88.067 2.851-2.024.077-5.784 2.8-7.2-.475-10.763-.832-11.493-1.67-21.385 1.061-.191 2.654.307 2.865-1.079-1.629-.39.047-5.589-2.223-5.045-.378 1.826-.32 4.232-1.377 5.124.8-11.845-2.415-17.5-7.3-9.024 2.968-1.1 3.571-.913 5.059 1.937-2.1-.07-2.894 6.025-.653 6.128 1-.646.073-3.924 1.4-4.107-.7 12.614-.082 23.551-1.773 35.733 3.85 6.754-1.473 25.2 3.94 30.5 1.53-1.911 3.618-3.048 2.792-8.21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M417.178 211.247c.671 1.776.3 5.088 1.506 6.083-.759-4.05 2.112-3.112 1.359-7.161-1.365-.2-1.576 1.186-2.865 1.078zm2.604-24.53c1.509-2.9 2.414-10.115-.143-13.26-.293 1.942 1.046 6.132-1.378 5.14.481-3.323-.436-7.078-1.578-12.211 1.8.092 2.27 1.9 2.865-1.087-2.107-1.377 1.239-3.535.653-6.124-1.283-.581-2.953 3.046-3.591.075 1.869-1.776 2.759-4.905 3.5-8.232-4.225-14.953-2.5-32.787-4.066-42.745-.111 1.187-1.122 1.129-2.15 1.07-.255-3.086.715-7.949-1.521-8.132a30.609 30.609 0 0 0-1.383 6.149c.03 1.344 1.278.905 1.468 2.009-2.751 18.194-1.974 38.175-.024 54.059.207 0 .412-.009.619-.012l.058 5.094a224.37 224.37 0 0 1-.677-5.082c-.756.016-1.511.033-2.264.046 1.16 11.617-2.924 20.791.346 31.608 4.333-4.1 1.655-17.808 3.316-25.567 3.158 2.124-1.638 13.892.926 18.331.242-5.8 2.288-.307 5.024-1.129zm-19.347 403.251c.588-3.876-2.444-4.722-3.63-2.971.164 4.639.644 3.983.09 8.157 3.982-.647-.795-8.174 3.54-5.186zm-4.442-11.111c3.029.8 1.532-4.6 2.824-6.179-2.2.784-2.141-1.713-4.338-.925-1.067 5.045 2.015 10.484 1.626 17.3.126-3.604 2.495-8.795-.112-10.196zm.607-76.504c1.453-6.521-.369-13.783.51-19.393-1.2.033-2.4.058-3.607.084 2.127 3.983.571 5.983.126 11.219 3.257 1.651.454 5.725 2.971 8.09zm8.639 131.363c.472-5.858 1.738-.514 2.889.955-1.386-5.8-1.251-7.759-3.718-11.128.431 3.701-2.282 8.838.829 10.173zm3.416-16.389c-.949 1.511-1.377 8.12.818 8.141-.827-4.216.533-5.618-.818-8.141zm-2.212-268.161c1.57 7.219.428 25.916 3.967 33.567-.755-10.498.575-30.654-3.967-33.567zm-.023 129.521c-.091-3.319-.979-5.477-2.941-6.066-.976 1.4-1.3 7.153.791 7.12.111-1.187 1.13-1.129 2.15-1.054zm-5.827 125.562c-1.076 1.485-.639 5.328 1.5 5.062.079-2.531-.419-4.223-1.5-5.062zM435.3 156.8c1.354 11.078 2.373 12.473 2.434 25.434-.72.025-.864-.792-1.444-.988.979 6.075 3.9 5.22 5.774.9-.886-5.892.643-29.593-6.764-25.346zm4.325 66.19c1.072 3.02-2.455 6.273.788 6.107.524-2.614 1.008-4.714-.788-6.107zm-1.114-35.658a2.607 2.607 0 0 0 2.21 4.024c-.331-1.941-.311-4.39-2.21-4.024zm21.405-18.832c-.407 2.117.961 6.672-.647 7.146-1.354.256-1.6-1.1-2.892-.954.223 1.787-1.971 5.128.067 6.115-.334-2.232 2.095-5.668 2.848-3.12-.164 11.426-2.118 29.409 1.166 40.77.111-1.187 1.128-1.129 2.142-1.071-.783-20.976 4.444-35.15-2.684-48.886z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M457.065 171.615c4.852-.088-.978-9.817 2.022-13.3 1.866 2.594-2.019 9.734 2.973 9.112-.535-6.274-.383-2.863.651-6.133-2.367-3.609-1.447-5.368-1.582-13.227-2.13-1.12-2.619 4.955-3.58 2.125 1.336-1.835-1.017-3.146 1.4-4.116a3.089 3.089 0 0 0 4.322-.1c-2.031-3.577-1.119-14.008-4.518-18.248-.413 2.772 1 8.074-.624 9.194-1.187.008-.437-2.821-1.473-3.028-.159.788 0 2.007-.7 2.058-.474-3.8 2.833-5.029 1.359-7.171-5.098 14.188.385 30.103-.25 42.834zM565.162 770.95c-2.8 1.664-1.518-2.617-2.915-3 1.315 9.024 1.421 13.112 4.556 21.318-.27-6.521-1.978-10.911-1.641-18.318zM433.353 242.507c.474 2.432-.821 7.419.817 8.141.185-4.199 2.73-6.365-.817-8.141zm-3.369 546.704c-2.541 1.643-.467-3.452-2.195-3.008-.811 1.307-1.362 8.062.105 9.166.621-2.15 1.067-4.548 2.09-6.158zm.556 50.977c-.9 5.037.556 8.8.87 13.236.17-3.469 2.09-11.709-.87-13.236zm-7.04-50.832c1.632 1.921-2 9.274 1.556 10.161-1.156-4.356 1.283-7.9-1.556-10.161zm4.2-11.31c-.542-4.585 1.453-2.759 2.151-1.071.216-1.39 1.008-1.97.682-4.1-4.345.125 0-8.133-3.712-10.116.426 5.325-.298 11.789.879 15.287zm1.525-58.167c-2.9 1.534-3.873-1.951-6.475.141.346 3.294-.856 8.837 1.541 9.144 2.069-2.248-1.72-6.306 1.353-7.169 1.981 12.19 1.061 22.7 2.5 30.537 2.944-11.584.846-20.169 1.081-32.653zm-.663 136.674c.859 3.186-1.1 2.506-1.4 4.107 1.473.265 1.444 2.73 2.918 3-.155-2.884.542-7.012-1.518-7.107zm.638-7.153c1.2-1.743-.469-4.573-1.512-6.084-1.516 2.208-.201 5.556 1.512 6.084zm-4.411-74.354c-4.2 2.5-.858 11.211.144 13.256-.039-4.219-1.933-9.638-.144-13.256zm-10.77 68.569c-1.365 1.378.876 4.507-.638 7.153 2.657 1.569 3.272-7.833.638-7.153zm-6.134 97.017a2.783 2.783 0 0 1-2.175-.98c.9 3.411 1.949 7.743 2.259 9.128-.009-1.344 1.249-.954 1.418-2.058-1.268-.912-1.628-3.162-1.502-6.09zm162.436-224.878a7.549 7.549 0 0 0-.764-4.058c.503-11.966-2.83 4.038.764 4.058zM429.6 162.029c-1.36-.09-.54-3.369-2.2-3.012-.383.648-2.886 3.137-.667 4.092.153-3.585 2.708 2.497 2.867-1.08zm-1.383 662.915a8.491 8.491 0 0 0 1.526 8.124c.5-3.552 2.127-5.44-.091-8.158-.369 1.486.9 5.254-.662 5.113-.405-1.47.785-5.287-.773-5.079zm-32.051-362.356c-5.649-1.328-3.079-8.519-5.165-11.1-2.918 7.667-.372 11.393 3.05 15.227-2.549 3.826-2.766 12.017.882 15.277 1.397-4.01.167-10.873 1.233-19.404zm28.579-283.115c-1.391 6.236-2.964 8.692-3.445 14.347 2.332-.639 3.36.623 5.054.914-1.234-6.195 1.579-11.917-1.609-15.261zm3.677 598.552c-1.131 1.634.4 4.68 2.217 5.054.308-3.212-.939-4.15-2.217-5.054zm-41.145-140.849c3.141-.712 3.563-5.152 5.684-7.26-4.134-.664-4.925 3.284-5.684 7.26zm351.096-353.288a2.886 2.886 0 0 0-.124.956q.051-.483.124-.956zm.092 4.949c1.785-.767-.139-2.06-.216-3.993a11.267 11.267 0 0 0 .216 3.993zM384.21 554.645c-.278 1.274-.9 2.1-2.136 2.071.024 2.713.331 5.818-.639 7.162 2.426 1 1.081-3.2 1.377-5.137 1.5 1.751 1.4-.78 2.895.963.082-2.54.082-4.955-1.497-5.059zM737.592 274.58c.032-.013.059-.015.091-.027-.037-.051-.081-.1-.12-.152.011.061.015.114.029.179zM383.006 576.076c.586-3.187 2.062-4.431-.082-7.136-.58 3.194-2.051 4.443.082 7.136zM739.7 270.456c-2.317-.838-2.232 1.622-2.841 3.121a9.522 9.522 0 0 1 .706.824c-.534-3.028 1.869-2.018 2.135-3.945zM392.217 627.883c1.6-2.241-.639-3.46-.082-7.128-3.1-1.129-2.995 8.397.082 7.128zm-1.037-226.372c-2.1-1.825-2.28-1.605-5.06-.908.135 4.229 3.595 2.482 5.06.908zm11.783-41.059c-1.9-.266-1.828 2.174-2.112 4.132l2.156-.049-.044-4.083zm-6.873 94.999c-.692-1.759-.047-5.469-2.221-5.045.017 1.693.041 3.394.056 5.091.721-.008 1.444-.029 2.165-.046zm-2.505-96.824c-.141-1.528.22-3.777-.765-4.067.516 3.286-4.731.655-1.394 4.115a.513.513 0 0 0 .009 1.021c.105-1.203 1.127-1.136 2.15-1.069zm-7.626 92.973c.138 2.792.19 5.249-1.4 3.083.436 1.784-.806 6.007.788 6.111.261-2.936 3.53-8.032.612-9.194zm4.535-46c-.87-.2-.451-1.12-.009-2.041-1.426-.266-1.418 1.411-2.147 2.083-.182-1.552-1.187-.117-1.43 1.053a2.834 2.834 0 0 1 2.174.984c-.006-1.346 1.248-.964 1.412-2.079zm-6.294 16.459c-.1 1.207.153 2.888-.686 3.078-.14-1.523.215-3.775-.77-4.074-1.219 3.651.51 2.5.794 6.112 1.266-1.009 4.676-4.2 3.542-5.183-.435 3.066-1.549-.937-2.88.067zm21.048-50.437c-.044-2.706.337-6.009-1.506-6.079-.817 1.215-.773 3.613-.659 6.128zm16.527-200.24c1.69.647 1.968 3.34 3.644 3.991 1.52-5.261-2.924-8.729-.856-13.236-2.821.498-.641 7.826-2.788 9.245zm6.037-40.932c-1.435-10.775 2.473-22.542-3.2-29.5 1.693 11.883-.121 26.911 1.81 33.616.134-1.821-.792-5.091 1.39-4.116zM422 125.476c2.329-1.511 3.246-20.082-.158-14.265.317-6.117-.226-7.5.571-13.277-1.377-.4-1.33-2.885-3.624-1.968 3.7 6.68.073 19.9 3.211 29.51zm-16.391 345.071c1.142-2.449 1.531-5.935 2.065-9.229-1.365-.2-1.576 1.179-2.871 1.079.911 4.079-1.825 7.51.806 8.15zm21.058-312.542c2.9-8.365-.322-15.285 2.663-20.448-3.51-4.207-4.479 12.955-2.663 20.448zm-20.323 181.983c-1.442-3.211 1.061-6.83-2.256-8.107.882 2.509-.24 7.958 2.256 8.107zm9.615-239.872c.815-1.552 2.476-4.344-.058-5.095-.401.622-1.63 4.863.058 5.095zm334.055 125.243c-.85 5.689-3.029 8.335-1.295 13.282.717-.017 1.438-.026 2.159-.042-1.488-4.929.955-9.136-.864-13.24zM391.285 806.377c1.219-2.37 2.279-6.968-.811-8.138.504 3.826.067 9.643.811 8.138zm.961 87.684c-.141-1.519.217-3.764-.765-4.066-.287 1.61-2.255.921-1.391 4.116zm2.021-78.569a18.576 18.576 0 0 1 2.754-11.286c-2.299-1.892-7.482 9.402-2.754 11.286zM769.4 286.115c-1.306 1.9-.313 5.726.8 7.121-.458-2.1.813-6.714-.8-7.121zm-13.515-50.695c.565 3.129-1.96 2-1.389 5.137a3.189 3.189 0 0 1 2.891.947c-.04-2.693.335-6.004-1.502-6.084zM399.163 802.135c.307-6.318-.3-11.314-3.029-13.207-.63 7.461-1.134 8.524-1.286 13.295.852-3.123 2.484 1.045 4.315-.088zm-6.329 14.411c.106 2.606.467 4.847 1.51 6.083 1.092-1.577 1.213-7.021-1.51-6.083zm.947 20.373c1.354-2.491.36-8.207.592-12.249-2.833 1.253-2.525 9.991-.592 12.249zm1.254 48.926c1.151-5.186-3.99-6.53-2.256-9.128.738-.141 1.506 4.37 2.174.972-2.121-.822.392-3.295-.059-5.1-.963.012-1.925.038-2.883.062-2.847 5.394.61 9.849 3.024 13.194zm178.184-168.108c.111 5.02-.49 11.074 3 11.153.111-3.89.653-10.49-3-11.153zM397.215 821.541c.07 3.7-.32 8.058 1.535 9.145.574-3.9 1.09-7.664-1.535-9.145zm.633-7.153c-.164 2.681.322 4.386 2.217 4.033.173-2.672-.313-4.381-2.217-4.033zm340.957-560.23c.463-3.526.143-5.966 2.056-9.228-3.855-1.9-3.375 7.353-2.056 9.228zm7.872 192.572a9.562 9.562 0 0 0 .794 7.128c-.651-3.627 2.015-6.158-.794-7.128zm-2.798-58.072a1.122 1.122 0 0 1 1.43-1.054c-2.169-3.311 1.737-5.128-.076-7.128-.071 1.244-.2 2.414-1.416 2.07 1.573 4.187-1.456 3.854.062 6.112zm-13.233 107.381c.6 3.825-.821 4.887-.625 8.174.926.024 1.008 1.278 2.165.97 1.137-2.174.736-8.738-1.54-9.144zm1.268-16.348c-.808 3.236.492 4.468-.636 8.174 2.646.523 3.006-7.851.636-8.174zm16.898-35.044c1.524-2.216.2-5.569-1.511-6.091-.115 2.937.246 5.178 1.511 6.091zm-25.581 162.714c.181 6.066.175 7.759-1.284 14.306 1.488 1.743 1.4-.8 2.886.959-.46-5.199.955-13.14-1.602-15.265zM733.5 427.643c.047 2.7-.328 6.009 1.511 6.084 1.154-1.677.799-6.427-1.511-6.084zm19.306-12.663a5.041 5.041 0 0 0-.056-5.1c-3.24-.443-2.309 5.391.056 5.1zM723.925 605.3c1.21-1.668.606-5.269-.783-6.1-.585.763-1.857 7.1.783 6.1zm14.051-163.474c1.189-1.1 3.556-4.046.67-5.108-.135 1.29-2.038 5.033-.67 5.108zm-.299-27.534a8.859 8.859 0 0 0-.777-5.079 3.1 3.1 0 0 0-2.862 2.107c1.705.28 1.383 3.503 3.639 2.972zm-3.551 5.177a2.745 2.745 0 0 1-1.412 2.067c-.566 2.9 1.046 2.631.782 5.087 2.314.846.94-3.377 2.842-3.12.006.564.6 1.145.721-.017-1.859-.059-1.075-3.95-2.933-4.017z\"\n }))), _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M403.689 951.942c-1.028-7.07-5.947-9.962-3.087-18.29a3.161 3.161 0 0 1-2.889-.962c1.347 5.8-.879 10.39.881 15.277.534-1.693 3.443 1.817 2.945 5.037.844-.174 2.047.133 2.15-1.062zm31.497-15.987c-3.562-3.638-2.851 4.693-1.353 7.166 1.804-2.614-1.345-5.801 1.353-7.166zm-41.774-1.124c-.021-1.7-.038-3.4-.053-5.1-2.226-1.506-2.141 6.71.053 5.1zm37.307-13.062c.919 2.158.369 11.817 1.552 10.165.064-4.389 1.767-8.945-1.552-10.165zm7.813-9.345c-2.391 4.092-5.464 12.561-4.119 18.44.729-7.128 5.862-13.958 4.119-18.44zm-38.683 18.183c.4-2.565.541-3.427 1.359-7.17-1.075.2-2.66-.307-2.872 1.087 4.023.133-2.636 5.303 1.513 6.083zm25.098-9.725c.4 1.468-.785 5.285.78 5.078.454-2.374 2.355-2.78 2.812-5.153-2.204.754-1.374.738-3.592.075zm-4.33-.922c.073-2.539-.422-4.224-1.5-5.078-2.104 1.062-.317 4.07 1.5 5.078zm4.925-10.315c-.167-4.24-.346-8.506 1.327-10.223-2.654 1.784-1.406-.191-2.9-1.983-2.262 2.455-.077 9.385 1.573 12.206zm1.125-28.575c-2.18-4.22.642-10.245-.87-14.261.84-.174 2.036.133 2.141-1.071-4.781-3.318-5.089 17.137-1.271 15.332zm149.355-38.981c.01 1.289.093 3.091.232 4.876.364-.37.729-.738 1.092-1.109a7.171 7.171 0 0 0-1.324-3.767zm7.749-15.469c-.284 4.564 1.861 5.581 3.68 7.062-.322-3.668-2.183-5.103-3.68-7.062zm-163.459-.482c.786-3 1.02-6.057-.8-7.119.448 2.099-.82 6.713.8 7.119zm159.739-10.646c1.488.241.72 3.776 2.209 4.025 1.2-1.668.6-5.261-.794-6.1-.03.622-.091 1.212-.706 1.036-.437.072-.85.168-.709 1.039zm-1.998-50.944c-.648 1.951-1.949 12.017.855 12.216-1.773-3.07.192-10.614-.855-12.216zM416.624 752.79c-.586-2.257-.481-5.519-2.236-6.067-.345 3.611.68 5.237 2.236 6.067zm-2.842-62.147c.759-4.821-.527-6.555 2.06-9.219-2.819 1.693-.3-4.407-2.2-4.042.418 4.54-2.508 11.967.14 13.261zm344.087-166.657q.334-1.471.66-2.942a20.684 20.684 0 0 1-.98-2.143 20.242 20.242 0 0 0 .32 5.085zm-372.578-2.007c-2.479-1.3-5 2.382-2.839 4.141a8.128 8.128 0 0 1 1.412-3.1c1.248.6 0 4.838 1.5 5.07 1.319-1.837-.621-2.576-.073-6.111zM740.8 501.93c1.573 4.2-1.456 3.859.061 6.117.144-1.225.788-.639 1.436-.034-.03-2.705.342-6.008-1.497-6.083zm9.386 2.855c.865-1.56 1.316-8.812-.105-10.2-.864 1.569-1.321 8.815.105 10.2zm-9.398-3.875a1.118 1.118 0 0 1 1.427-1.054c-1.342-2.175.041-8.348-1.547-10.165.038 4.696-.677 8.157.12 11.219zm27.533-50.57c-.082-3.311 3.235-9.162-.826-9.162 1.905 2.954-1.186 6.78.826 9.162zm-10.104-1.826c2.314-1.311.586 3.294 2.9 1.983-.4-3.195 1.65-4.2-.779-5.086-.053 1.937-2.367.763-2.121 3.103zm4.022-26.605c-.263-2.364-.782-4.373-2.212-5.045-1.887 2.174-1 12.381.891 15.277-.68-3.261 2.353-1.439 2.113-4.124-3.513 2.693-2.731-10.257-.792-6.108zm-8.208-26.339c.72-.007 1.444-.024 2.164-.042.4-.621 1.638-4.87-.052-5.1.571 3.472-2.912 1.372-2.112 5.142zm9.163-18.546c-1.277-2.29.182-8.564-2.261-9.128 1.819 3.377-1.597 8.339 2.261 9.128zM387.48 327.142c-1.542-3.817.43-8.771-.842-11.195-.067 1.246-.2 2.415-1.42 2.067.662 4.506.39 8.78 2.262 9.128zm-1.149-105.015c-.052-2.7.6-6.407-2.221-5.054.267 2.373.79 4.386 2.221 5.054zm-8.979-96.684c.325-1.827.767.418 1.444.987-.806-7.51-.788-11.278-1.626-17.3-1.163 5.002-1.886 11.897.182 16.313zm6.375-9.328c1.808 2.2 2.475 6.066 4.406 8.066-.398-4.738-.284-7.181-4.406-8.066zM378.556 104c1.992 1.229 1.614 5.938 3.677 7.054.105-1.2-.159-2.887.685-3.07 1.8 2.041-2.356 4.215.073 7.128a3.219 3.219 0 0 0 3.586-2.112 35.8 35.8 0 0 1-2.265-9.128c-2.536.937-1.763.157-4.306 1.107.194-1.652-1.006-2.722-1.45-.979zm-3.692-8.075c.61 2.373-1.233 5.809 1.527 7.1-.993-4.681.217-6.988-1.565-11.187-4.026 5.199-.941.27.038 4.087zm1.181-24.513c.053-4.564-.182-8.713-1.564-11.178.299 3.395.638 12.124 1.564 11.178zm4.755-25.6c.106 2.539 1.382 3.136.053 5.1 2.906.945 2.83-6.151-.053-5.1zm12.185-5.362c.579-.755 1.848-7.094-.789-6.1.87 3.429-.46 4.358.789 6.1zm20.068 122.966c-.207 0-.412.008-.619.012.214 1.742.438 3.448.677 5.082l-.058-5.094z\",\n fill: \"#fcae1d\"\n })), _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M770.3 379.406v-72.855q-.348-1.044-.7-2.08a1.076 1.076 0 0 0 .7.459V196.71q-9.2 5.026-18.568 9.012c-1.063 4.737-1.144 10.18 1.07 11.409-.158 1.809-1.216 2.349-2.863 2.108.66 2.954 1.091 1.12 2.892.955-.293 2.953-3.073 2.472-3.539 5.177-1.72-6.507.281-12.048.365-18.782-103.672 42.965-219.557-6.265-294.048-86.089a65.71 65.71 0 0 1-.512 3.238c.2-1.05 1.69 2.116.767 4.062-3.265 6.913-5.085-3.948-5.159-10.209-.306 3.723-4.865-.836-6.5-1.782-.588-3.409-.984-6.613-1.317-9.714q-7.469-8.952-14.229-18.3a5.077 5.077 0 0 0-1.288 2.892c-1.693-1.494-1.128-2.465-.776-5.078-2.731.933-4.111 3.717-4.234 8.248-2.651.763-3.2-1.552-2.932-5.037 1.962-.789 1.474 2 2.9 1.979a59.087 59.087 0 0 0 1.153-10.376q-.74-1.083-1.471-2.171c-.051 3.762-.686 7.491-2.62 7.514.193-3.394-1.641-3.822-2.221-6.083.349 5.593-.712 2.988-3.557 4.166.838 4.5-1.169 5.095-1.35 8.191 2.293-.532 2-4.622 3.527-6.2a6.205 6.205 0 0 0 .759 3.033c-.859 2.39-4.453 4.037-1.372 6.161a3.21 3.21 0 0 0-2.871 1.079c-1.74-15.309-2.9-21.54-.884-34.822a278.99 278.99 0 0 1-18.357-37.752c-.151 1.969-.122 3.7-.188 7.726 1.069.15 2.649-.423 2.889.955-2.462 17.119.984 31.816-.932 46.936 1.248.373 1.834-1.552 2.159-.046-1.075 5.746-2.042 10.443.879 14.26a2.809 2.809 0 0 1-2.174-.979c1.359 4.158-.187 9.551-1.286 13.29-2.889-2.751-.489-8.045-5.144-9.065.489 7.052 6.483 10.031 5.241 18.243 1.661 1.365 2.671-2.685 2.879-.071-.869 3.129-.509 3.988.789 6.112-2.455-.017-2.651 3.05-3.545 5.175 2.774 8.074-2.039 15.966 2.411 23.4-1.8 16.264-.908 40.015 2.03 52.984-1.752.946-.721 5.71-3.542 5.183 2.693 5.772-1.7 9.107 1.573 13.223.073-1.252.2-2.423 1.421-2.074.639 2.431.489 2.688.8 7.12-1.134.129-2.5-.083-2.142 2.091 4.685 3.187.165 11.444-.541 16.323 1.423.274 1.42-1.41 2.135-2.091.416 3.958.979 11.336-2.745 12.306-.8-2.589 3.053-3.634.668-5.116-.179 1.44-1.571 1.2-2.133 2.087 4.242 11.017 3.058 26.4 2.52 33.6-.2 2.647 2.267 3.875 2.223 5.054-.126 3.187-3.3 5.767-2.041 11.252-.235-1.016-.047 1.436.043 4.083.036 1.012 1.662 11.66-1.28 14.307-1.805.473-1.1-7.942-2.215-5.046.293 3.66 1.155 4.888.088 8.157 3.715-.871 3.059 5.278 1.518 7.1-1.111-3.22-1.293-7.784-3.7-9.1 1.215 6.3 4.479 18.066-1.967 17.381.73 0 .921 1.764.018 2.042-1.834-4.116-3.369-2.428-5.106-6.009 6.345 13.021-3.706 23.875 5.434 35.568-1.365.265-1.6-1.113-2.891-.954-.041 3.169 2.3 2.862 1.517 7.111-1.362-.2-1.579 1.183-2.871 1.087.308 2.648.434 5.585 1.518 7.1-.361-4.515 1.127-6.481 3.524-7.219-1.013 6.82 2.294 10.073-1.26 16.347.665-4.091-2.188-3.021-1.52-7.111-1.691 1.028-4.556.431-4.271 4.173 1.069.15 2.648-.423 2.888.959-3.269-.611-4.122 12.738-4.122 18.452 2.707 1.032 2.024-2.581 4.295-2.142-.806 1.22-.773 3.619-.647 6.133-1.782-2.092-1.547-1.419-4.331-.922-.6 3.286 2.385 1.345 2.2 4.034-2.736-.071-1.429 5.394-3.532 6.19 2.463 4.415.48 5.751-1.377 5.137 2.021 3.845 1.344 5.377 3.685 8.078-1.415 1.722-.92-.079-2.88.062.794 4.357.451 3.925-.642 7.154.827 1.551 2.1 2.456 2.927 4.008-1.444 1.851-.437 4.158-2.15 1.071-1.324 11.252 6.908 14.844 5.262 20.285 5.317.551 3.284 5.273 1.535 9.141 1.661 1.36 2.677-2.689 2.886-.059-1.571 2.847-1.322 5.2-.619 9.186-2.291.922-2.247-1.56-3.624-1.958 1.213 2.241-.093 5.527.785 6.1a4.767 4.767 0 0 1 2.127-3.112c.006 2.406 1.272 2.979.788 6.107l-2.165.05c4.04 8.543.566 20.663 3.873 24.389.668 3.256-1.848 2.157-2.121 4.124a2.844 2.844 0 0 0 2.151-1.062c1.676 2.489-3.727 14.6.09 8.157-.245 4.83-3.052 6.324-1.338 9.2.187-2.381 1.919-2.423 2.159-.049-1.07-1.437-2.288-.731-2.136 2.091 1.242.945 1.609 3.161 2.212 5.053-1.986-2.7-1.251 4.721-.648 6.133.144-.8 0-2.009.7-2.054.316 2.028 1.86 7.522.1 9.174-1.007-.606-.152-3.926-1.482-4.05-1.239 3.469 1.017 4.522 1.527 8.132-4.284 1.659 3.33 10.087-2.037 11.253 2.678-8.228-6.6-13.344-.926-18.34-4.066-.1-1.66-3.576-2.97-8.091-2.256 1.22-1.767-1.56-2.895-1.966-.524 4.713.83 2.888 1.482 4.041-.758.971-.181 3.759-2.126 3.1-.124-1.2.088-2.9-.762-3.046.624 4.2-.24 6.357-2.068 7.187 1.722 5.311-.27 9.095.943 20.38 1.283 1.884 2.209-1.444 2.891 1.975-3.14 13.327 3.332 25.335 1.838 35.65 2.2 2.042 4.128-1.967 4.353 2.963-.987 2.547-2.461 1.858-4.31 1.12 2.948 9.295-1.338 15.419-.442 25.5 6.164 4.09.369 18.223 5.308 24.364-1.06-4.705-1.159-10.8 1.293-13.286 2.663 3.776 3.6 15.721-1.281 14.311 2.625 5.531-2.847 10.418 1.574 12.2-4.55 1.241-4.248 12.821-2.669 19.426-.232-.978-.8 1.52-.677 4.1.677 13.489-.22 30.119 3.355 42.753-1.131.133-2.5-.082-2.145 2.092 1.843.074 3.715.107 3.639 2.979-1.565.689-2.321-2.834-2.151 1.066a3.733 3.733 0 0 1 .777 5.082c1.06 2.233 1.743-1.318 2.17.972-.073 1.9-.437 3.418-1.4 4.107-1.134-.066-.589-2.58-2.18-1.992 1.594 3.71.976 4.606 2.262 9.128 2.467.134-.1-3.435 2.833-4.132 9.32 21.742 7.061 48.23 8.7 71.191-1.834 1.154-1.225-6.289-2.194-3.012 2.036 9.809 4.286 11.917.925 19.352.044 3.747 2.576 3.859 3.677 6.05-1.769 3.643 3.361 14.148-1.242 18.372 2.654.531-.217 5.021 2.238 7.1-2.654.165-2.065 1.917-.683 3.07-4.142.548-.931 5.631-3.524 7.219 2.449 1.6 1.954 4.507.809 8.141 1.061 2.232 1.74-1.32 2.174.971-1.644 5.037 2.174 12.414-2.719 15.352 3.381 2.755 2.44 16.381-.5 19.393 4.081.68 3.4 12.19 1.564 12.207a78.383 78.383 0 0 1 5.174 12.115c-1.069-.505-1.828-1.468-2.9-1.966a121.702 121.702 0 0 0 0 7.2q4.751-2.367 9.462-4.825c-.887-5.895.246-15.779.436-19.925a1.124 1.124 0 0 1-1.43 1.045c1.347-1.908-2.748-8.613-.135-12.231-.173 2.323.217 3.826 1.482 4.041 2.558-4.241-2.9-3.427-2.246-8.108 1.66-.348.834 2.921 2.194 3.012-1.055-8.588.407-23.989-1.067-31.591-2.341-1.211-.519 3.311-2.859 2.1.378-1.485-.9-5.252.668-5.111 1.031.216 1.227 1.651 2.174 1.992.225-15.681-1.345-30.9-.539-49.957 3.313-2.622-.85-14.862-.226-20.4.826-7.294-1.016-19.26-1.761-29.534-1.189-16.364 1.114-33.135-2.677-46.852 1.13-.125 2.5.086 2.144-2.092-1.084-.149-2.654.424-2.894-.954.459-4.7 1.834-8.191 4.2-10.282a16.3 16.3 0 0 1-3.642-4.007c-.179 1.8 2.089 5.045.07 6.115-.331-1.934-2.082-1.792-1.5-5.062 4.55-4.265 1.567-1.859 2.8-8.224-.029 1.752.574 2.61 1.468 3.037-2.314-4.613 1.518-11.849-.9-16.3-1.119 5.336-.375 6.987-2.042 11.253-.556-5.291-.09-6.532-1.564-11.179 1.33-1 2.444 3 2.886-.058-3.082-4.746 4.746-12.808 1.224-19.41.642 2.058-1.072 5.643-1.4 3.087-.137-2.53 1.1-3.178 1.38-5.128-4.969-3.809-.554-11.335-3.05-16.248.961-2.564 2.007-2.464 2.833-3.129-2.414-1.66-3.246-11.086-3.02-13.185 2.261-.548.592 4.663 2.224 5.044-.595-10.227-3.106-13.6-4.527-18.255-.24-2.341 2.059-1.166 2.13-3.1-3.12 1.726-3.882-5.975-4.445-11.12 2.541.294 3.713-.025 4.331.929-.821 1.1-.217 4.7.788 6.1 1.382-2.951 2.633 2.966 4.354 2.958-.381 2.124-1.105 2.183-2.151 1.07 1.752 7.511-.035 16.938 1.7 24.439-.847-.132-1.644-1.784-2.15.042 2.534-1.635.475 3.452 2.191 3.02 1.389-2.954 3.094 2.291 3.651 3.992-1.058-1.112-1.773-1.055-2.148 1.07 4.444 2.232-.407 7.68 2.271 10.154-1.032 2.385-2.309-1.946-2.145 2.087.961-.026 1.919-.051 2.88-.067.393 3.668.782 14.315.911 17.311-.325 2.58 3.539-2.922 2.9 1.974-3.275-.647 1.5 11.257-3.465 12.319 2.452 9.406-.918 13.315 2.393 21.356-1.212.448-2.332 6.041-.633 7.154-.551-1.644 1.374-4.456 1.413-2.059-3.106 15.062-.9 35.127-2.318 51.035a2.714 2.714 0 0 1 1.409-2.061l.044 4.07a2.757 2.757 0 0 1-2.165-.972c1.834 3.511-2.6 8.864-1.324 11.245.806-2.93.853 1.634.029 2.041 1.992.648 1.641.15 2.912 3 .106-1.527-.3-3.759.674-4.1 3.056 8.663-.111 21.427-.389 30.614 1.361 3.169 2.405-3.494 3.609-.084-2.6 3.22 3.551 7.809.1 9.17-1.835-.817-1.3-10.465-4.383-6.017 1.924 4.822 6.586 8.091 3.747 14.2 7.087-1.029 4 12.813 7.4 17.17-1.4 2.464-3.465 9.26-1.295 13.285.724-7.369 2.256-13.642 6.3-16.456.126 1.2-.09 2.9.759 3.038 1.113-5.767-3.228-3.569-2.265-9.12-2.727-.067-1 5.983-3.533 6.2-.466-8.148-.925-15.534.489-21.434-.6 3.294 2.391 1.352 2.2 4.033-.626.938-2.007 5.8-.656 6.132 3.8 1.353 6.557 12.813 3.1 19.31 4.128 2.955.047 8.979.108 10.2.621-2.776 2.661.8 2.9 1.967-3.308-.017-2.277 10.447.776 5.087.091 4.207-1.732 5.074-2.821 5.162 1.594 3.2 3.009 6.655 5.135 9.062-1.8-.084-2.27-1.893-2.871 1.09 1 2.444 1.45.6 2.189 1.988-.152.805-.594 1.208-1.43 1.054 5.2 3.585-2.309 12.356.15 14.273.067-1.245.2-2.419 1.421-2.07-.276 4.643-.279 9.646-2.751 11.281 3.24 1.473-1.149 3.519-.645 7.145a4.517 4.517 0 0 1 2.512 2.721c48.4-28.344 93.194-63.861 133.155-104.238-1.533-5.8-1.014-14.315-.157-17.713-5.549-5.32-3.489-24.174-.346-31.61-.4-7.849-2.255-7-2.317-14.231-.179 2.187-2.6 6.373-1.354 7.17-2.666-.108-2.3-4.971-2.3-12.182-.008.15.85 1.062.744 2.025 1.128-10.331-7.195-30.986 1.694-42.869-.062 4.215.279 7.866 1.547 10.161-1.187-2.353 2.1-13.946-2.323-15.244-.384-3.195.849-4.187 2.1-5.149 1.685.316 3.384.581 2.933 4.016 1.723.365-.457-4.63 2.115-3.1.185 6.6-1.588 10.526-1.248 17.364 1.474-2.323 2.042-6.638 2.019-13.311 3.981 14.78 4.664 24.331 3.325 40.721 3.293-.162 2.294-6.224 4.963-7.241-1.421 10.842 3.082 18.087 1.72 25.447q-.721.024-1.442.038c-1.535.509-1.392-1.419-1.468-3.026-2.132 1.851.469 5.419 2.918 4.009.068 3.36 1.272 5.053.821 9.161-1.573-.108-1.573-2.531-1.489-5.062-3.032 3.1.812 10.216 2.32 15.244 1.152 3.6-2.44.673-2.124 3.1.84 2.264 1.413 10.375 1.284 17.8 56.009-59.888 101.637-129.336 133.167-201.405-.282-5.465.411-9.034 3.223-7.5q.97-2.295 1.922-4.6c-.481-2.439-1.182-5.036-1.4-7.223.949-1.037 2.151-1.726 2.842-3.12-5.127-7.468 2.684-12.73.5-20.4 1.886-.349.6 3.941 2.9 2.986-6.006-10.355-1.134-28.106-3.346-42.752 1.911-.366-.609 5.725 2.209 4.033-2.112-10.573.176-30.513-1.925-43.816 2.227 3.071.956-3.784 2.837-4.141 4.915 8.872.638 18.522 4.652 30.5 1.04-.581 3.738 1.1 3.589-1.1-6.724-3.162-2.837-15.9-5.3-24.355 1.125-.465.577-3.22 2.853-2.108-4.244-7.843-3.38-23.509-1.113-35.667-3.187-2.962.378-9.991-1.605-15.26 1.1 2.19 4.154 1.539 4.382 5-1.88 1.228-3.143-3.079-2.874 1.079 5.3 1.227 1.881 14.521 3.783 17.252.152-2.623 1.257 1.377 2.88-.058-2.028-4.34.067-8.323-2.286-12.182 2.088-2.233 4.084-10.241.368-6.569 3.431-3.758.429-11.385 3.713-14.949-.457 11.112 2.868 15.112 3.129 23.393 2.447-4.854 1.04-7.568 1.31-12.265a2.809 2.809 0 0 1 2.173.971c.238-14.771-.6-24.6 3.932-35.783-.849-.137-2.045.229-2.165-.97 2.9-6.6 1.5-18.755 1.152-25.526-.07 1.253-.191 2.423-1.409 2.074-.088-4.464-.78-9.766 2.044-10.24-.293-2.348-3.163-.9-2.924-4.016 1.571-3.186 4.413-4.643 5.67-8.281-2.775 3.264-4.422-13.731.618-9.2.4-6.373-1.77-9.8 2-14.322-1.333-1.851-2.889-3.378-3.666-6.034-6.893.822-7.722-1.311-12.969-.738 1.593 5.4 2.5 9.361-2.036 11.265 1.933 1.091 1.916 9.282.12 11.216 4.614 6.858-1.43 16.53-.416 27.542-3.486-.51-.812 3.419-3.545 5.178-.319-3.676-1.008-6.813-1.55-10.166 2.247 1.419 2.789-.224 4.292-2.133-2.136-1.369-1.652-6.58-.088-8.156-3.026-1.146-1.233 4.323-2.821 5.152-1.09-3.916-1.617-8.671-3.015-12.165 3.994-2.042 3.677-9.576 2.007-14.315 1.653-2.058 1.9-2.058 3.6-.083-3.243-9.36-2.37-20.969.419-27.542-5.285-2.6 1.535-10.953-.155-14.273a4.761 4.761 0 0 1-2.127 3.1c.486-3.138-1.266-2.971-.783-6.1 2.81.175 2.561-3.85 3.525-6.2-1.345-.945-2.367 3.1-2.874.071.694-8.626 1.236-11.895-.923-18.344 2.352-.937 4.4-.124 4.257-6.215a3.155 3.155 0 0 1-2.889-.954c-.018.05-.025.1-.039.146q-.074.473-.124.956c.077 1.933 2 3.226.216 3.993a11.267 11.267 0 0 1-.216-3.993 2.886 2.886 0 0 1 .124-.956c.507-3.3 1.6-6.231-.69-9.335-.032.012-.059.014-.091.027-.014-.065-.018-.118-.029-.179a9.522 9.522 0 0 0-.706-.824c.609-1.5.524-3.959 2.841-3.121-.264 1.927-2.667.917-2.135 3.945.039.05.083.1.12.152 3.231-1.19 3.327 3.947 3.579 7.094.226-6.643 7.984-10.751 2.737-13.332 1.632-10.132 4.518-17 6.9-27.675 1.034.216 1.239 1.644 2.185 1.984 1.436-5.4-3.768-8.531.618-9.195.141 4.979-.407 10.953 1.586 13.227.075-1.9.436-3.418 1.391-4.116-1.641 4.531 2.8.888 1.541 9.145 2.736-.879 2.241 2.938 4.362 2.971 1.119-2.464.894-6.805 2.786-8.224 2.183 7.884 1.717 12.772-1.254 17.369-.413-1.477.783-5.286-.773-5.086.451 5.625-2.593-3.528-2.142 2.09 2.991 2.971 3.126 6.589 4.433 10.1-2.93-2 1.986 4.6-2.094 6.166.711 1.738 2.413 2 2.923 4.017-4.491 8-3.747 23.467-4.685 31.72.827-1.531.566-4.577 2.828-4.145.014 1.02.6 1.2.744 2.021-3.188 3.206.48 9.961-3.475 11.3.12 5.245.786 5.029-.63 8.17 1.594.883 3.361-.611 2.93 5.032-1.465-.265-1.435-2.721-2.907-3-.2 8.041 2.637 22.548-1.142 27.568 11.224 13.044-4.061 34.2 4.1 44.778-.956.033-.645 1.8-1.421 2.066q.6-3.982-2.194-3.012c.278 5.166-.03 5-1.31 12.273 3.955-1.6 3.325-9.5 6.345-12.381 1.363 2.157.572 7.46.845 11.2 2.082-1.361 2.05-10.527 2.012-13.3 0-.132-2.329-.5-2.18-1.992.144-1.418 1.993-2.667 2.121-4.132.616-6.821-3.1-16.7 1.22-20.414a7.433 7.433 0 0 0 .635 4.598zM383 576.076c-2.133-2.693-.662-3.942-.082-7.136 2.15 2.705.674 3.949.088 7.136zm2.7-16.372c-1.491-1.743-1.4.788-2.895-.963-.3 1.933 1.049 6.133-1.377 5.137.97-1.344.663-4.449.639-7.162 1.239.029 1.858-.8 2.136-2.071 1.586.104 1.586 2.519 1.504 5.055zm6.428 61.051c-.557 3.668 1.684 4.887.082 7.128-3.07 1.269-3.175-8.257-.075-7.128zm-4.858 16.421c.759-3.974 1.55-7.924 5.684-7.26-2.114 2.108-2.536 6.548-5.677 7.26zm26.742 206.439c2.634-.68 2.019 8.722-.638 7.153 1.526-2.646-.72-5.775.645-7.153zm-4.632 103.107c-.169 1.1-1.427.714-1.418 2.058-.31-1.385-1.362-5.717-2.259-9.128a2.783 2.783 0 0 0 2.175.98c-.119 2.928.241 5.178 1.509 6.09zm19.6-116.7c1.565.141.293-3.627.662-5.113 2.218 2.718.586 4.606.091 8.158a8.491 8.491 0 0 1-1.526-8.124c1.568-.207.378 3.61.783 5.08zm1.649-46.944c-1.813-.374-3.348-3.42-2.217-5.054 1.288.905 2.535 1.843 2.227 5.055zm-4.285-588.345c-1.694-.291-2.722-1.553-5.054-.914.481-5.655 2.054-8.111 3.445-14.347 3.198 3.345.385 9.067 1.619 15.262zm1.042-35.717c1.664-.357.844 2.922 2.2 3.012-.159 3.577-2.714-2.5-2.871 1.08-2.205-.954.298-3.443.685-4.091zm1.934-21.46c-2.985 5.163.234 12.083-2.663 20.448-1.806-7.492-.837-24.654 2.673-20.447zm-1.518-7.107c-2.182-.975-1.256 2.3-1.394 4.112-1.931-6.705-.117-21.733-1.81-33.616 5.687 6.963 1.779 18.73 3.214 29.505zm-2.393 44.923c-1.676-.651-1.954-3.344-3.644-3.991 2.147-1.419-.033-8.747 2.788-9.245-2.053 4.508 2.386 7.976.866 13.237zm-3.006-77.439c-.8 5.775-.254 7.16-.571 13.277 3.4-5.817 2.487 12.754.158 14.265-3.138-9.61.489-22.83-3.211-29.51 2.304-.916 2.257 1.566 3.634 1.969zm-6.503-2.912c2.534.751.873 3.543.058 5.095-1.687-.232-.458-4.473-.058-5.095zm-9.557 244.967c-2.5-.149-1.374-5.6-2.256-8.107 3.318 1.277.813 4.896 2.257 8.107zM404.8 462.4c1.3.1 1.506-1.278 2.871-1.079-.534 3.294-.923 6.78-2.065 9.229-2.628-.643.108-4.074-.806-8.15zm-1.061-96.854c1.843.07 1.462 3.373 1.506 6.079l-2.165.049c-.111-2.518-.155-4.916.662-6.131zm-.779-5.091.044 4.083-2.156.049c.287-1.961.219-4.401 2.115-4.135zm-6.873 95c-.721.017-1.444.038-2.165.046-.015-1.7-.039-3.4-.056-5.091 2.177-.428 1.534 3.282 2.224 5.041zm-4.664-96.776c-3.337-3.46 1.91-.829 1.394-4.115.985.29.624 2.539.765 4.067-1.023-.067-2.045-.134-2.15 1.069a.513.513 0 0 1-.006-1.025zM386.12 400.6c2.78-.7 2.956-.917 5.06.908-1.465 1.577-4.925 3.324-5.06-.908zm-.776 60.188c-1.594-.1-.352-4.327-.788-6.111 1.593 2.166 1.541-.291 1.4-3.083 2.921 1.168-.348 6.264-.612 9.197zm-1.805-33.616c-.284-3.614-2.013-2.461-.794-6.112.985.3.63 2.551.77 4.074.839-.19.584-1.871.686-3.078 1.33-1 2.444 3 2.88-.067 1.134.982-2.276 4.177-3.542 5.186zm5.543-19.493a2.834 2.834 0 0 0-2.174-.984c.243-1.17 1.248-2.6 1.43-1.053.729-.672.721-2.349 2.147-2.083-.442.921-.861 1.842.009 2.041-.164 1.115-1.418.733-1.412 2.082zm4.969 59.03c-3.422-3.834-5.968-7.56-3.05-15.227 2.086 2.584-.484 9.775 5.165 11.1-1.069 8.531.164 15.394-1.233 19.4-3.648-3.253-3.433-11.444-.882-15.27zm-.422 27.551c.445-5.236 2-7.236-.126-11.219 1.2-.026 2.405-.051 3.607-.084-.879 5.61.943 12.872-.51 19.393-2.517-2.362.286-6.436-2.971-8.087zm.85 77.49c2.2-.788 2.138 1.709 4.338.925-1.292 1.58.2 6.983-2.824 6.179 2.6 1.4.238 6.592.112 10.2.389-6.817-2.693-12.254-1.626-17.301zm2.416 23.4c.554-4.174.074-3.518-.09-8.157 1.186-1.751 4.218-.9 3.63 2.971-4.335-2.984.442 4.543-3.535 5.19zm5.195 14.157c-2.136.266-2.573-3.577-1.5-5.062 1.084.843 1.582 2.535 1.5 5.066zm1.389-136.69c1.962.589 2.85 2.747 2.941 6.066-1.023-.075-2.039-.133-2.15 1.054-2.092.037-1.77-5.714-.791-7.116zm1.76 161.1c-3.111-1.335-.4-6.472-.829-10.173 2.467 3.369 2.332 5.327 3.718 11.128-1.151-1.472-2.417-6.814-2.889-.956zm3.416-16.389c1.351 2.523-.009 3.925.818 8.141-2.195-.022-1.767-6.631-.818-8.142zm-2.212-268.161c4.542 2.913 3.212 23.069 3.967 33.567-3.539-7.652-2.397-26.349-3.967-33.568zm5.344 290.533c-2.5-.846.135-4.107-1.518-7.111 2.722-.88.965 4.796 1.518 7.111zm2.971-451.853c-2.564-4.439 2.232-16.207-.926-18.331-1.661 7.759 1.017 21.468-3.316 25.567-3.27-10.817.814-19.991-.346-31.608.753-.013 1.508-.03 2.264-.046-1.95-15.884-2.727-35.865.024-54.059-.19-1.1-1.438-.665-1.468-2.009a30.609 30.609 0 0 1 1.383-6.149c2.236.183 1.266 5.046 1.521 8.132 1.028.059 2.039.117 2.15-1.07 1.57 9.958-.159 27.792 4.066 42.745-.741 3.327-1.631 6.456-3.5 8.232.638 2.971 2.308-.656 3.591-.075.586 2.589-2.76 4.747-.653 6.124-.6 2.988-1.061 1.179-2.865 1.087 1.142 5.133 2.059 8.888 1.578 12.211 2.424.992 1.085-3.2 1.378-5.14 2.557 3.145 1.652 10.364.143 13.26-2.736.821-4.782-4.672-5.024 1.128zm1.558 471.122c1.269.913 2.526 1.851 2.218 5.058-.648-.618-1.3-1.207-1.438.029-1.565.199-.369-3.611-.78-5.088zm1.609 15.27c-.663-.266-2.461-3.743-.768-4.066-.032-.989-.888-.773-1.45-.989.592-2.978 1.066-1.169 2.871-1.087.557 3.111-1.21 3.029-.653 6.141zm.759-456.908c-1.21-1-.835-4.307-1.506-6.083 1.289.108 1.5-1.278 2.865-1.078.757 4.048-2.118 3.11-1.359 7.16zm2.4 22.389c1.691-12.182 1.075-23.119 1.773-35.733-1.325.183-.4 3.461-1.4 4.107-2.241-.1-1.45-6.2.653-6.128-1.488-2.85-2.091-3.041-5.059-1.937 4.886-8.473 8.1-2.821 7.3 9.024 1.057-.892 1-3.3 1.377-5.124 2.27-.544.594 4.655 2.223 5.045-.211 1.386-1.8.888-2.865 1.079.838 9.892 1.195 10.622 1.67 21.385-2.727 1.419.047 5.179-2.8 7.2.682 2.763 1.579-3.136 2.88-.067-.51 7.179-2.481 6.515-1.277 14.307 2.045.125-.949-6.651 2.1-5.144a21.119 21.119 0 0 0 .855 12.215 3.643 3.643 0 0 1-3.609-.939c-.188 2.689 1.031 3.328 2.911 3 .826 5.162-1.262 6.3-2.789 8.216-5.417-5.305-.094-23.753-3.944-30.507zm5.027 458.816c-1.916-.316-2.458-2.626-2.932-5.037a3.186 3.186 0 0 0 2.888.954l.043 4.082zm-3.583 1.1c2.075 1.452.833 2.68 1.518 7.1-2.737.877-.974-4.799-1.519-7.105zm2.262 75.415c-1.79 3.618.105 9.037.144 13.256-1.003-2.05-4.35-10.763-.145-13.261zm-1.286 14.31c2.836 2.261.4 5.8 1.556 10.161-3.56-.892.075-8.245-1.56-10.166zm2.14-67.361c-3.073.863.716 4.921-1.353 7.169-2.4-.307-1.195-5.85-1.541-9.144 2.6-2.092 3.571 1.393 6.475-.141-.235 12.484 1.863 21.069-1.085 32.653-1.435-7.837-.515-18.352-2.496-30.537zm1.175 40.769c3.712 1.983-.633 10.241 3.712 10.116.326 2.125-.466 2.705-.682 4.1-.7-1.688-2.693-3.514-2.151 1.071-1.175-3.508-.451-9.972-.879-15.292zm.97 23.439c1.728-.444-.346 4.651 2.195 3.008-1.023 1.61-1.469 4.008-2.09 6.158-1.467-1.109-.916-7.864-.105-9.174zm-.1 57.113c1.043 1.511 2.713 4.341 1.512 6.084-1.714-.533-3.029-3.881-1.509-6.089zm-.527 17.344c.293-1.6 2.256-.921 1.4-4.107 2.06.1 1.363 4.223 1.521 7.1-1.474-.268-1.445-2.733-2.918-2.998zm4.245-7.236c-.314-4.44-1.773-8.2-.87-13.236 2.963 1.522 1.043 9.762.873 13.231zm2.76-602.776c-1.638-.722-.343-5.709-.817-8.141 3.55 1.771 1.005 3.937.82 8.136zm4.341-63.316c1.9-.366 1.879 2.083 2.21 4.024a2.607 2.607 0 0 1-2.207-4.029zm1.9 41.765c-3.243.166.284-3.087-.788-6.107 1.801 1.388 1.317 3.488.793 6.105zm-4.122-47.849c.58.2.724 1.013 1.444.988-.061-12.961-1.08-14.356-2.434-25.434 7.406-4.249 5.877 19.452 6.764 25.347-1.867 4.314-4.79 5.169-5.769-.906zm21.023-52.462c1.474 2.142-1.833 3.37-1.359 7.171.7-.051.539-1.27.7-2.058 1.036.207.286 3.036 1.473 3.028 1.626-1.12.211-6.422.624-9.194 3.4 4.24 2.487 14.671 4.518 18.248a3.089 3.089 0 0 1-4.322.1c-2.414.97-.061 2.281-1.4 4.116.961 2.83 1.45-3.245 3.58-2.125.135 7.859-.785 9.618 1.582 13.227-1.034 3.27-1.186-.141-.651 6.133-4.992.622-1.107-6.518-2.973-9.112-3 3.478 2.83 13.207-2.022 13.3.641-12.741-4.842-28.656.255-42.839zm5.286 88.6c-1.014-.058-2.031-.116-2.142 1.071-3.284-11.361-1.33-29.344-1.166-40.77-.753-2.548-3.182.888-2.848 3.12-2.038-.987.156-4.328-.067-6.115 1.292-.15 1.538 1.21 2.892.954 1.608-.474.24-5.029.647-7.146 7.133 13.731 1.906 27.905 2.689 48.883zM566.8 789.269c-3.135-8.206-3.241-12.294-4.556-21.318 1.4.382.114 4.663 2.915 3-.334 7.406 1.374 11.796 1.641 18.318zm2.754-77.573a7.549 7.549 0 0 1 .764 4.058c-3.591-.02-.258-16.024-.761-4.054zm6.659 17.194c-3.487-.079-2.886-6.133-3-11.153 3.659.663 3.117 7.263 3.003 11.153zM723.142 599.2c1.389.83 1.993 4.431.783 6.1-2.64 1-1.368-5.337-.783-6.1zm-1.2 22.463c1.459-6.547 1.465-8.24 1.284-14.306 2.557 2.125 1.142 10.066 1.6 15.265-1.481-1.751-1.391.788-2.879-.955zm30.8-211.782a5.041 5.041 0 0 1 .056 5.1c-2.357.29-3.288-5.544-.048-5.096zm-5.442 28.675c1.713.522 3.035 3.875 1.511 6.091-1.264-.913-1.625-3.154-1.511-6.091zm-.624 8.174c2.809.966.143 3.5.794 7.128a9.562 9.562 0 0 1-.793-7.128zm-2.86-64.184c1.219.344 1.345-.826 1.416-2.07 1.813 2-2.093 3.817.076 7.128a1.122 1.122 0 0 0-1.43 1.054c-1.517-2.258 1.512-1.925-.061-6.112zm-11.63 122.637c-1.157.308-1.239-.946-2.165-.97-.2-3.287 1.225-4.349.625-8.174 2.276.406 2.677 6.97 1.54 9.144zm-.908-17.318c1.128-3.706-.172-4.938.636-8.174 2.37.323 2.01 8.697-.636 8.174zm3.735-54.138c-1.839-.075-1.464-3.383-1.511-6.084 2.308-.343 2.663 4.407 1.511 6.084zm1.325-10.224c-1.9-.257-.528 3.966-2.842 3.12.264-2.456-1.348-2.182-.782-5.087a2.745 2.745 0 0 0 1.412-2.067c1.858.067 1.078 3.958 2.933 4.017-.126 1.162-.715.581-.721.014zm2.308 13.215c2.886 1.062.519 4.012-.67 5.108-1.368-.075.535-3.818.67-5.108zm-1.746-27.5a8.859 8.859 0 0 1 .777 5.079c-2.256.531-1.934-2.693-3.639-2.972a3.1 3.1 0 0 1 2.862-2.112zm1.9-155.055c-1.319-1.875-1.8-11.128 2.056-9.228-1.908 3.257-1.588 5.697-2.051 9.223zm9.914-15.517c-1.734-4.947.445-7.593 1.295-13.282 1.819 4.1-.624 8.311.864 13.24-.716.011-1.437.02-2.154.037zm8.668 2.863a3.189 3.189 0 0 0-2.891-.947c-.571-3.136 1.954-2.008 1.389-5.137 1.842.075 1.467 3.386 1.507 6.075zm12.018 44.606c1.617.407.346 5.021.8 7.121-1.117-1.395-2.11-5.225-.8-7.121z\",\n fill: \"#fcae1d\"\n })), _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M450.705 116.688v.9a6.142 6.142 0 0 0 0-.9zm-71.578 565.541c1.105 5-1.421 14.156 1.64 18.323-3.181-2.274-.445 4.5.78 5.078l-2.16.05c.944 43.848 2.84 92.369 2.145 130.492 2.572 4.149-.841 18.131 4.564 22.33-1.5 5.66-2.1 7.61-.577 13.27-4.06-2.232-.316 6.256-3.541 5.177 1.584 4.681-1.793 10.166.855 12.216.685-6.3-1.415-10.34 2.03-12.274-.777 5.971 1.225 12.336-1.983 16.357.99 4.68 3.668 13.5.908 17.318 3.325.457-.609 5.5 1.535 8.125 1.239.373 1.819-1.553 2.151-.05 1.561 3.975-1.513 8.945.135 12.231.073-1.237.187-2.414 1.42-2.066.556 3.112-1.2 3.02-.653 6.133 2.42.323 1.148-4.44 2.094-6.166-2.276-2.083-2.584-13.75-.89-15.269 1.283 3.46 3.014 4.588.808 8.141 1.972.689 1.43-2.067 2.86-2.108-.039-3.4-2.379-3.435-2.241-7.087 1.939.622 2.774 2.863 4.368 3.974.158-3.675-2.88-2.7-2.947-6.049 1.33-1.012 2.434 3 2.885-.066-2.135-2.025.911-5.353 1.354-7.162-4.187.806.325-5.091-2.238-7.086.981 3.12-1.978 5.825-2.843 3.112 2.435-2.4.745-4.274 2.066-8.207.721 0 .85-.839 1.436-1.042.1 4.751 3.964 3.946.729 1a538.303 538.303 0 0 1 1.963-17.385 8.1 8.1 0 0 1-1.4 3.1c-.293-6.178 2.6-5.137-.791-6.1-.208-4.3 3.187-3.659 4.251-6.216-2.6 1.046-.657-4.572-2.927-4.016-.293 1.933 1.054 6.124-1.377 5.129.4-6.668.393-7.468-.87-13.236 1.365.2 1.579-1.187 2.865-1.079-.97 3.078-.964 7.418 1.532 8.124.882-5.768-.729-8.655-3.014-12.17 2.361-2.6.6-6.344-.783-6.111 1.119-2.971 2.678-1.287 4.315-.092-.75-5.924-.849-7.925 1.31-12.273.2 1.436 1.591 1.141 2.18 2-1.837-4.054-.975-4.638.633-8.174-2.438-3.518-4.573-16.7-1.694-23.418-2.918-3.962-2.068-7.809-3.076-17.268-3.187-1.37.053 6.1-2.1 6.165-2.367-1.237-4.541-8.273-1.556-11.186 1.717-.436-.351 4.647 2.195 3.012-2.277-11.614-6.953 2.15-7.849 7.311-.029-2.025-1.978-1.253-1.474-4.046 1.242-4.418 1.324-10.02-1.585-13.231.375-2.125 1.1-2.174 2.148-1.054-2.42-11.9-.712-20.837-4.676-31.517 2.73 2.564 1.646-10.1-.788-7.12 1.975-13.896.876-35.463-4.122-47.844zm15.767 190.36c.451 1.8-2.062 4.278.059 5.1-.668 3.4-1.436-1.113-2.174-.972-1.734 2.6 3.407 3.942 2.256 9.128-2.414-3.348-5.871-7.8-3.024-13.194.958-.024 1.92-.051 2.883-.062zm-1.113-35.67c-1.933-2.258-2.241-11 .592-12.249-.232 4.042.762 9.758-.592 12.249zm.563-14.29c-1.043-1.236-1.4-3.477-1.51-6.083 2.723-.938 2.602 4.506 1.51 6.083zm4.406 8.057c-1.855-1.087-1.465-5.443-1.535-9.145 2.625 1.481 2.109 5.245 1.535 9.145zm1.315-12.265c-1.895.353-2.381-1.352-2.217-4.033 1.904-.348 2.39 1.361 2.217 4.033zm-3.931-29.493c2.727 1.893 3.336 6.889 3.029 13.207-1.831 1.133-3.466-3.032-4.315.088.152-4.771.652-5.834 1.286-13.295zm.887 15.278a18.576 18.576 0 0 0-2.754 11.286c-4.728-1.884.455-13.178 2.754-11.286zm-5.736 2.171c-.744 1.5-.307-4.312-.811-8.138 3.09 1.17 2.026 5.768.811 8.138zm.2 83.618c.982.3.624 2.547.765 4.066l-2.156.05c-.868-3.195 1.1-2.506 1.387-4.111zm45.327 62.241c.214 1.117.359 2.11.462 3.051q1.245-.716 2.487-1.438c-1.118-.426-1.506.272-2.949-1.613zm-17.326-3.705c1.008-4 1.846-8.986-.134-12.228 1.136 5.415-.836 8.847.134 12.228zm-29.637-10.564c-2.595 5.021-3.378-2.772-5.76.129 2.491.162 2.4 4.087 4.378 5-1.084-3.835 1.954-1.996 1.382-5.129zM425.744 928c.48-.009.961-.026 1.436-.035-.873 2.814-.624 7.171-2.06 9.229 3.308.716 3.164-13.757.624-9.194zm-26.074-13.707c2.162 4.24-2.429 3.833-2.807 6.181.97.3 1.383 1.428 2.889.968-.22-2.984 1.315-3.553 2.1-5.159-.972.204-1.499-5.152-2.182-1.99zm27.413 4.497c.058-3.261-.8-7.792 2.08-7.179.1 2.532 1.386 3.121.056 5.1 2.613-.972 4.048-3.577 5.05.9.668-2.091 1.43-4.057 2.1-6.157-2.578-1.535-.4 3.469-2.136 3.1-1.1-2.348-1.767-1.51-3.6-.937a9.033 9.033 0 0 0 .662-5.112l2.156-.05c-1.008-5.56-1.263-4.938-.111-10.19q-3.384-.636-2.833 4.141c.02 1.348 1.268.9 1.462 2-.516 3.377-3.856 2.153-2.095 6.174a2.856 2.856 0 0 1-2.174-.971c-.52 2.559-3.632 7.87-.617 9.181zm-27.489-11.635c-.282 1.3-.9 2.1-2.142 2.092.893 3.02.237 3.46-.647 6.133 2.395-.1 2.9-8 2.789-8.225z\",\n fill: \"#fcae1d\"\n })), _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M429.752 899.356c.433-3.569 6.269-7 1.339-9.212-.2 2.017 1 2.008 1.473 3.029-1.435.771-5.429 3.178-2.812 6.183zm149.669-75.69c2.27 5.236 4.195 4.232 3.586-1.1-.2 1.651-1.022-.059-.736-2.021-1.242.427-1.872-1.473-2.161.045 2.39.944-.78 2.031-.689 3.076zm2.466-37.79c1.527-2.208.208-5.56-1.5-6.079-.577 3.249.671 3.846 1.5 5.058a.513.513 0 0 0 0 1.021zm156.871-207.41c-1.413 3.187-.593 6.97.417 10.021q.329-.93.654-1.861c-.153-3.018-.246-6.126-1.071-8.16zm2.542 3.896q.854-2.511 1.684-5.024c-2.818-.456-2.239 2.355-1.684 5.024zm-358.64-37.886c1.084 2.7 3.95-.523 3.566-3.145-1.251 2.009-4.685 3.161-3.566 3.145zm355.512-19.036c.706 4.3-.375 5.837 2.256 8.115-.188-1.925.776-2.274.668-4.09-2.406 1.335-2.013-6.589-2.924-4.025zm3.152-40.862c3.012 4.813.744 13.212 3.073 17.278-.653-5.809 1.003-14.34-3.073-17.278zm8.689 3.901c-.073 1.236-.193 2.415-1.426 2.062q0-1.027-.015-2.037c-3-.216.665 4.348 2.2 4.024.928-1.368.912-3.809-.759-4.049zm-368.701-1.087c.964-2.431 2.467-8.822 4.275-4.174-.234-4.05 1.737-7.22-.821-9.162-.805 2.025-1.5 6.855-3.556 4.158 1.872 2.332-1.623 10.686.102 9.178zm-69.202-6.639c-.41-1.477.782-5.294-.773-5.083-.993-.851-.888-.851-4.362-3.979.725 4.464 1.596 8.709 5.135 9.062zm448.846-44.529c.117 3.1-2.912 7.021.088 8.158-.976-3.453 1.535-7.154-.088-8.158zM376.218 350.85c-1.357 3.535-1.046-3.875-2.207-4.033-.823 2.316-.4 8.954.809 8.141-.152-4.273.352-2.464 1.427-1.054-.299-1.75 1.046-2.638-.029-3.054zm4.406-123.504c-.7 1.369-.641 3.809-2.113 4.133-.333-4.847 3.727-12.091-.114-10.2 1.685 1.734-.8 6.2-2.074 7.186 1.623 1.142 3.909 10.971 3.683 8.075-1.421-4.688 2.338-7.41.618-9.194zm4.84-18.464c2.429 1 1.084-3.195 1.386-5.12-3.331-.44-6.293-4.689-8.655-.838 1.418-.332 1.441 1.353 2.186 2 1.746-3.024 5.819-2.033 5.083 3.958zm-1.699-23.418c-.674-2.141-2.862 2-5.03 1.137-.012-1.361-.024-2.722-.045-4.082 1.2-.021 2.406-.059 3.6-.084-2.273-3.344-1.564-9.31-4.4-7.036a4.031 4.031 0 0 0-.774-5.079c-.905 7.75 1.752 10 .182 16.314.876.092 1.7.266 1.462 2.009 1.917-2.871 4.448.331 5.005-3.179zm-37.879-39.957c.408 7.353 6-2.688 3.543-5.178-1.061 1.893.102 6.822-3.543 5.178zm41.977-46.819a8.241 8.241 0 0 1-1.406 3.1c1.33 11.299 1.705-.842 1.406-3.1zm-6.629-13.103c1 1.278 1.037 4.788.073 6.117 1.81 1.261 2.241-.565 2.879.954-2.1.966-2.616 5.609-2.065 8.207 1.556-.8 2.569-4.523 4.3-2.142.451-5.485-.662-8.7-1.582-12.2-2.41 3.106-2.706-2.861-3.605-.936zm9.383 1.835a7.181 7.181 0 0 1-.544-.73 1.5 1.5 0 0 0 .544.73zm-7.684-43.684c1.245-.09 1.854.739 2.185 1.984-1.772 2.5-.653 2.722-.644 7.162-2.121-1.129-2.678-.548-3.571 2.107.84.149 2.035-.215 2.17.971.092 10.006 3.675 25.74 7 30.73-.755-1.85.129-6.082-.276-8.433-1.8.208-2.27-1.518-2.912-3 1.488-.3.144-4.489 1.377-5.128-.677-1.079-2.654-.266-2.186-3.012.044-26.451.395-42.724.508-62.222a207.72 207.72 0 0 1-1.434-4.9q-1.32 4.734-2.862 9.457a230.41 230.41 0 0 1 .645 34.284zm38.426 878.241c-.174 3.784.5 8.721-2.79 8.215-.1 2.56 1.635 2.448 2.2 4.033-.524-2.721 1.468-2.009 2.121-3.1-.668-2.817 1.38-9.604-1.531-9.148z\",\n fill: \"#fcae1d\"\n })), _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M395.993 578.857c3.029.8 1.532-4.6 2.824-6.179-2.2.784-2.141-1.713-4.338-.925-1.067 5.045 2.015 10.484 1.626 17.3.126-3.604 2.495-8.795-.112-10.196zm4.442 11.111c.588-3.876-2.444-4.722-3.63-2.971.164 4.639.644 3.983.09 8.157 3.982-.647-.795-8.174 3.54-5.186zm-3.835-87.615c1.453-6.521-.369-13.783.51-19.393-1.2.033-2.4.058-3.607.084 2.127 3.983.571 5.983.126 11.219 3.257 1.651.454 5.725 2.971 8.09zm-.434-39.765c-5.649-1.328-3.079-8.519-5.165-11.1-2.918 7.667-.372 11.393 3.05 15.227-2.549 3.826-2.766 12.017.882 15.277 1.397-4.01.167-10.873 1.233-19.404zm-5.672-56.988c-.87-.2-.451-1.12-.009-2.041-1.426-.266-1.418 1.411-2.147 2.083-.182-1.552-1.187-.117-1.43 1.053a2.834 2.834 0 0 1 2.174.984c-.006-1.346 1.248-.964 1.412-2.079zm-6.294 16.459c-.1 1.207.153 2.888-.686 3.078-.14-1.523.215-3.775-.77-4.074-1.219 3.651.51 2.5.794 6.112 1.266-1.009 4.676-4.2 3.542-5.183-.435 3.066-1.549-.937-2.88.067zm44.017 402.885a8.491 8.491 0 0 0 1.526 8.124c.5-3.552 2.127-5.44-.091-8.158-.369 1.486.9 5.254-.662 5.113-.405-1.47.785-5.287-.773-5.079zm.205-46.919c-1.131 1.634.4 4.68 2.217 5.054.308-3.212-.939-4.15-2.217-5.054zm-18.153-145.437c1.653 3-.978 6.265 1.518 7.111-.553-2.314 1.204-7.99-1.518-7.111zm6.831 31.467c.138-1.236.79-.647 1.438-.029.308-3.207-.949-4.145-2.218-5.058.407 1.477-.789 5.287.78 5.087zm-8.445-46.728c-.949 1.511-1.377 8.12.818 8.141-.827-4.216.533-5.618-.818-8.141zm-2.212-268.161c1.57 7.219.428 25.916 3.967 33.567-.755-10.498.575-30.654-3.967-33.567zm-19.166 288.01c3.141-.712 3.563-5.152 5.684-7.26-4.134-.664-4.925 3.284-5.684 7.26zm19.143-158.489c-.091-3.319-.979-5.477-2.941-6.066-.976 1.4-1.3 7.153.791 7.12.111-1.187 1.13-1.129 2.15-1.054zm-5.827 125.562c-1.076 1.485-.639 5.328 1.5 5.062.079-2.531-.419-4.223-1.5-5.062zm4.646 29.467c.472-5.858 1.738-.514 2.889.955-1.386-5.8-1.251-7.759-3.718-11.128.431 3.701-2.282 8.838.829 10.173zm.009-262.094c-.044-2.706.337-6.009-1.506-6.079-.817 1.215-.773 3.613-.659 6.128zM385.959 451.6c.138 2.792.19 5.249-1.4 3.083.436 1.784-.806 6.007.788 6.111.261-2.936 3.53-8.032.612-9.194zm19.65 18.947c1.142-2.449 1.531-5.935 2.065-9.229-1.365-.2-1.576 1.179-2.871 1.079.911 4.079-1.825 7.51.806 8.15zm.735-130.559c-1.442-3.211 1.061-6.83-2.256-8.107.882 2.509-.24 7.958 2.256 8.107zm-14.127 287.895c1.6-2.241-.639-3.46-.082-7.128-3.1-1.129-2.995 8.397.082 7.128zm21.802 215.732c-1.365 1.378.876 4.507-.638 7.153 2.657 1.569 3.272-7.833.638-7.153zM396.09 455.451c-.692-1.759-.047-5.469-2.221-5.045.017 1.693.041 3.394.056 5.091.721-.008 1.444-.029 2.165-.046zm6.873-94.999c-1.9-.266-1.828 2.174-2.112 4.132l2.156-.049-.044-4.083zM384.21 554.645c-.278 1.274-.9 2.1-2.136 2.071.024 2.713.331 5.818-.639 7.162 2.426 1 1.081-3.2 1.377-5.137 1.5 1.751 1.4-.78 2.895.963.082-2.54.082-4.955-1.497-5.059zm-1.204 21.431c.586-3.187 2.062-4.431-.082-7.136-.58 3.194-2.051 4.443.082 7.136zm32.701 93.107c.562.216 1.418 0 1.45.989-1.693.323.105 3.8.768 4.066-.557-3.112 1.21-3.03.653-6.142-1.805-.082-2.278-1.891-2.871 1.087zm-22.122-310.556c-.141-1.528.22-3.777-.765-4.067.516 3.286-4.731.655-1.394 4.115a.513.513 0 0 0 .009 1.021c.105-1.203 1.127-1.136 2.15-1.069zm-2.405 42.884c-2.1-1.825-2.28-1.605-5.06-.908.135 4.229 3.595 2.482 5.06.908zm1.654 415.035c.106 2.606.467 4.847 1.51 6.083 1.092-1.577 1.213-7.021-1.51-6.083zm2.201 69.299c1.151-5.186-3.99-6.53-2.256-9.128.738-.141 1.506 4.37 2.174.972-2.121-.822.392-3.295-.059-5.1-.963.012-1.925.038-2.883.062-2.847 5.394.61 9.849 3.024 13.194zm-1.254-48.926c1.354-2.491.36-8.207.592-12.249-2.833 1.253-2.525 9.991-.592 12.249zm4.067-22.531c-.164 2.681.322 4.386 2.217 4.033.173-2.672-.313-4.381-2.217-4.033zm-.633 7.153c.07 3.7-.32 8.058 1.535 9.145.574-3.9 1.09-7.664-1.535-9.145zm173.106-105.787a7.549 7.549 0 0 0-.764-4.058c.503-11.966-2.83 4.038.764 4.058zM417.178 211.247c.671 1.776.3 5.088 1.506 6.083-.759-4.05 2.112-3.112 1.359-7.161-1.365-.2-1.576 1.186-2.865 1.078zm-18.015 590.888c.307-6.318-.3-11.314-3.029-13.207-.63 7.461-1.134 8.524-1.286 13.295.852-3.123 2.484 1.045 4.315-.088zm-6.917 91.926c-.141-1.519.217-3.764-.765-4.066-.287 1.61-2.255.921-1.391 4.116zm47.379-671.071c1.072 3.02-2.455 6.273.788 6.107.524-2.614 1.008-4.714-.788-6.107zm-45.358 592.502a18.576 18.576 0 0 1 2.754-11.286c-2.299-1.892-7.482 9.402-2.754 11.286zm-2.982-9.115c1.219-2.37 2.279-6.968-.811-8.138.504 3.826.067 9.643.811 8.138zm181.934-88.64c.111 5.02-.49 11.074 3 11.153.111-3.89.653-10.49-3-11.153zm-148.43 57.309c-4.2 2.5-.858 11.211.144 13.256-.039-4.219-1.933-9.638-.144-13.256zm-.744-68.312c-.685-4.423.557-5.651-1.518-7.1.545 2.303-1.218 7.979 1.518 7.1zm-.545 82.622c1.632 1.921-2 9.274 1.556 10.161-1.156-4.356 1.283-7.9-1.556-10.161zm5.725-69.477c-2.9 1.534-3.873-1.951-6.475.141.346 3.294-.856 8.837 1.541 9.144 2.069-2.248-1.72-6.306 1.353-7.169 1.981 12.19 1.061 22.7 2.5 30.537 2.944-11.584.846-20.169 1.081-32.653zm4.128-477.372c.474 2.432-.821 7.419.817 8.141.185-4.199 2.73-6.365-.817-8.141zM423.178 693.5c.474 2.411 1.016 4.721 2.932 5.037l-.044-4.083a3.186 3.186 0 0 1-2.888-.954z\",\n fill: \"none\"\n })), _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M427.812 262.008c-1.88.332-3.1-.307-2.911-3a3.643 3.643 0 0 0 3.609.939 21.119 21.119 0 0 1-.855-12.215c-3.047-1.507-.053 5.269-2.1 5.144-1.2-7.792.767-7.128 1.277-14.307-1.3-3.069-2.2 2.83-2.88.067 2.851-2.024.077-5.784 2.8-7.2-.475-10.763-.832-11.493-1.67-21.385 1.061-.191 2.654.307 2.865-1.079-1.629-.39.047-5.589-2.223-5.045-.378 1.826-.32 4.232-1.377 5.124.8-11.845-2.415-17.5-7.3-9.024 2.968-1.1 3.571-.913 5.059 1.937-2.1-.07-2.894 6.025-.653 6.128 1-.646.073-3.924 1.4-4.107-.7 12.614-.082 23.551-1.773 35.733 3.85 6.754-1.473 25.2 3.94 30.5 1.53-1.911 3.618-3.048 2.792-8.21zm.75 594.545c.859 3.186-1.1 2.506-1.4 4.107 1.473.265 1.444 2.73 2.918 3-.155-2.884.542-7.012-1.518-7.107zm-.862-78.507c-.542-4.585 1.453-2.759 2.151-1.071.216-1.39 1.008-1.97.682-4.1-4.345.125 0-8.133-3.712-10.116.426 5.325-.298 11.789.879 15.287zm2.84 62.142c-.9 5.037.556 8.8.87 13.236.17-3.469 2.09-11.709-.87-13.236zm-.556-50.977c-2.541 1.643-.467-3.452-2.195-3.008-.811 1.307-1.362 8.062.105 9.166.621-2.15 1.067-4.548 2.09-6.158zM429.2 849.4c1.2-1.743-.469-4.573-1.512-6.084-1.516 2.208-.201 5.556 1.512 6.084z\",\n fill: \"none\"\n })), _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.8 866.809c.84-.174 2.036.133 2.141-1.071-3.933-2.73-4.836 10.622-2.908 14.44.354-.228.705-.461 1.058-.69-.991-4.048 1.037-9.142-.291-12.679zm-5.488-40.671c.786-3 1.02-6.057-.8-7.119.448 2.099-.82 6.713.8 7.119zm-3.688-73.348c-.586-2.257-.481-5.519-2.236-6.067-.345 3.611.68 5.237 2.236 6.067zm-2.842-62.147c.759-4.821-.527-6.555 2.06-9.219-2.819 1.693-.3-4.407-2.2-4.042.418 4.54-2.508 11.967.14 13.261zm-28.491-168.664c-2.479-1.3-5 2.382-2.839 4.141a8.128 8.128 0 0 1 1.412-3.1c1.248.6 0 4.838 1.5 5.07 1.319-1.837-.621-2.576-.073-6.111zm2.189-194.837c-1.542-3.817.43-8.771-.842-11.195-.067 1.246-.2 2.415-1.42 2.067.662 4.506.39 8.78 2.262 9.128zm-1.149-105.015c-.052-2.7.6-6.407-2.221-5.054.267 2.373.79 4.386 2.221 5.054z\",\n fill: \"#7083d9\"\n })), _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M699.775 291.394a289.22 289.22 0 0 1-30.812 1.633c-86.544 0-175.033-39.974-242.937-102.35a19.386 19.386 0 0 0 .328 4.057c-1.694-.291-2.722-1.553-5.054-.914a31.232 31.232 0 0 1 1.219-6.4q-1.092-1.026-2.179-2.057a9.383 9.383 0 0 1-.558 1.355c-2.736.822-4.784-4.671-5.024 1.129-1.093-1.892-.847-5.117-.451-8.358-.369-.366-.741-.729-1.108-1.1-.028 6.75.247 13.918-2.683 16.69-2.106-6.966-1.164-13.253-.535-19.948q-7.036-7.194-13.7-14.72c-.563 14.728.476 31.775 2.805 42.053-1.752.946-.721 5.71-3.542 5.183 2.693 5.772-1.7 9.107 1.573 13.223.073-1.252.2-2.423 1.421-2.074.639 2.431.489 2.688.8 7.12-1.134.129-2.5-.083-2.142 2.091 4.685 3.187.165 11.444-.541 16.323 1.423.274 1.42-1.41 2.135-2.091.416 3.958.979 11.336-2.745 12.306-.8-2.589 3.053-3.634.668-5.116-.179 1.44-1.571 1.2-2.133 2.087 4.242 11.017 3.058 26.4 2.52 33.6-.2 2.647 2.267 3.875 2.223 5.054-.126 3.187-3.3 5.767-2.041 11.252-.235-1.016-.047 1.436.043 4.083.036 1.012 1.662 11.66-1.28 14.307-1.805.473-1.1-7.942-2.215-5.046.293 3.66 1.155 4.888.088 8.157 3.715-.871 3.059 5.278 1.518 7.1-1.111-3.22-1.293-7.784-3.7-9.1 1.215 6.3 4.479 18.066-1.967 17.381.73 0 .921 1.764.018 2.042-1.834-4.116-3.369-2.428-5.106-6.009 6.345 13.021-3.706 23.875 5.434 35.568-1.365.265-1.6-1.113-2.891-.954-.041 3.169 2.3 2.862 1.517 7.111-1.362-.2-1.579 1.183-2.871 1.087.308 2.648.434 5.585 1.518 7.1-.361-4.515 1.127-6.481 3.524-7.219-1.013 6.82 2.294 10.073-1.26 16.347.665-4.091-2.188-3.021-1.52-7.111-1.691 1.028-4.556.431-4.271 4.173 1.069.15 2.648-.423 2.888.959-3.269-.611-4.122 12.738-4.122 18.452 2.707 1.032 2.024-2.581 4.295-2.142-.806 1.22-.773 3.619-.647 6.133-1.782-2.092-1.547-1.419-4.331-.922-.6 3.286 2.385 1.345 2.2 4.034-2.736-.071-1.429 5.394-3.532 6.19 2.463 4.415.48 5.751-1.377 5.137 2.021 3.845 1.344 5.377 3.685 8.078-1.415 1.722-.92-.079-2.88.062.794 4.357.451 3.925-.642 7.154.827 1.551 2.1 2.456 2.927 4.008-1.444 1.851-.437 4.158-2.15 1.071-1.324 11.252 6.908 14.844 5.262 20.285 5.317.551 3.284 5.273 1.535 9.141 1.661 1.36 2.677-2.689 2.886-.059-1.571 2.847-1.322 5.2-.619 9.186-2.291.922-2.247-1.56-3.624-1.958 1.213 2.241-.093 5.527.785 6.1a4.767 4.767 0 0 1 2.127-3.112c.006 2.406 1.272 2.979.788 6.107l-2.165.05c4.04 8.543.566 20.663 3.873 24.389.668 3.256-1.848 2.157-2.121 4.124a2.844 2.844 0 0 0 2.151-1.062c1.676 2.489-3.727 14.6.09 8.157-.245 4.83-3.052 6.324-1.338 9.2.187-2.381 1.919-2.423 2.159-.049-1.07-1.437-2.288-.731-2.136 2.091 1.242.945 1.609 3.161 2.212 5.053-1.986-2.7-1.251 4.721-.648 6.133.144-.8 0-2.009.7-2.054.316 2.028 1.86 7.522.1 9.174-1.007-.606-.152-3.926-1.482-4.05-1.239 3.469 1.017 4.522 1.527 8.132-4.284 1.659 3.33 10.087-2.037 11.253 2.678-8.228-6.6-13.344-.926-18.34-4.066-.1-1.66-3.576-2.97-8.091-2.256 1.22-1.767-1.56-2.895-1.966-.524 4.713.83 2.888 1.482 4.041-.758.971-.181 3.759-2.126 3.1-.124-1.2.088-2.9-.762-3.046.624 4.2-.24 6.357-2.068 7.187 1.722 5.311-.27 9.095.943 20.38 1.283 1.884 2.209-1.444 2.891 1.975-3.14 13.327 3.332 25.335 1.838 35.65 2.2 2.042 4.128-1.967 4.353 2.963-.987 2.547-2.461 1.858-4.31 1.12 2.948 9.295-1.338 15.419-.442 25.5 6.164 4.09.369 18.223 5.308 24.364-1.06-4.705-1.159-10.8 1.293-13.286 2.663 3.776 3.6 15.721-1.281 14.311 2.625 5.531-2.847 10.418 1.574 12.2-4.55 1.241-4.248 12.821-2.669 19.426-.232-.978-.8 1.52-.677 4.1.677 13.489-.22 30.119 3.355 42.753-1.131.133-2.5-.082-2.145 2.092 1.843.074 3.715.107 3.639 2.979-1.565.689-2.321-2.834-2.151 1.066a3.733 3.733 0 0 1 .777 5.082c1.06 2.233 1.743-1.318 2.17.972-.073 1.9-.437 3.418-1.4 4.107-1.134-.066-.589-2.58-2.18-1.992 1.594 3.71.976 4.606 2.262 9.128 2.467.134-.1-3.435 2.833-4.132 9.32 21.742 7.061 48.23 8.7 71.191-1.834 1.154-1.225-6.289-2.194-3.012 2.036 9.809 4.286 11.917.925 19.352.044 3.747 2.576 3.859 3.677 6.05-1.769 3.643 3.361 14.148-1.242 18.372 2.654.531-.217 5.021 2.238 7.1-2.654.165-2.065 1.917-.683 3.07a2.265 2.265 0 0 0-2.151 1.685c3.574-2.087 7.138-4.2 10.682-6.387-.339-10.555-.855-21.539-.318-34.226 3.313-2.622-.85-14.862-.226-20.4.826-7.294-1.016-19.26-1.761-29.534-1.189-16.364 1.114-33.135-2.677-46.852 1.13-.125 2.5.086 2.144-2.092-1.084-.149-2.654.424-2.894-.954.459-4.7 1.834-8.191 4.2-10.282a16.3 16.3 0 0 1-3.642-4.007c-.179 1.8 2.089 5.045.07 6.115-.331-1.934-2.082-1.792-1.5-5.062 4.55-4.265 1.567-1.859 2.8-8.224-.029 1.752.574 2.61 1.468 3.037-2.314-4.613 1.518-11.849-.9-16.3-1.119 5.336-.375 6.987-2.042 11.253-.556-5.291-.09-6.532-1.564-11.179 1.33-1 2.444 3 2.886-.058-3.082-4.746 4.746-12.808 1.224-19.41.642 2.058-1.072 5.643-1.4 3.087-.137-2.53 1.1-3.178 1.38-5.128-4.969-3.809-.554-11.335-3.05-16.248.961-2.564 2.007-2.464 2.833-3.129-2.414-1.66-3.246-11.086-3.02-13.185 2.261-.548.592 4.663 2.224 5.044-.595-10.227-3.106-13.6-4.527-18.255-.24-2.341 2.059-1.166 2.13-3.1-3.12 1.726-3.882-5.975-4.445-11.12 2.541.294 3.713-.025 4.331.929-.821 1.1-.217 4.7.788 6.1 1.382-2.951 2.633 2.966 4.354 2.958-.381 2.124-1.105 2.183-2.151 1.07 1.752 7.511-.035 16.938 1.7 24.439-.847-.132-1.644-1.784-2.15.042 2.534-1.635.475 3.452 2.191 3.02 1.389-2.954 3.094 2.291 3.651 3.992-1.058-1.112-1.773-1.055-2.148 1.07 4.444 2.232-.407 7.68 2.271 10.154-1.032 2.385-2.309-1.946-2.145 2.087.961-.026 1.919-.051 2.88-.067.393 3.668.782 14.315.911 17.311-.325 2.58 3.539-2.922 2.9 1.974-3.275-.647 1.5 11.257-3.465 12.319 2.452 9.406-.918 13.315 2.393 21.356-1.212.448-2.332 6.041-.633 7.154-.551-1.644 1.374-4.456 1.413-2.059-3.106 15.062-.9 35.127-2.318 51.035a2.714 2.714 0 0 1 1.409-2.061l.044 4.07a2.757 2.757 0 0 1-2.165-.972c1.834 3.511-2.6 8.864-1.324 11.245.806-2.93.853 1.634.029 2.041 1.992.648 1.641.15 2.912 3 .106-1.527-.3-3.759.674-4.1 3.056 8.663-.111 21.427-.389 30.614 1.361 3.169 2.405-3.494 3.609-.084-2.6 3.22 3.551 7.809.1 9.17-1.835-.817-1.3-10.465-4.383-6.017 1.924 4.822 6.586 8.091 3.747 14.2 6.081-.883 4.678 9.179 6.3 14.806q.531-.349 1.06-.7c-.466-8.144-.925-15.526.489-21.423-.6 3.294 2.391 1.352 2.2 4.033-.626.938-2.007 5.8-.656 6.132 1.792.639 3.353 3.531 4.138 7.089 46.881-32.1 90.553-72.606 128.654-119.442.241-4.806 1.34-9.338 4.1-13.026a33.259 33.259 0 0 0 .535 7.26l.813-1.023c.273-4.308 1.012-10.4-2.124-11.32-.384-3.195.849-4.187 2.1-5.149 1.685.316 3.384.581 2.933 4.016 1.723.365-.457-4.63 2.115-3.1a60.18 60.18 0 0 1-.916 10.315l1.6-2.077c.06-1.28.09-2.664.085-4.185.281 1.044.541 2.055.79 3.051q12.5-16.322 24.083-33.544c31.014-46.189 55.249-94.664 72.031-144.079 16.69-49.141 25.152-96.74 25.152-141.476zM383.006 576.076c-2.133-2.693-.662-3.942-.082-7.136 2.144 2.705.668 3.949.082 7.136zm2.7-16.372c-1.491-1.743-1.4.788-2.895-.963-.3 1.933 1.049 6.133-1.377 5.137.97-1.344.663-4.449.639-7.162 1.239.029 1.858-.8 2.136-2.071 1.58.104 1.58 2.519 1.498 5.055zm6.428 61.051c-.557 3.668 1.684 4.887.082 7.128-3.076 1.269-3.181-8.257-.081-7.128zm-4.858 16.421c.759-3.974 1.55-7.924 5.684-7.26-2.12 2.108-2.542 6.548-5.683 7.26zm26.742 206.439c2.634-.68 2.019 8.722-.638 7.153 1.52-2.646-.726-5.775.639-7.153zm-7.675-503.627c-2.5-.149-1.374-5.6-2.256-8.107 3.318 1.277.813 4.896 2.257 8.107zM404.8 462.4c1.3.1 1.506-1.278 2.871-1.079-.534 3.294-.923 6.78-2.065 9.229-2.628-.643.108-4.074-.806-8.15zm-1.061-96.854c1.843.07 1.462 3.373 1.506 6.079l-2.165.049c-.111-2.518-.155-4.916.662-6.131zm-.779-5.091.044 4.083-2.156.049c.287-1.961.219-4.401 2.115-4.135zm-6.873 95c-.721.017-1.444.038-2.165.046-.015-1.7-.039-3.4-.056-5.091 2.177-.428 1.534 3.282 2.224 5.041zm-4.664-96.776c-3.337-3.46 1.91-.829 1.394-4.115.985.29.624 2.539.765 4.067-1.023-.067-2.045-.134-2.15 1.069a.513.513 0 0 1-.006-1.025zM386.12 400.6c2.78-.7 2.956-.917 5.06.908-1.465 1.577-4.925 3.324-5.06-.908zm-.776 60.188c-1.594-.1-.352-4.327-.788-6.111 1.593 2.166 1.541-.291 1.4-3.083 2.921 1.168-.348 6.264-.612 9.197zm-1.805-33.616c-.284-3.614-2.013-2.461-.794-6.112.985.3.63 2.551.77 4.074.839-.19.584-1.871.686-3.078 1.33-1 2.444 3 2.88-.067 1.134.982-2.276 4.177-3.542 5.186zm5.543-19.493a2.834 2.834 0 0 0-2.174-.984c.243-1.17 1.248-2.6 1.43-1.053.729-.672.721-2.349 2.147-2.083-.442.921-.861 1.842.009 2.041-.164 1.115-1.418.733-1.412 2.082zm4.969 59.03c-3.422-3.834-5.968-7.56-3.05-15.227 2.086 2.584-.484 9.775 5.165 11.1-1.069 8.531.164 15.394-1.233 19.4-3.648-3.253-3.433-11.444-.882-15.27zm-.422 27.551c.445-5.236 2-7.236-.126-11.219 1.2-.026 2.405-.051 3.607-.084-.879 5.61.943 12.872-.51 19.393-2.517-2.362.286-6.436-2.971-8.087zm.85 77.49c2.2-.788 2.138 1.709 4.338.925-1.292 1.58.2 6.983-2.824 6.179 2.6 1.4.238 6.592.112 10.2.389-6.817-2.693-12.254-1.626-17.301zm2.416 23.4c.554-4.174.074-3.518-.09-8.157 1.186-1.751 4.218-.9 3.63 2.971-4.335-2.984.442 4.543-3.535 5.19zm5.195 14.157c-2.136.266-2.573-3.577-1.5-5.062 1.084.843 1.582 2.535 1.5 5.066zm1.389-136.69c1.962.589 2.85 2.747 2.941 6.066-1.023-.075-2.039-.133-2.15 1.054-2.092.037-1.77-5.714-.791-7.116zm1.76 161.1c-3.111-1.335-.4-6.472-.829-10.173 2.467 3.369 2.332 5.327 3.718 11.128-1.151-1.472-2.417-6.814-2.889-.956zm3.416-16.389c1.351 2.523-.009 3.925.818 8.141-2.195-.022-1.767-6.631-.818-8.142zm-2.212-268.161c4.542 2.913 3.212 23.069 3.967 33.567-3.539-7.652-2.397-26.349-3.967-33.568zm5.344 290.533c-2.5-.846.135-4.107-1.518-7.111 2.722-.88.965 4.796 1.518 7.111zm17.2 190.324c1.565.141.293-3.627.662-5.113 2.218 2.718.586 4.606.091 8.158a8.491 8.491 0 0 1-1.526-8.124c1.561-.209.371 3.608.776 5.078zm1.649-46.944c-1.813-.374-3.348-3.42-2.217-5.054 1.281.903 2.528 1.841 2.22 5.053zm-14.32-124.112c1.269.913 2.526 1.851 2.218 5.058-.648-.618-1.3-1.207-1.438.029-1.565.2-.369-3.61-.78-5.087zm1.609 15.27c-.663-.266-2.461-3.743-.768-4.066-.032-.989-.888-.773-1.45-.989.592-2.978 1.066-1.169 2.871-1.087.557 3.112-1.21 3.03-.653 6.142zm.759-456.908c-1.21-1-.835-4.307-1.506-6.083 1.289.108 1.5-1.278 2.865-1.078.757 4.049-2.118 3.111-1.359 7.161zm2.4 22.389c1.691-12.182 1.075-23.119 1.773-35.733-1.325.183-.4 3.461-1.4 4.107-2.241-.1-1.45-6.2.653-6.128-1.488-2.85-2.091-3.041-5.059-1.937 4.886-8.473 8.1-2.821 7.3 9.024 1.057-.892 1-3.3 1.377-5.124 2.27-.544.594 4.655 2.223 5.045-.211 1.386-1.8.888-2.865 1.079.838 9.892 1.195 10.622 1.67 21.385-2.727 1.419.047 5.179-2.8 7.2.682 2.763 1.579-3.136 2.88-.067-.51 7.179-2.481 6.515-1.277 14.307 2.045.125-.949-6.651 2.1-5.144a21.119 21.119 0 0 0 .855 12.215 3.643 3.643 0 0 1-3.609-.939c-.188 2.689 1.031 3.328 2.911 3 .826 5.162-1.262 6.3-2.789 8.216-5.417-5.304-.094-23.752-3.944-30.506zm5.027 458.816c-1.916-.316-2.458-2.626-2.932-5.037a3.186 3.186 0 0 0 2.888.954l.043 4.083zm-3.583 1.1c2.075 1.452.833 2.68 1.518 7.1-2.737.878-.974-4.798-1.519-7.104zm2.262 75.415c-1.79 3.618.105 9.037.144 13.256-1.003-2.049-4.35-10.762-.145-13.26zm-1.286 14.31c2.836 2.261.4 5.8 1.556 10.161-3.56-.891.075-8.244-1.56-10.165zm2.14-67.36c-3.073.863.716 4.921-1.353 7.169-2.4-.307-1.195-5.85-1.541-9.144 2.6-2.092 3.571 1.393 6.475-.141-.235 12.484 1.863 21.069-1.085 32.653-1.435-7.837-.515-18.352-2.496-30.537zm1.175 40.769c3.712 1.983-.633 10.241 3.712 10.116.326 2.125-.466 2.705-.682 4.1-.7-1.688-2.693-3.514-2.151 1.071-1.175-3.508-.451-9.972-.879-15.292zm.97 23.439c1.728-.444-.346 4.651 2.195 3.008-1.023 1.61-1.469 4.008-2.09 6.158-1.467-1.109-.916-7.864-.105-9.174zm-.1 57.113c1.043 1.511 2.713 4.341 1.512 6.084-1.714-.533-3.029-3.881-1.509-6.089zm-.527 17.344c.293-1.6 2.256-.921 1.4-4.107 2.06.1 1.363 4.223 1.521 7.1-1.474-.268-1.445-2.733-2.918-2.998zm4.245-7.236c-.314-4.44-1.773-8.2-.87-13.236 2.963 1.522 1.043 9.762.873 13.231zm2.76-602.776c-1.638-.722-.343-5.709-.817-8.141 3.55 1.771 1.005 3.937.82 8.136zm6.243-21.551c-3.243.166.284-3.087-.788-6.107 1.799 1.388 1.315 3.488.791 6.105zM569.557 711.7a7.549 7.549 0 0 1 .764 4.058c-3.594-.024-.261-16.028-.764-4.058zm6.659 17.194c-3.487-.079-2.886-6.133-3-11.153 3.656.659 3.114 7.259 3 11.149z\",\n fill: \"#7083d9\"\n })), _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M432.724 875.127c.956-.639 1.91-1.287 2.863-1.933a4.663 4.663 0 0 1-.4-3.53c-2.187-.053-1.518 3.809-2.463 5.463zm-38.266 23.323c.268-.148.536-.3.8-.449a2.387 2.387 0 0 0-.833-1.94 4.084 4.084 0 0 1 .033 2.389z\",\n fill: \"#7083d9\"\n })), _path115 || (_path115 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M391.926 899.843a2.147 2.147 0 0 1-.34-.67c2.435-2.4.745-4.274 2.066-8.207.721 0 .85-.839 1.436-1.042.1 4.751 3.964 3.946.729 1a538.303 538.303 0 0 1 1.963-17.385 8.1 8.1 0 0 1-1.4 3.1c-.293-6.178 2.6-5.137-.791-6.1-.208-4.3 3.187-3.659 4.251-6.216-2.6 1.046-.657-4.572-2.927-4.016-.293 1.933 1.054 6.124-1.377 5.129.4-6.668.393-7.468-.87-13.236 1.365.2 1.579-1.187 2.865-1.079-.97 3.078-.964 7.418 1.532 8.124.882-5.768-.729-8.655-3.014-12.17 2.361-2.6.6-6.344-.783-6.111 1.119-2.971 2.678-1.287 4.315-.092-.75-5.924-.849-7.925 1.31-12.273.2 1.436 1.591 1.141 2.18 2-1.837-4.054-.975-4.638.633-8.174-2.438-3.518-4.573-16.7-1.694-23.418-2.918-3.962-2.068-7.809-3.076-17.268-3.187-1.37.053 6.1-2.1 6.165-2.367-1.237-4.541-8.273-1.556-11.186 1.717-.436-.351 4.647 2.195 3.012-2.277-11.614-6.953 2.15-7.849 7.311-.029-2.025-1.978-1.253-1.474-4.046 1.242-4.418 1.324-10.02-1.585-13.231.375-2.125 1.1-2.174 2.148-1.054-2.42-11.9-.712-20.837-4.676-31.517 2.73 2.564 1.646-10.1-.788-7.12 1.969-13.892.87-35.459-4.128-47.84 1.105 5-1.421 14.156 1.64 18.323-3.181-2.274-.445 4.5.78 5.078l-2.16.05c.944 43.848 2.84 92.369 2.145 130.492 2.572 4.149-.841 18.131 4.564 22.33-1.5 5.66-2.1 7.61-.577 13.27-4.06-2.232-.316 6.256-3.541 5.177 1.584 4.681-1.793 10.166.855 12.216.685-6.3-1.415-10.34 2.03-12.274-.777 5.971 1.225 12.336-1.983 16.357a94.939 94.939 0 0 1 1.99 10.077c.094.049.187.1.28.15a507.701 507.701 0 0 0 6.782-3.636zm2.968-27.254c.451 1.8-2.062 4.278.059 5.1-.668 3.4-1.436-1.113-2.174-.972-1.734 2.6 3.407 3.942 2.256 9.128-2.414-3.348-5.871-7.8-3.024-13.194.958-.024 1.92-.051 2.883-.062zm-1.113-35.67c-1.933-2.258-2.241-11 .592-12.249-.232 4.042.762 9.758-.592 12.249zm.563-14.29c-1.043-1.236-1.4-3.477-1.51-6.083 2.723-.938 2.602 4.506 1.51 6.083zm4.406 8.057c-1.855-1.087-1.465-5.443-1.535-9.145 2.625 1.481 2.109 5.245 1.535 9.145zm1.315-12.265c-1.895.353-2.381-1.352-2.217-4.033 1.904-.348 2.39 1.361 2.217 4.033zm-3.931-29.493c2.727 1.893 3.336 6.889 3.029 13.207-1.831 1.133-3.466-3.032-4.315.088.152-4.771.652-5.834 1.286-13.295zm.887 15.278a18.576 18.576 0 0 0-2.754 11.286c-4.728-1.884.455-13.178 2.754-11.286zm-5.736 2.171c-.744 1.5-.307-4.312-.811-8.138 3.09 1.17 2.026 5.768.811 8.138zm.2 83.618c.982.3.624 2.547.765 4.066l-2.156.05c-.868-3.195 1.1-2.506 1.387-4.111zm-8.825-345.519c1.084 2.7 3.95-.523 3.566-3.145-1.251 2.009-4.685 3.161-3.566 3.145zm-1.348-57.084c.964-2.431 2.467-8.822 4.275-4.174-.234-4.05 1.737-7.22-.821-9.162-.805 2.025-1.5 6.855-3.556 4.158 1.872 2.332-1.623 10.686.102 9.178zm-69.202-6.639c-.41-1.477.782-5.294-.773-5.083-.993-.851-.888-.851-4.362-3.979.725 4.464 1.596 8.709 5.135 9.062zm64.108-129.903c-1.357 3.535-1.046-3.875-2.207-4.033-.823 2.316-.4 8.954.809 8.141-.152-4.273.352-2.464 1.427-1.054-.299-1.75 1.046-2.638-.029-3.054zm4.406-123.504c-.7 1.369-.641 3.809-2.113 4.133-.333-4.847 3.727-12.091-.114-10.2 1.685 1.734-.8 6.2-2.074 7.186 1.623 1.142 3.909 10.971 3.683 8.075-1.421-4.688 2.338-7.41.618-9.194zm4.84-18.464c2.429 1 1.084-3.195 1.386-5.12-3.331-.44-6.293-4.689-8.655-.838 1.418-.332 1.441 1.353 2.186 2 1.746-3.024 5.819-2.033 5.083 3.958zm-1.699-23.418c-.674-2.141-2.862 2-5.03 1.137-.012-1.361-.024-2.722-.045-4.082 1.2-.021 2.406-.059 3.6-.084-2.273-3.344-1.564-9.31-4.4-7.036a4.031 4.031 0 0 0-.774-5.079c-.905 7.75 1.752 10 .182 16.314.876.092 1.7.266 1.462 2.009 1.917-2.871 4.448.331 5.005-3.179z\",\n fill: \"#7083d9\"\n })), _path116 || (_path116 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M385.155 908.476a5 5 0 0 1-2.328-9.428c41.032-21.537 80.423-49.543 117.08-83.238a644.01 644.01 0 0 0 98.534-115.139c30.769-45.824 54.807-93.9 71.447-142.9 16.514-48.621 24.887-95.679 24.887-139.867v-121a297.197 297.197 0 0 1-25.812 1.123c-64.02 0-132.756-22.149-193.548-62.367a5 5 0 1 1 5.518-8.34c59.173 39.147 125.95 60.707 188.03 60.707a285.353 285.353 0 0 0 30.279-1.6 5 5 0 0 1 5.533 4.972v126.506c0 45.284-8.552 93.424-25.418 143.083-16.923 49.831-41.354 98.7-72.614 145.258a654.036 654.036 0 0 1-100.068 116.927c-37.3 34.282-77.4 62.789-119.2 84.73a4.977 4.977 0 0 1-2.32.573zM167.713 708.459a4.994 4.994 0 0 1-4.155-2.213c-31.26-46.555-55.691-95.427-72.614-145.258-16.866-49.659-25.418-97.8-25.418-143.083V291.394a5 5 0 0 1 5.533-4.972 284.742 284.742 0 0 0 30.263 1.6c53.345 0 109.352-15.515 161.985-44.857a5 5 0 1 1 4.869 8.734c-54.118 30.17-111.808 46.119-166.832 46.123-8.652 0-17.308-.377-25.818-1.123v121c0 44.188 8.373 91.246 24.886 139.867 16.64 49 40.679 97.075 71.448 142.9a5 5 0 0 1-4.147 7.788z\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 386.75,\n cy: 445.734,\n r: 100.771\n })), _path117 || (_path117 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M426.964 519.744h-80.429l12.235 156.383h55.96z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(3209.0 974.0) rotate(0.0 92.0 92.0) scale(1.0227165352142424 1.0227165352142424)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 179.913,\n height: 179.913,\n viewBox: \"0 0 179.913 179.913\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 92.457,\n cy: 92.457,\n fill: \"#f36a8d\",\n r: 87.457\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 92.457,\n cy: 149.109,\n fill: \"#fff\",\n r: 11.262\n })), _path118 || (_path118 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.568 41.654a17.112 17.112 0 1 0-34.021 2.5l5.648 69.617a11.262 11.262 0 0 0 22.523 0l5.647-69.617a17.159 17.159 0 0 0 .203-2.5z\",\n fill: \"#fff\"\n })), _path119 || (_path119 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.279 138.624a5 5 0 0 1-4.414-2.644A92.487 92.487 0 0 1 92.456 0a5 5 0 0 1 0 10 82.487 82.487 0 0 0-72.772 121.266 5 5 0 0 1-4.405 7.358z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(263.0 2836.0) rotate(0.0 922.0 3.0) scale(0.5971502590673575 0.6)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 3088,\n height: 10,\n viewBox: \"0 0 3088 10\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path120 || (_path120 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3083 10H5A5 5 0 0 1 5 0h3078a5 5 0 0 1 0 10Z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForgotPassImg);\nexport default __webpack_public_path__ + \"static/media/forgot-pass-img.fbbdd34416d9f973cc0447c10d401f97.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _g, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _g2, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _ellipse, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _circle, _circle2, _path48, _circle3, _path49, _path50, _path51, _path52, _circle4, _circle5, _circle6, _circle7, _ellipse2, _path53, _path54, _clipPath, _clipPath2, _path55, _path56, _path57, _path58, _path59, _path60, _circle8, _path61, _circle9, _path62, _path63, _g3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMfaImg(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 3000 2678\",\n width: 3000,\n height: 2678,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(130.71428571428572 612.8571428571429) rotate(0.0 391.6071428571429 168.74999999999994) scale(1.0728595400353218 1.0742865146007472)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 730.025,\n height: 314.162,\n viewBox: \"0 0 730.025 314.162\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M725.025 5H5v304.162h642.383V81.041z\",\n fill: \"#fff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M647.383 314.162H5a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h720.025a4.998 4.998 0 0 1 3.498 8.572l-76.141 74.569v226.021a4.998 4.998 0 0 1-4.999 5zM10 304.162h632.383V81.04a5 5 0 0 1 1.501-3.572L712.774 10H10z\",\n fill: \"#fcae1d\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#576cc0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M375.423 71.404H53.826a5 5 0 1 1 0-10h321.597a5 5 0 1 1 0 10zm-55.459 62.393H53.826a5 5 0 1 1 0-10h266.138a5 5 0 1 1 0 10zm-122.01 62.393H53.826a5 5 0 1 1 0-10h144.127a5 5 0 0 1 .001 10zm66.551 62.392H53.826a5 5 0 1 1 0-10h210.679a5 5 0 1 1 0 10zm310.979-15.094a5 5 0 0 1-5-5V112.99h-61.296c-30.146 0-54.672 24.525-54.672 54.672v70.826a5 5 0 1 1-10 0v-70.826c0-35.66 29.012-64.672 64.672-64.672h66.296a5 5 0 0 1 5 5v130.498a5 5 0 0 1-5 5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M542.503 243.483a5 5 0 0 1-5-5v-65.571c0-6.687-2.601-12.965-7.325-17.678-4.711-4.732-10.983-7.332-17.673-7.332-13.791 0-25.01 11.22-25.01 25.01v65.571a5 5 0 1 1-10 0v-65.571c0-19.305 15.706-35.01 35.01-35.01 9.37 0 18.159 3.646 24.749 10.266 6.605 6.59 10.25 15.382 10.25 24.744v65.571a5.001 5.001 0 0 1-5.001 5zm-92.988-90.848c-22.282 0-40.41-18.128-40.41-40.41 0-22.283 18.128-40.411 40.41-40.411a5 5 0 1 1 0 10c-16.768 0-30.41 13.643-30.41 30.411s13.642 30.41 30.41 30.41a5 5 0 1 1 0 10z\"\n }))), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m603.421 77.792-22.865 15.05c-5.58-2.26-11.874-3.539-18.542-3.539s-12.962 1.279-18.542 3.539l-22.865-15.05v44.101l.026-.019c-.009.282-.026.561-.026.845 0 18.455 18.539 33.415 41.407 33.415s41.407-14.961 41.407-33.415c0-.283-.018-.563-.026-.845l.026.019z\",\n fill: \"#fff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M562.015 161.134c-25.589 0-46.407-17.233-46.407-38.416 0-.171.004-.342.01-.512a5.423 5.423 0 0 1-.01-.313V77.792a4.998 4.998 0 0 1 7.749-4.176l20.742 13.652c5.674-1.969 11.688-2.965 17.917-2.965 6.228 0 12.242.996 17.916 2.965l20.742-13.652a5 5 0 0 1 7.749 4.176v44.101c0 .105-.003.211-.01.316.006.169.01.338.01.509-.002 21.182-20.82 38.416-46.408 38.416zm-36.408-39.77c.022.219.031.44.024.664l-.013.335c-.005.118-.011.235-.011.354 0 15.669 16.332 28.416 36.407 28.416s36.407-12.747 36.407-28.416c0-.113-.006-.227-.011-.339l-.014-.358a5.183 5.183 0 0 1 .024-.661V87.068l-15.116 9.95a5.005 5.005 0 0 1-4.626.458c-5.199-2.106-10.806-3.174-16.665-3.174s-11.466 1.067-16.665 3.174a5.005 5.005 0 0 1-4.626-.458l-15.116-9.95v34.296z\",\n fill: \"#576cc0\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(437.1428571428571 167.14285714285714) rotate(0.0 1210.1785714285716 1223.5714285714284) scale(1.0700984092624763 1.0696489453373794)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 2261.808,\n height: 2287.8,\n viewBox: \"0 0 2261.808 2287.8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1229.385 546.517-84.243 64.576-87.27-88.801z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1751.2 2175.529h-630.071l153.977-196.525 179.799-9.639 174.741-9.361 16.571-.887c3.982-.222 7.964-.344 11.924-.344 61.061 0 119.315 26.731 159.19 73.494 48.081 56.401 7.996 143.262-66.131 143.262z\",\n fill: \"#fdc93a\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1751.202 2175.53h-42.338c-57.533 0-177.791-210.745-79.229-215.47l.011-.056 16.571-.887c3.982-.222 7.964-.344 11.924-.344 61.061 0 119.315 26.731 159.19 73.495 48.084 56.402 7.998 143.262-66.129 143.262z\",\n fill: \"#f36a8d\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1454.904 1969.365-191.933 206.164h-141.842l153.976-196.525z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1102.605 2175.529H472.534c-74.126 0-114.212-86.849-66.118-143.262 39.864-46.774 98.14-73.483 159.201-73.483 3.96 0 7.931.111 11.902.333l4.37.233 366.751 19.655z\",\n fill: \"#fdc93a\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M503.791 2175.529h-31.257c-74.126 0-114.212-86.849-66.118-143.262 39.864-46.774 98.14-73.483 159.201-73.483 3.96 0 7.931.111 11.902.333l4.37.233 1.131.721c98.551 4.713-21.707 215.458-79.229 215.458z\",\n fill: \"#f36a8d\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2090.676 1816.298c-17.27 4.755-653.161 179.856-651.312 179.344l-125.515 34.223-59.597 114.031-85.562 143.904-1028.046-443.74C53.94 1806.625 0 1721.596 0 1630.288c0-16.638 1.797-33.486 5.502-50.29 22.405-101.523 118.86-168.951 221.914-155.108 108.514 14.566 108.977 14.542 109.088 14.652 260.413 34.958 818.015 109.84 827.018 111.052 893.513-190.347 832.508-177.658 845.386-179.688 113.746-16.826 222.569 57.167 247.481 171.047 26.453 120.956-46.343 241.479-165.713 274.345z\",\n fill: \"#7584d7\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M412.705 1460.172c.089.1.188.2.277.288-.033-.121-.133-.221-.277-.288zm49.125 17.326c.344.155.688.299 1.031.444-.265-.189-.676-.311-1.031-.444zm151.182 170.869c.2.122.41.255.599.388a2.664 2.664 0 0 0-.599-.388zm244.397 184.912c.177-.133.355-.222.532-.288-.221-.067-.41-.056-.532.288zm.599-.31c-.022.011-.044.011-.066.022.055.022.111.056.166.078zm76.956 58.687c-.033.211.033.377.244.399a1.992 1.992 0 0 0-.244-.399zm146.833-186.809c.067-.044.144-.155.244-.333-.1.1-.189.211-.244.333zm103.309 198.71c-5.657-1.22-9.328 3.649-15.462 1.741 2.784-8.718-9.938-17.303-12.6-21.551.377.577.41 1.198-.177 1.897-2.241-1.209-2.573-2.662-3.405-4.059-1.042 1.919-2.584-.887-3.76-.244.31.832.798 1.642-.1 2.629-6.223-5.302-12.013-5.612-18.623-9.75-.444.455-.854 1.254-1.386.954-8.43-7.043-15.85-9.362-24.535-14.597-.433.455-.832 1.265-1.365.965-1.12-2.041-3.372-3.594-4.359-4.503.255.322.211.71-.222 1.154-5.934-5.38-16.139-9.25-12.811-16.56.255.921.688 1.209 1.575.477-.732-1.531-1.863-4.481.71-5.402-2.518-1.043-2.096-4.614-.022-5.28.288-.688 0-1.264.832-2.041-1.087-1.331-.599-.998-1.997-.788.455-.577.488-1.098.521-1.597.688.433 1.409 1.12 1.874.044-3.105-1.697.832-2.351.499-4.248-1.775-.943-2.962 1.93-4.925-.288 1.664-.244 1.065-1.786 2.174-3.028.166.311.854 2.252 1.686 1.22-1.054-.832.477-2.096.288-3.083-.721-.566-1.386-.854-2.007-.787 2.673-.466-2.229-1.531.277-3.073 1.997 3.15 4.88 4.159 8.341 5.391-.999 3.716 4.758 6.278 3.749 9.972-.643-.155-1.287-.244-1.886-.055.677 1.009-.044 2.274.111 3.372 5.002 2.784.499 10.16 5.047 14.22 1.808-2.252 3.993-.788 5.469 1.331 1.575-2.141 2.54-.621 3.882.865 2.074-4.703 6.91-1.719 7.809-6.123.133.976 1.12 1.741 1.974.843.2-.921-2.107-1.453-.699-2.551.543-.577 1.286.377 1.974.832 3.139-4.658-1.919-8.064-1.32-12.245 8.419 2.34 6.844 11.025 13.177 13.898-.422.566-.854 1.131-1.286 1.697 3.882 5.335 9.14-1.741 12.733 2.307 4.159-.932 8.496-.599 13.022 1.198.044-.821 3.616.732 4.88-.266 6.899 5.424 6.267-7.864 9.417-9.528-.067-2.673-1.02-5.191.122-7.986 1.608 1.142 1.83.166 1.409-.943l1.697 1.298c1.941-2.729 3.527-1.642 2.839-4.537-5.158-1.941-7.576-6.666-6.555-11.669.688.477 1.154-.832 1.919.133 1.841-1.642-1.375-2.618-.2-4.159 2.484 2.839.355 6.289 2.418 9.184.577-1.464 1.453-.643 2.063-1.786-.743-.71-1.32-.233-2.041-.876 1.475-.177.144-1.941 1.098-3.183-1.897-1.342-1.054-1.886-2.451-3.86-.732.577-3.594-.499-3.328-1.863 2.562 2.207.188-1.686 2.584-.721-3.161-3.472-3.35-5.424-5.579-6.899 1.852.499 3.627.355 5.146-1.431-1.375-.599-.155-1.52-.322-2.263-4.814-5.002-3.793-11.003-9.739-16.76 3.461-1.031 6.345 3.372 11.203 5.834 1.675-.754 3.483-.643 4.936-2.939-5.158-3.328-8.152-11.07-15.329-12.19-.976-4.803-10.881-5.779-15.251-10.46-1.719-1.841-6.622-5.18-9.772-3.172-6.001-4.814-13.621-8.03-21.707-13.432.277-1.508 2.684-.921.776-2.052-3.871.666-8.108-4.381-11.28-4.647 7.265 5.59 13.277 11.247 20.808 16.516-.333.688.211 1.242-.044 1.919-4.137-4.259-15.041-2.252-11.713-4.958-.854.244-1.542-2.795-3.383-3.66-3.804 3.139-4.559-3.25-7.82-4.825-.665 1.242-1.963-.854-2.551.821-.777 1.42.865 2.429-.044 3.86-4.814 1.154-6.289-2.95-10.626-5.468.266-.754-.022-1.12.91-1.32-1.264-.444-5.124-1.619-3.405-3.616 2.806.643.666.699 1.93 1.941 1.997-.976 1.653-2.529.766-3.971 1.941.044 3.427-2.307 5.524-1.375-.787-.643-1.276-1.342-1.176-2.119 1.02-.776 2.351.211 3.283-.965-1.997-.643-3.871-2.351-5.224-4.836-1.575 2.351-3.849-.355-4.503-1.087 1.409-.865 2.84-.222 3.749 1.231.522-2.562 2.197.599 2.851-1.298-1.342-1.864-9.983.299-9.594-5.169 3.549 3.427 5.989 1.475 8.995 2.207 2.44-2.196 2.429-3.793 1.575-5.235-.277.41-.566.821-.843 1.242-1.065-.444-.987-1.109-1.509-1.653.543-.211 1.087-.421.599-.887.865-1.031.388 1.021 1.697 1.198-1.087-1.741-3.361-3.272-4.115-5.391-4.281-2.008-8.374-8.43-12.368-8.94 1.054 1.475 4.67 2.773 3.494 5.546-2.418 1.564-1.93-2.895-3.749-1.231 1.597 1.919 3.128 1.464 2.718 3.749-.599-.388-.921.499-1.486.277-1.342-1.597-2.474-3.949-1.786-5.191-.51.388-.443-2.141-1.409-.799.422.832-.3 1.863-.577 2.828 2.296 1.375 3.295 2.995 2.585 4.936-4.847.111-5.834-4.215-10.327-3.084.266-1.231-2.03-3.982-3.46-3.605.843.488.765 1.142.022 1.941-5.302-6.278-9.328-8.43-14.908-12.855 2.507-.244 2.995 1.031 5.435 1.608-.455-1.331-1.741-2.496-1.298-4.004 2.141.055 3.915.1 4.78-1.364 2.74 1.298 5.413.732 7.432 3.538.299-2.573-2.518-2.906-4.282-3.394.288-.444-.022-.776.122-1.187 3.771-.987 4.06-3.56 5.69-7.742 11.17 3.871 14.963 14.253 26.143 18.013 3.05 2.684 4.891 7.465 10.316 10.127-.91.943.177 1.52-1.043 2.507 4.747 1.597 7.454 5.579 9.129 8.896 2.496-2.706 3.117 3.616 5.679 3.317-.266.743.011 1.12-.921 1.309 5.346-.355 3.738 6.799 8.929 8.197-1.697-1.653 3.305-1.22-.266-3.438-1.309.566 0 2.451-1.22 1.753 1.974-2.562-2.108-4.614-1.875-7.809-4.204.688-5.069-3.427-8.518-5.956.244-1.098 1.309-4.326-.732-3.76 1.975 1.065-1.408 1.309-1.952 1.875-2.596-1.764-3.982-4.792-6.001-6.711 2.218-1.486 1.664-.865 3.317.954 1.087-1.675.355-1.597 1.808-2.64-1.708-1.963-2.751-.688-4.082-.821 2.64-2.485-4.448-4.647-5.035-7.221-.555 1.009-1.32 1.142-2.252.399.599-.51 1.054-.377.887-1.32-8.762-5.768-17.669-9.683-24.879-16.039-3.649-.244-12.334-4.015-8.962-8.319-7.82-8.352-18.501-12.722-28.872-20.997-4.892.055-9.007-3.095-11.702-5.956.177.366-1.697.333-2.185-.754-1.83-4.049 3.849-2.008 6.711-.233-1.642-1.276 2.285-2.795 3.372-3.538 5.956 2.085 10.127 4.803 15.429 6.433 1.087.965.555 2.24 1.93 3.139 3.072-.499 3.538 3.505 6.189 4.625 1.52.643 3.738-.666 5.135.144 1.553.899 1.708 3.66 3.017 4.481.776.488 2.607.566 3.339.887-.1 0-.787.61-.998.61 1.386.865 2.85.067 4.082.732.211.133-.488 1.52-.41 1.641 1.187 1.841 4.769.81 6.71 1.797.499 2.152-2.884 1.032-.987 2.529 1.12-1.442 2.906.078 4.237-.433-.299 3.261 5.335 3.183 3.15 5.235 3.638 1.265 9.828 3.871 12.612 5.901-.477-.433-.033-1.031.432-1.63 3.405 2.351 4.559 3.061 7.01 3.416-.299.455-.732.277-1.054.588 5.346 3.206 9.972 5.89 12.833 8.607.843-.266 1.653-.81 2.562-.821.377 1.908 1.009 1.608 2.596 1.098.366 1.431-1.22 2.939.621 3.006-.688-2.318 2.784-.2 3.926.155-.599.876.843 1.42-.299 2.385-.566 1.109-1.642-.422-2.274.366 3.072 1.963 3.96.643 5.59-1.287-.599-1.475-2.429-2.74-3.183-4.182-2.54 1.886-6.422-2.973-6.844-4.67.61.399.943-.499 1.508-.266-.277.566-.932 1.187-.432 1.63 4.536-.943 6.311 2.584 9.705 5.413.133-2.473 1.774-.743 3.028-2.44-3.605-2.484-7.31-4.903-10.493-7.243.854 1.819-2.241.399-3.039.521-.455-1.242-2.196-4.259-3.25-4.104.488.444.033 1.031-.432 1.63-.599-3.25-3.938-4.337-6.167-6.699 2.729 2.174 2.119.2 4.57 1.142-1.609-1.952-2.363-3.283-4.892-2.651.288-.444.588-.887.887-1.331-5.302-1.431-10.093-8.862-16.582-11.125.277-.577.91-1.22.421-1.642-5.934-1.553-11.125-9.129-14.719-8.896.899-1.797 3.616-.943 4.126.754 1.697-3.294-2.54-2.651-3.904-3.15.1 0 .477-.887.566-.887-2.163-.721-4.27.743-6.378-.322-2.695-1.364-1.908-4.171-5.668-5.557-.366 2.74-3.516-2.085-5.513-1.653 4.869 3.461-6.955-1.497-5.025-4.514 1.453 1.143 2.396.144 3.649.466-2.673-1.475-1.065-1.342-.443-3.461-2.374-.843-1.853-2.24-3.195-3.261-.688 1.575 1.32 2.584 1.409 4.004-.632-.433-1.165-.422-1.697-.422-.743-1.242-.044-3.949-2.263-2.662.532-.765.777-1.464.666-2.096 8.042 3.505 11.58 4.936 17.325 11.059 5.08 1.353 7.665 7.11 13.665 7.554-.499.865 1.342 1.298.521 2.229 6.699 2.474 9.905 11.158 16.727 11.014-1.254-.954-3.416-1.753-2.651-3.061 1.364 1.087 8.895 3.915 5.302 6.123 1.276.466 2.529.776 3.982 2.03 1.963-1.386-2.34-1.675-1.42-2.873 2.218 1.198 7.465 3.472 7.432 6.91 8.463 5.59 15.318 9.206 19.034 15.517 1.852-2.063.211 1.664 1.231 2.152 1.553.255 1.054-2.44 1.963-1.863.455.322.787.022 1.22.2 2.03.854.876 2.207 1.819 3.228 1.409-.832 3.372 1.154 5.18 2.318-1.952 3.527 2.817 3.749 4.559 5.147 3.572 2.839 7.554 6.367 11.402 9.661 3.827 3.35 7.476 6.533 10.482 8.552-3.693-4.581-5.99-4.636-8.363-9.384-6.666-2.063-11.702-9.439-17.935-13.222.832-1.031.233-1.852.61-2.817.998-.277 2.207.532 3.194.288-1.109-2.174-7.853-2.895-8.984-7.598-1.265 1.265-2.163-.577-3.05-1.486-3.383 1.863-10.249-2.873-12.534-5.369.666-.754 4.237 2.773 3.372.987-1.375-.943-2.84-1.852-1.875-3.183.987.288 2.351 2.363 3.083 1.42-1.043-1.642-4.603-2.851-1.919-5.125-1.708-1.641-.51 2.096-2.573.821.122-.411-.044-.765-.632-1.065.776-2.418 2.285-1.564 3.483-2.141-1.287-2.573-2.64-.843-3.217-.244-.643-2.152 2.351-.854 1.786-2.651-1.486-2.052-3.449-3.694-4.514-4.304.466.444.399.976.344 1.497-.655-.81-2.795 0-2.329-1.553.599.3 1.275.965 1.697.488-1.786-2.939-6.722-4.703-6.888-7.82-1.519-.177-.044 1.897-1.642 1.453-3.073-1.165-1.375-3.161-3.006-4.581-.676.477-.976 2.662-1.93 1.908-1.497-1.309-4.958-2.274-3.305-4.137.71 0 3.804 1.974 2.917.666-3.183-.887-4.359-3.106-6.744-1.963-1.542-1.753 1.908-2.174.344-3.583-.832-.144-1.198 1.675-2.108 1.176-.1-1.209-3.816-6.289-2.706-3.006-1.719-1.697-2.152-1.875-4.88-3.782-.51.61-.899 1.752-1.63 1.486-6.788-6.722-14.908-9.062-21.019-14.83-.677.654-.044 1.597-.854 1.342-2.185-2.418-3.948-4.426-6.888-3.727.366-.632.843-.854 1.32-1.054-2.462-.388-4.326-2.939-5.601-4.725 2.429-.976 3.904 2.074 6.245-.51-3.449-1.786-7.232 1.054-10.515-2.141-1.298.632.166 2.451-1.12 1.819-1.098-1.464-1.642-1.497-3.139-1.32.987-1.52-.344-2.54-.965-3.727-4.825-.655-6.555-5.979-11.746-5.391-6.744-6.001-18.224-12.157-25.378-14.031.233-1.375-2.385-2.085-1.043-3.716-3.738.044-3.594-3.682-6.766-2.784.555.399 1.043.81.41 1.486-1.375-.288-1.442-.455-3.616-1.531.366-.754.998-1.553-.155-1.952-3.283 2.052-5.39-3.161-7.398-5.002-.666.821.111 1.298.155 1.952-1.985-.887-5.679-2.551-4.714-5.191 1.52.211.544 2.939 2.152 1.841-.61-.51.033-1.331-.178-1.93-6.788-.366-13.576-5.38-16.76-7.72-1.165-.865-2.673.366-3.206.011-1.453-.965-1.475-3.705-4.526-4.415.566.133-.665-.433-1.941-1.109-.488-.255-6.1-2.163-6.256-4.781.444-1.287 4.148 1.497 3.205-.022-1.841-.821-2.74-.61-3.882-2.207-.965 2.629-3.605.499-3.915-.965 1.952.133 4.148 1.309 5.668.122-3.405-1.009-10.216-2.019-7.509-5.99-.277.466-1.187.122-.987-.532 2.64-.067 2.396-1.508 4.747-1.664-8.53.566-10.027-8.818-18.923-6.089.366-.943 1.109-.732 1.497-1.597-1.486-.887-2.196.699-3.938-.943.599-.821.011-1.331.532-2.141-1.375-.521-2.817-1.231-3.938-.932 2.285.976 2.684 2.462 2.163 4.215-2.884-2.496-5.624-1.231-7.32-5.213 1.708 1.531 2.218-.599 3.927.932.122-1.364 1.442-3.061-.444-3.882-.455.654-.754 1.819-1.497 1.608 1.464-1.941-4.581-6.112-7.321-7.62-1.464 1.486.51 1.986-.51 3.339-.299-.843-1.464-1.442-2.718-2.019 1.642-.61 1.242-.632 1.997-2.562-1.364-1.253-1.508 1.187-2.729.377 1.009-1.764-2.085-2.34-1.719-3.915-1.298.189-2.03 0-2.351-.377l-16.771-2.252c.61.455 1.22 1.098 1.819 1.985-1.974.688-4.514-2.862-7.132.477-2.44-1.919-4.892-2.995-6.689-4.071h-.011l-396-53.185h-.011c-.233.122-.399.277-.466.477 3.261-.765 7.853 1.198 11.757 1.753 24.679 15.429 52.875 18.479 76.822 31.268 7.554 1.442 15.118 4.093 20.12 5.402 3.738-1.098 10.094.078 12.146 2.551 1.852-.577 7.675 1.597 10.781 2.662-.832-.111 1.065 1.309 1.076 2.063-4.193-1.542-6.788-3.45-8.685-1.176-.499-.477-.921-.976-1.098-1.586.432.044.987.377 1.187-.1-2.961-1.997-.588 3.494-3.35 2.684.676-2.773-3.638-.876-1.786-4.159 1.653.366 1.553 1.974 2.662.499-4.337-1.997-8.763-2.939-11.258-3.35.998 2.44 5.38 1.486 7.41 2.95.255.865-.233 2.03.011 2.884 2.118 2.241 5.18 1.564 5.634 4.526-7.431-1.043-4.703-3.771-9.284-5.413.277.111.399.621-.188.499-3.317-.843-4.437-2.218-7.598-2.451-.821-1.187-2.995-5.624-4.459-1.719 2.118.288 4.559 1.065 4.37 3.405 3.871 2.629 7.809-.244 9.761 2.74-2.196-.666-4.049-.555-5.413.71 1.997 1.165 2.396-1.386 4.526.078-.399.666-1.143.51-1.564 1.098 2.662-.011 7.243.843 7.188 3.438-4.459-.754-8.219-1.985-11.613-2.329.311-.688.632-1.952-.1-1.198-.133.344-.266.666-.388.998 3.56 3.904 7.143.555 8.751 5.202-2.085-1.187-4.725-.322-5.89-2.34-1.919 2.351-6.932.887-9.328-.854 5.38 6.245 13.044 2.374 19.355 4.27-.288 1.952-4.148.388-2.851 2.873 7.909-.177 15.251 8.03 21.496 10.293-6.555-.588-11.968-1.864-16.305-4.781-1.464-.754.676 1.919-1.087 1.287-3.239-3.383-11.946-4.969-18.512-6.234.466-.632.91-.599.577-1.486-4.348 2.396-8.862-2.562-12.578-2.595.344.255.965.377.799.876-6.877-3.927-16.738-7.72-24.724-7.676.255-.666.499-1.32.754-1.985-8.918-1.02-20.986-3.361-28.262-8.685-.3 1.131-.976 1.453-2.03.965-20.642-9.095-46.863-12.367-66.274-20.642.311.211.444.521.133 1.054-8.397-5.856-16.915-7.298-25.522-9.927-.832-1.109-.843-2.651-1.531-3.849-.71 2.207.355 1.409-.133 3.871-3.15-3.472-8.618-5.113-13.199-5.335.166-.51.321-1.02.477-1.531-3.616.965-7.775.455-10.105-1.764.144.344-.044.876-.244 1.386-2.74-.366-5.002-.788-4.725-2.54-1.497.056-3.183-.787-3.549-2.762-2.063-.133-.699 2.507-1.941 2.751-18.102-8.019-47.894-16.05-65.408-19.677-.022 0-.033-.011-.056-.011-.333-.067-.665-.133-.987-.2.133.044.266.078.41.122.011 0 .011 0 .022.011 12.001 3.671 30.136 10.626 52.098 14.952-.521 1.431 3.472.388 2.052 2.296 10.26 1.231 21.629 9.306 31.667 9.65-.111.621-.543 1.42.011 1.686.211-2.074 1.697-1.653 2.806-1.919.322 2.584 4.67 1.486 6.2 4.803 1.398-2.008 6.766 2.252 7.831 3.095.721-.51 1.076-1.741 2.152-1.542-.311 1.952 2.518.588 3.006 2.651 2.207-1.797 4.392.444 6.999.577-.588 3.183 2.95 2.595 5.501 3.45 1.342-.366-.222-1.431.998-1.353 13.232 5.746 25.578 8.774 38.134 15.151-.421-.022-.987-.333-1.165.144 1.398.91 1.431-1.043 2.828-.144-.521 1.353.477 1.298-.699 2.008 2.717-.2 5.424 1.985 7.775 3.228 1.121-1.375-.344-1.509-.288-2.363 1.12.632 1.397-.532 2.651.388-.355.998-1.575.155-1.697 1.642 2.063 1.497 2.241-1.065 4.303.422-1.131 2.285 2.296 1.453 3.239 3.438 1.642-1.497 1.863-1.453 2.063-2.662 1.175.954 2.041 1.642 3.139.577l-.532 1.497c1.12-.1 5.745-.599 5.435 1.952-1.93-1.386-4.991.532-6.922-2.485-1.242 4.137 10.038 2.718 10.282 7.099-11.424-3.394-17.492-6.589-30.469-11.391-.499.799.288 1.542-.521 1.509-.776-.588-3.128-.388-2.806-1.52 1.009-1.043 1.642 1.93 2.34-.322-2.418-1.087-7.21-2.318-8.618-2.385.976.388 2.717 2.485.621 3.028-7.953-5.357-19.178-7.398-26.942-10.282-11.292-4.104-22.372-9.073-34.595-13.976l.321-1.009c-5.402.821-8.43-3.838-13.011-2.351-1.231-.887-2.462-1.775-2.218-3.472-.976.033-2.762-1.508-3.172-.399 2.263.477 3.205 1.653 2.729 3.616-2.862-.643-10.171-3.194-13.232-5.147-5.258.477-11.979-3.405-16.649-2.851 2.429 2.407 10.138 1.009 9.095 6.112-2.795-2.163-6.267.577-9.151-2.229-.411 1.797-1.52 1.42-3.316.133-3.549 3.416-9.949-2.95-14.819-1.475-.81-1.542-2.263-2.718-3.782-3.86-.787 1.564 1.608 1.231-.089 2.196.799.555 3.128.233 2.862 1.375-11.125-2.163-19.278-3.228-28.839-5.435-1.264 4.825-5.69-.543-7.609.166 1.609 2.973-4.303-.688-6.189-1.109-4.614-1.065-10.027-.91-12.756-.677 1.619 3.061 5.313.399 7.897 2.673-.488 1.154-1.109 2.074-2.196 2.163-.166-.976-3.35-.965-3.427.732 2.961.078 4.148 1.265 6.245 2.784-3.339.721-8.008 2.828-10.438-1.153-2.784 1.697-6.1-.322-10.57-.632.133 3.039-4.337.921-7.554.244-3.095 1.708-1.031 3.483-5.091 3.117 1.021 1.342 2.452.044 2.884 1.265-1.619 2.174-3.183 4.437-6.699 3.261.299-.699 1.043-.654 1.386-1.298-2.673-.366-5.978.255-6.666 1.076-1.952-1.863-1.874-.255-3.638-.355-2.784-.166-6.389-3.072-8.385-.466 1.553 1.642 4.547.277 4.481 3.328-2.252.921-2.939-2.24-3.627-.366 1.065 1.808 6.522.887 5.979 3.693l-3.006-.754c-.444 1.553 2.229 2.108.222 3.35.799-.1 2.429 1.242 2.629.111-1.12-.177-1.486-.821-1.109-1.919 1.287.266 3.904 1.287 5.857 2.008-4.326 2.241-12.578.033-16.604-1.42-.632.865-1.165 1.93-2.13 2.218 2.296.632 4.581 1.231 2.241-.543 1.93.255 1.997 1.675 2.473 2.828-4.215 1.553-2.64-1.32-5.968-1.497 1.686.81 2.174 1.886.355 2.828 4.148 2.074 9.794 4.37 13.155 4.392.743 4.281 10.393 1.509 9.738 7.387 1.952.677 1.542-2.795 3.638-1.841 1.375 1.176 2.263 2.629 3.794 3.716 1.841-1.309 4.57.288 4.67 2.351-.655-.166-.688.787-1.265.765-1.397-2.141-6.411-3.039-8.896-2.318 3.594.932 7.831 3.394 11.369 2.984-.555-.233-1.42-.288-1.342-.921 1.409.532 1.819-.743 3.228-.222.022 1.209-1.83 1.253.089 1.675.788-.333 1.331-1.131 2.385-1.009 2.806 2.385 7.531 4.57 11.081 4.071 3.294 5.468 14.342 2.54 13.244 9.617 4.315-.133 8.385.898 11.491 4.337.943.211.821-1.597 1.908-1.12 3.028 4.226 10.338 1.486 14.708 4.215-.898 1.952-4.77-1.897-4.026 1.065 7.565 0 12.057 5.768 17.536 7.232-.532 1.12-2.296-.122-2.573 1.475 1.575.3 4.581 2.218 6.833 2.03-.044.743.41 1.187-.122 2.185 3.971-.089 6.4 3.083 10.083 5.302 1.02-.954-.666-2.296.621-2.041.976.299 1.941.599 2.917.887-.832.499-1.22 1.708-.133 2.196 4.426.399 9.118 3.305 13.61 2.462-2.052 1.442 1.109.854 1.298.954.066.033-.388.965-.322 1.009 6.466 4.548 23.115 4.647 25.5 8.663-.433-1.442 3.205-2.551 4.37-.277-.1 1.497-1.287.71-1.63 1.719 13.144 3.15 25.001 8.485 38.089 12.645-.333-.244-.943-.333-.787-.832 6.134 2.839 8.33 5.169 14.075 5.923 4.525 2.418 13.654 5.113 16.116 6.245-.321-.444-2.362-2.03-.898-2.019 3.948 5.091 8.397 6.6 15.639 9.018-.322 2.573 4.803 4.492 5.735 2.063-1.442-.843-2.462-.71-3.228-.033-.344-.921-2.518-.932-1.187-2.684 2.429.91 10.249 3.106 5.668 3.727 8.086.832 8.929 5.435 15.983 6.5-.643 5.269 9.739 4.67 8.164 7.077 2.218-.566 4.814.699 5.79 3.328-4.592-.266-7.054-2.285-10.038-2.096 1.619.444 2.939 1.043 2.928 2.252 2.729-.832 4.747.211 6.156 2.329.776-2.24 2.03.433 2.362.898 1.198-1.398-1.387-.965-.188-2.351 3.416.344 6.899 2.518 9.372 5.246-.91-.266-1.708-.266-2.285.277 2.94.255 4.847 4.093 6.533 1.386-.865-.688-3.328-.621-3.106-1.797 3.738.477 5.956 2.085 7.609 4.159-.599-.311-3.372-1.431-2.074-.255 1.985 1.353 3.084.488 4.614.699 3.305 5.479 7.232 5.579 11.78 8.685 1.364-1.531 3.982.089 6.233.754-.299.677-.222 1.176-.133 1.675-.388 1.353-1.974-.344-2.207 1.409 1.852.898 6.444 1.786 8.319 5.025 1.608-.577 7.687.666 7.043 4.06-3.427-.91-6.5-1.564-7.919-3.261-1.187 1.453-9.273-4.769-9.705-1.564-.111-.876-.067-1.841-1.276-2.218-.987.51-2.729.632-4.47 1.653 1.653-3.438-3.461.555-2.673-2.784-1.331-1.031-1.486.898-2.473.743-1.065-.976-1.131-2.429-2.485-3.283-11.669-.388-22.616-9.572-33.564-12.379 2.185 1.375 5.246 2.329 5.834 4.481-.876-.177-1.808-2.296-2.817-1.076.643.776 2.274 1.065 2.44 2.063-2.873-.111-3.549-3.394-4.803-2.95 2.618 1.276-.843 1.83-.754 1.997.588 1.187 2.54.388 3.194 2.906.466-.898-.111-1.287.288-2.163.91.51.399 1.697 1.309 2.207 8.574-2.607 17.07 6.056 25.556 6.455-.61 2.717 1.564 2.03 1.874.743 1.808 1.597 1.708 2.773 2.085 4.281 3.272-2.551 7.487 3.35 11.07 2.108 1.653 4.126 9.605 3.294 12.623 5.025-.322-.255-.366-.632-.056-1.176 1.73.477 2.95.344 3.505 2.041-1.586.754-.555-1.087-2.118-1.453 1.886 4.903 8.352 4.392 12.645 7.587 1.02-.422 2.241-.288 3.405-.322.288 1.741 3.061 2.374 5.158 3.305.954-1.265 2.152-1.908 4.082-.61-.943-4.381-5.712-5.324-8.94-6.023 2.418-1.187-.022-2.607 2.374-3.05.167 2.973 6.955 4.204 9.461 5.513-.621-.433-1.12-.91-.61-1.83 1.409.566 4.548.344 5.125 2.141-2.185-1.331-2.551.976-3.261-1.364.233 1.897.81 3.627 2.263 4.98.987-1.364-1.342-1.265.111-2.839.466.2.732-.167 1.143-.1.056 1.619 4.858 2.662 2.673 4.004 3.727.632 8.541 3.25 8.652 6.655 6.101 1.32 11.136 1.852 16.327 5.391-.244.765-.965 1.73-.399 2.152.843-.921 2.141-.51 3.161-.943-.61 1.764 1.264.499.954 1.586-.699-.166-.998.832-1.564 1.054 1.131.311 1.73.854 2.085 1.497 1.009-1.353-1.32-1.298.155-2.839 1.12.577 1.775-.144 2.74.033.976 2.596 5.224.61 7.62 3.949-.444.588-1.065.621-1.331 1.73 1.752.61 2.595-1.431 4.304-.965-.432.643-1.131.477-1.575 1.032 3.871-2.474 7.52 3.915 8.929 4.681-.444-.344-.743-1.298-.022-1.187 6.966 4.326 13.787 6.167 20.608 9.428-.211.555-1.02.444-.455.954 2.873.887 21.662 3.128 15.917 7.531.299.277.887.444.676.91-.566-.177-1.242-.688-1.586-.166 1.043 1.431 4.337 1.209 6.356 1.863.144.854.055 1.808.444 2.573 4.991-1.753 4.725 4.57 8.829 4.814-.477 1.32-1.941-.466-2.285 1.265 6.611-1.708 13.033 5.557 19.888 7.332-.488 1.342-2.296-1.697-2.507.543 5.324 1.009 13.255 7.043 19.788 8.685-2.108.765 1.32 1.486.832 2.806-5.557 1.198-8.308-3.793-14.896-3.871-.1.81-1.752 2.196-.743 2.607 3.672-3.705 7.898 1.741 12.434 2.041-.188.843 1.198 1.109-.067 2.351 5.335-1.098 11.902 3.66 15.861 7.465 2.385-1.386 4.182 2.584 7.143 2.529-1.331.2-2.119 2.34-3.694 1.686.133-1.52 2.429-1.331.544-2.13-2.385 3.172-6.921-2.174-8.763-1.575 1.076.721-1.031.499-.976 1.897 2.573-.311 3.56 1.985 6.045 1.364.233 1.841 2.873 4.936 2.717 1.963.555 2.928 4.747 2.806 5.113 5.712-4.625-2.884-7.509-1.664-11.158-3.416 1.231 2.718 2.884 2.44 4.814 3.705-.322.666-.754.932-1.187 1.198 6.256 3.594 10.781 5.335 13.965 10.881.366-.521.632-1.386 1.187-1.176 1.808 3.405 7.521 5.324 10.493 6.755-.499-.344-.954-.699-.366-1.409 1.919 1.02 4.426 1.841 3.605 3.782 1.098.377 1.531-1.819 2.762-.921.787 1.775.377 3.96 1.464 5.646-.388-2.573 7.431.444 3.671 2.596 2.551 1.786 4.803 1.22 5.335 4.725 1.276-.422 2.485-1.054 3.904-.91 2.174-4.625 3.383-4.647 5.069-8.152-2.884-.277-4.903-.643-4.06-4.015-1.165.976-4.648-1.009-4.814-2.629-4.603 1.32-6.533-4.903-11.591-6.91 1.475-2.13-1.165-1.353-.932-3.538 1.686.677 3.272.987 4.891 1.453-1.409 1.109-.909 1.852-.632 3.283 1.353-1.054 3.405.521 3.505 1.908 1.586-1.675-1.398-1.83-1.176-3.061 2.063.244 4.282 1.054 6.289.998-.588 3.061 2.74 4.681 5.379 4.747.277 1.564.178 1.719-1.275 2.329 5.169.177 9.816 3.538 11.591 6.91 3.072-2.773 4.082 3.66 6.1 3.405-.477-.61-.654-1.32-.521-2.13 1.142 1.087 1.719-.067 2.862 1.021-1.12 1.752.665 2.595 1.298 3.793.898-.632-.422-2.285 1.043-1.852 3.383 2.584 4.559 3.738 8.086 3.971-.488 1.73-1.597 2.839 1.02 4.259.433-.832.921-1.397 1.486-1.608 1.176 1.109 2.019 2.507 4.159 1.819-.71 2.363-2.917 1.142-4.348.521 2.717 1.797 1.519 7.742 4.592 5.047 3.627 3.572 5.468 7.032 8.984 11.28-.488.599-1.154.366-1.664.876 1.697 2.285 4.98-.211 3.583 2.729-2.118-1.176-4.392-3.05-6.089-2.363.754.532 1.253 1.142 1.176 1.93-1.254-2.185-1.42 1.52-4.404-1.309-.665 1.952-2.085.688-2.906 2.03.61 1.32 2.518 2.241 2.385 3.793-4.126-.566-5.99-2.052-6.788-5.069.776.1 1.919 1.797 2.418.754-2.518-1.098 2.462-.776-.056-1.875-2.385 1.165-3.949.366-5.901.333 1.941-1.375-2.673.133-1.797-2.851-.987.022-1.742 1.043-2.773.865-1.653-4.825-8.408-8.175-11.513-10.804.333.898 1.708 1.486.676 2.828-.421-.244-.721.089-1.12-.022-.155-2.828-4.337-2.152-3.427-5.013-2.241-1.22-2.396-.743-3.205-2.396-.965.81-.976 2.296-3.205.677.643-.876 1.675-.266 2.34-1.142-3.339-2.063-10.515-3.705-11.258-7.343-9.606 4.115-13.011-10.803-20.431-8.075.321-.632-.533-.854-.366-1.42.976.898 1.664.666 2.063-.699-2.285-1.065-2.118-1.209-4.769-3.727-.721 2.939 2.884 4.348 3.006 7.01-1.398.355-3.372-1.398-5.069-2.074-.155 1.641 3.76 3.771 4.925 4.426.067.033 1.054-1.386 1.63-.932.544.432.411 1.93.976 2.363 2.662 2.019 8.186 1.985 8.186 5.657-1.398-1.098-2.451-.821-3.361-.011 7.82 2.906 11.525 6.722 19.965 10.859-.255.466-.654.366-.943.688 3.427.466 5.502 3.982 9.827 3.66-.477.61-1.143.388-1.642.91 2.008.643 3.882.721 5.768.832-1.531.599.566 2.351.144 3.749.499-1.054 1.187-1.265 2.074-.655.577 1.198-1.176.821-.355 1.63 2.518.699 5.158 1.897 7.498 1.797-.466.865-3.095.322-2.185 1.83 4.071-.854 9.361 6.577 11.646 8.43-.943-1.276 2.185-.71 1.985.51 1.242-.821-.865-2.396.643-2.074-.466 2.119 3.095 2.451 3.028 3.605-.3 2.03-1.597-.577-2.074.632 1.109 2.063 2.651 3.993 4.57 5.801-5.025-.322-10.815-8.507-18.523-8.23-.266 1.287 2.096.677 2.828.998-1.464 3.194 1.342 1.087 1.775 2.839-3.239 3.106-4.448-2.862-6.955-2.718.499.344.943.71.333 1.409-.432-.244-.721.089-1.12-.022-2.496-1.808-6.256-6.189-7.953-3.893-1.952-1.409-1.808-5.479-4.237-5.468 1.741 2.096 3.206 4.281 2.762 7.077-.399.621-3.228-1.453-2.229-.044 3.949.266 4.969 1.176 8.042 2.729.1-.921-2.152-1.076-.92-2.351 1.209.865 3.616 1.364 2.884 2.851-1.664.044-.743 2.784.055 1.863-.91-1.065 1.342-1.486 1.919-1.353-.311.732.787 1.009 1.442 1.431-.488.787-.732 1.486-.632 2.085 1.287.799 2.363.588 3.516.765 3.982 5.535 14.286 5.191 18.634 9.605 1.819-.599 3.239 1.797 3.86.466.222.721 2.074 2.839 2.684 2.207.222-.943-2.03-1.142-1.564-2.163.388-.466.887-.432 1.386-.41.366 1.886.921 1.375 2.529 1.497.144.71.288 1.409.455 2.108 3.039.876 4.093 1.708 6.877 2.839-.355.632-.799.887-1.242 1.109 1.398.211 2.44.799 2.673 2.207-1.52-.233-2.94.078-4.315.532 2.285.355 4.969 2.595 6.855.965-.588-.721-2.562.288-2.108-1.253 1.542.355 3.05.41 4.47.2-.555.776-.233 1.309.699 1.664-1.619.577-1.043 2.806-.688 3.96 1.287-1.497.155-2.307 1.098-3.705 1.697 1.586.876-.444 1.808-.133 2.263 1.12 1.364 3.117 3.062 4.392-1.376 1.131-3.128.244-4.581.921 2.163 1.73 3.627-.155 5.69 1.01-.754 1.109-1.664.932-.699 2.074 4.348-1.176 9.117 3.039 12.645 4.659.133-1.453-1.775.033-1.386-1.475.499-.577 1.231.044 1.808-.133-.455 1.242 1.009 1.952-.433 3.472 3.339-.167 5.025 2.773 8.474 3.971-.033.91-1.109 3.993.954 3.095-.477-.377-.909-.743-.266-1.42 2.03.632 3.228 1.431 6.056 3.217-1.741 3.328 1.786 5.246 2.473 7.908 1.309-.055.177-1.42 1.264-1.076 2.784 4.892 5.479 6.322 10.271 11.025-3.139-.998 2.174 2.252-.344 2.307 2.207.177 5.457 1.353 6.489 2.651.067-.688 1.065-1.952 1.409-1.386.311 1.331-.965 1.719 1.054 1.941-1.298 1.453-1.497 2.595-.532 3.461.732.111 1.187-1.664 1.974-1.231.776 1.553 1.32 1.431 1.83 2.507-.732-.144-1.431.033-2.085.521 1.542.588.044 1.353-.477 1.597.976 1.242 1.897 2.496 2.041 3.938 1.442-2.185 1.165-3.971 3.239-4.88-1.12-1.076.233-2.773.455-4.182 6.112 3.76 12.877 10.781 15.706 17.547-1.753.887-2.617 2.207-2.296 4.237 8.108-6.733 9.306 8.097 16.682 8.175 2.241-2.041 1.531-2.906 3.25-5.535 2.862 2.573 5.158.776 7.609.122 2.917.876 3.627 1.996 6.6 3.294-.333.566-.599 1.12.188 1.431 1.365.355-.499-1.542 1.131-2.451 2.928 1.608 6.522-2.063 8.463.699.887-2.928 2.717-3.782 3.782-4.492-.388.577.732 1.331 1.209.843-.543-.588.477-.599 1.12.122-1.353.1-.333 4.681 1.475 2.984-.821-1.841-2.817-4.348-.033-5.857-1.586-.765-1.797-1.819-1.486-2.995a12.692 12.692 0 0 1 2.851-.61c.288-1.165-.122-2.185-.078-3.294 2.751-.067 8.286 1.863 8.141 6.378 1.997.588 6.456-1.897 5.701 2.174-.643-.277-2.473-.466-3.938.422 1.553 1.165 5.557-.055 5.069 3.028-5.801.477-12.023-2.108-15.64-5.979 1.254 4.426 8.042 6.467 13.288 7.565.932 2.218 5.014 4.459 8.164 4.614.71.965.011 2.207.732 3.161 3.084 2.041 12.878 2.961 8.873 7.775.921 1.686 1.32-1.287 2.152-.422.399.899.787 1.797-.399 2.995-6.711 1.009-13.699-.876-20.398-.322.266 1.886 1.486 3.594-.078 5.856 8.574 6.411 19.388-1.509 28.04 5.535 1.719-4.947 6.699-3.915 7.454-9.051.655.555 1.287.832 1.886.765 2.141-3.716 3.272-6.589 6.888-7.465.533-.71-.909-1.065-.532-1.741 1.32 1.009 2.34-.887 3.505-1.353.211-.776-1.464-1.22-.932-2.041 5.479-10.648 6.633-17.237 10.703-29.981-1.608-4.448-.1-9.406-1.664-13.82 2.296-.965.743-5.069 3.295-6.156-1.021-.555-1.464-1.22-1.01-2.052.854.799 1.619 1.021 2.285.344-2.285-1.087.688-2.54.754-2.751 1.298-4.148-.111-9.306 1.885-13.754 5.59 1.686 5.779 10.315 11.147 10.759.566 2.285 2.717 4.304 1.198 6.921-1.342-.887-2.64-1.542-3.705-.133 1.564 3.727 3.405 7.409 7.165 10.77-2.285 4.226 3.871 7.077 6.001 10.57-.643.832-1.509-.299-2.108 1.076 4.77 2.695 9.628 7.575 12.767 12.467-2.251 6.123 7.432 12.146 3.76 17.237 1.497 1.996 3.294 3.949 2.751 6.234-2.196 1.642-4.514 1.653-6.555 5.002-.787 3.05 2.607 5.49 2.884 8.374 1.364-1.442 4.803-.887 5.246 1.442-.932.61-1.952 0-2.906.422-.466 3.683-2.496 5.446-3.339 8.885 1.419.865 3.76 1.941 2.451 4.06-.887-.322-.61-2.518-1.908-1.586 1.165 1.065-.111 2.474.943 3.549 2.263-2.762 1.609 1.143 2.285 1.886 1.863-.022 1.475-2.185 3.461-2.673 5.036 3.66 1.886 14.342 8.396 13.144-.011-.976-1.32-1.775-2.329-2.618.421-5.524-.799-10.859-2.074-16.194.577-.466 1.198-.344 1.741-1.342-1.52-.876-2.951-.577-4.47-1.608.133-1.242.244-2.496-1.697-3.449 3.15-.632.266-2.74 1.52-4.237 1.752.399 1.741.089 2.784-1.863.787.621 1.431-.743 2.229.432 2.651 3.827 5.49 8.496 9.927 12.323.621-4.115-2.751-7.731-4.049-11.624 3.56-3.206 3.039-5.501 2.951-9.983-.843-1.553-1.375 1.087-2.229-.455 2.229-5.08 1.054-11.258 6.056-15.562 4.714 4.204 8.596-.688 13.244 3.86 1.586-1.775 3.372-.898 5.002-2.085.566-.943.1-1.742.166-2.618 1.165-.887 2.418-.532 3.66-.433 5.735-4.403-.499-7.398 2.773-11.524 4.337 1.797 8.94 6.644 13.155 6.722-1.253-1.619.399-4.88 2.595-4.758-1.102-3.119 1.339-6.625-.048-9.719zm-11.602-106.005.854.655c-1.131 1.32-.544 2.806-2.463 1.464 1.277-1.165.19-1.919 1.609-2.119zm-10.315-17.813c-1.564.266-1.641-1.375-2.307-2.34.887-1.831 4.092 1.375 2.307 2.34zm-42.238-24.635c-.61.743-.111 1.298-.787 2.041-1.131-.699-2.174-1.409-2.351-2.285.765-1.508 1.929-.732 3.138.244zm-8.951 79.539c-.71.388-1.486.155-2.318-.366.688-.61.266-1.042-.222-1.475.887-.821 2.496 1.309 2.54 1.841zm10.282-146.7c-1.031 2.462-2.684-.887-3.194-.222-.832-1.675 2.129-.909 3.194.222zm-13.565-15.54c-1.885 2.396-1.542-.865-3.527-1.719.865-.854 2.395 1.342 3.527 1.719zm-7.92 6.877c-.81 1.209-2.851-.399-3.039-1.398.71-.942 2.074 1.11 3.039 1.398zm-29.404-33.852c1.02-.799 3.161 1.42 1.753 2.396-.643.078-1.364-.2-2.152-.754.454-.61.898-1.221.399-1.642zm-560.736-146.712c.577-2.185 2.307.344 3.15.577-.499 1.365-2.751.344-3.15-.577zm-250.077-17.425c-.222.577-.111.943.233 1.154-.577 1.02-3.172-.288-3.483-.876.277-1.02 1.531-.311 1.52-1.819 1.642.144 1.52 1.375 3.35 1.398-.222.576-1.009.199-1.62.143zm22.927-10.726c.233-.577.122-.943-.233-1.154.754-.932 2.218-.632 3.782-.155-.632 1.409-2.295 1.01-3.549 1.309zm34.418-8.463c-1.908-1.054-2.041-.488-4.514-1.22.843-.987 5.523-1.264 4.514 1.22zm40.951 66.829c-.732-.355-2.562-1.353-3.427-.976-1.653-1.354 4.625-1.021 3.427.976zm14.164 5.978c-2.385-1.165-3.871-.577-5.668-.61-.111-1.176 2.784-.255 1.431-1.231.577-.566 5.158.177 4.237 1.841zm200.94 101.546c1.586-.954 3.305 1.398 4.681 1.863-1.32.843-3.772-1.176-4.681-1.863zm119.492-81.37c-.61.865-2.241-.921-2.318 1.32-3.383-1.819-5.978-1.619-9.129-2.839 4.825-.344 6.789.465 11.447 1.519zm-50.978-20.608c-1.22 1.686-2.107-.455-3.616-.932.954-1.575 2.662.222 3.616.932zm-28.328-1.786-.599 1.486c-.643-.255-1.298-.51-1.952-.776.377-1.365 1.33-1.354 2.551-.71zm-88.435 66.174c2.34-1.531 3.693.466 6.733.843-1.687.743-5.214 1.064-6.733-.843zm4.148-91.53c4.703-2.551 10.082 3.106 15.373 3.849-4.326 1.896-11.402-2.607-15.373-3.849zm54.073 123.341c-1.575-.211-1.509-1.176-2.618-1.608.832-.965 3.815-.378 2.618 1.608zm9.638 9.739c.965.688 1.974 1.963 3.261 1.364.91 1.031-4.847 1.53-3.261-1.364zm4.47 7.631c-1.265-.167-2.94-1.553-4.437-2.429.776-2.041 3.671 1.431 4.792.277 1.575.81-1.752 1.83-.355 2.152zm15.429-102.433c-1.664-1.187.455-2.13.91-3.649 1.419.576.022 3.238-.91 3.649zm3.328.166c-1.298-.521-.688-1.863-1.154-2.74.311-.543 1.054-.067 1.664.089-.965 1.231.166 1.542-.51 2.651zm1.397 103.753c2.54.466 4.836 1.165 7.431 3.15-2.905.089-5.257-1.342-7.431-3.15zm34.296 17.215c.255-1.841 1.775-.133 2.739.033-.421 1.83-2.395 1.042-2.739-.033zm54.284-93.582c-3.117-1.364-4.437-3.339-7.753-4.592.643 1.486 2.485 2.784 5.623 4.204-8.175-.499-12.866-2.085-20.143-6.489-.932 2.241 2.218 2.873 1.874 4.88-4.647-3.272-9.417-1.797-12.456-4.281l.433-.976c.222-1.154 1.087-.643 1.863-.344-.222-1.83-2.684-.843-2.773 1.109-1.597-.677-2.751-.222-4.537-1.409.532-1.043 1.664-.521 2.817.078-.532-2.706-5.025-1.642-7.831-1.697-2.041.011.422-1.786-.821-2.096-2.307.166-12.844-3.882-14.319-6.566-1.52.111-1.952.377-2.008 2.052-1.863-.433-2.651-1.32-2.285-2.684-2.906 1.675-5.024-1.575-7.054-3.527-1.741-.665.355 2.052-1.098 1.265-1.242-.488-.444-.61-.078-1.176-1.797-.799-2.34 1.509-4.481-.144.91-1.065 1.719-2.374 2.307-4.226-1.087-.388-1.065 1.996-1.697 2.751-2.274-.399-1.298-2.163-2.784-2.895-.078 1.131-1.098 2.174-2.174 2.551-1.242.455-2.551.011-2.507-2.196 1.83.311 1.819 1.409 2.507 2.196.444-1.242-.288-1.908.998-2.462-2.884.388-2.573-.865-4.636-2.518-.665 1.076-2.462 2.074-1.819 4.437-1.231-1.353-2.951-2.496-4.06-3.915.566-1.242 2.03-.322 3.328.189.898.222.011-2.13.022-2.862-1.209-.167.277 1.009-1.087 1.287-1.087-.61-1.52-1.509-3.217-1.852-.411-1.309.299-.61.799-1.974-3.683.233-3.616 4.193-6.666 2.496-.033.699.211 1.264 1.065 1.575-7.066 2.008-12.567-7.032-18.135-5.49-1.098-1.697 0-1.808-2.229-1.464.066-2.773 2.207-2.917 4.304-3.228a10.665 10.665 0 0 0-1.575-.843c1.154-1.342.743-1.22.488-2.662-1.864-.188.177 3.361-1.852 3.261-.178-1.686-4.448-.699-5.945-3.516-.754-.1-.388.854.1 1.187-1.287.932-1.198-2.174-3.028-2.351.177.61.599 1.109 1.076 1.575-.898 1.364-.854-.898-1.963-.765-.167.488.466.61.787.876-.677 1.231-2.662-.51-3.505.366-.388-1.287-1.575-3.427-3.25-1.808-5.546-4.681-12.545-7.498-19.167-10.105l.566-1.486c-5.446.078-9.317-2.673-14.12-4.215 4.87-2.385 9.794 2.651 15.296 4.082 3.028.787 6.167-.3 8.918 1.675-.299 2.119-2.74-.621-3.516.377.077.788 1.397.255 2.263 1.42 6.866-3.128 14.918 3.76 22.361 6.289 6.001 1.985 11.924 1.752 15.928 4.048.122.632.921.954.388 1.875 2.229-.677 3.538 1.764 5.868 2.329.011 1.886-1.065 1.02 1.553 1.764-1.298.588-.555 1.22-.998 2.474-1.442-.189-.532-1.398-.865-2.063-1.02.488-2.152.677-2.939 1.686-.832-.721-.522-1.941-1.165-2.751-1.054-.244-1.497.965-2.54.71.322 2.008 4.47 1.985 4.858 4.77 3.982-.743 5.49-4.747 9.916-3.472.2-1.309-1.409-1.83-2.34-2.651 4.614-.954 7.032 3.372 10.582 1.952.444.754 1.608 1.22 1.331 2.274 1.509.255 5.324-.488 5.058 1.542.943.333 1.02-1.486 2.074-.865 1.897 4.537 10.36 2.784 12.711 6.467 3.328-1.198 8.94 1.686 10.626 3.283 4.104-2.607 12.268 2.418 15.007 6.444 3.815 1.409 3.982-.022 7.398 1.486-.965-.588-2.196-3.117-2.95-2.451.854-1.775 3.039-.477 6.422 1.076-.133 0-.776.333-1.176.067 4.514 2.973 16.837 1.83 19.666 10.349-1.974-.954-3.793-1.508-5.269-1.142 1.475-.288 5.901 4.392 7.898 1.719 1.608.455 1.686 1.497 1.752 2.551-.676 1.054-1.342 2.13-2.795 1.065-.712 1.068 2.294.724.775 2.1zm.698-.266c1.131-2.318 3.771-.566 6.145.477-1.464 2.296-4.359.465-6.145-.477zm.621 122.342c1.264-.599.111-1.098 1.375-1.697 2.407 2.407 3.161 2.784 5.901 4.004-1.785 1.221-4.824-1.464-7.276-2.307zm7.953 3.217c.433-1.963 2.817.266 2.951.821-.821.743-2.618.344-2.951-.821zm1.553-126.181c-.599.177-1.32.022-2.141-.399 1.143-2.396 7.565 3.405 2.141.399zm39.554 154.11c.255-.821.832-.588 1.165-1.198 1.508.621 1.475 1.797 3.35 2.263-.966 1.398-3.961.178-4.515-1.065zm7.864 3.35c1.209 1.608 2.196 1.043 3.305 2.329-.965 1.476-4.448-.732-3.305-2.329zm8.995 18.501c1.398-.344 2.474.233 3.35 1.154-1.409 1.597-1.564-.721-3.35-1.154zm3.483 3.028c.843-.61 1.93-.322 3.161.433-.832.998-2.74 1.065-3.161-.433zm5.047-6.378c.521-.876 1.453 1.231 1.963 1.619-1.475 1.631-1.908-.598-1.963-1.619zm4.547-.033c.677-1.176 1.974-.155 3.161.444-.676 1.575-2.85.699-3.161-.444zm3.938 17.059c-.899.299-1.952-.255-2.207-1.154.721-1.596 3.56-.842 2.207 1.154zm-.244-13.332c-.466-.355 0-.599.244-.477.787-1.165-1.52-1.265-.333-2.573.965.754 1.42-.355 2.473.688-.033.521-.056 1.031.388 1.397-.687 1.187-2.096-.222-2.772.965zm6.211 3.228c-.721.133-1.519 0-2.473-.677.577-1.586 1.852-.621 2.584-1.664.433.622.289 1.442-.111 2.341zm6.256 9.461c1.508-.432.277 1.442 2.629 1.431-.588.71-.144 1.065.366 1.42-1.509.688-.865-2.274-3.061-1.675.366-.499.355-.888.066-1.176zm44.356 20.875c.732.122 1.298.466 1.786.865-.832-.466-2.141.477-1.786-.865zm-13.742 19.133c.998-.366 2.973-.056 3.272 1.242-.777.932-2.23-1.009-3.272-1.242zm10.182 24.746c-.566-.322-1.143-.643-1.708-.965.698-1.974 3.072-.621 1.708.965zm-1.12-4.914c.898-.854 2.895-.399 3.095.532-.855.578-1.919.256-3.095-.532zm9.372 7.288c-2.085-1.342-2.651-3.993-4.947-4.159.022-.887.71-1.997-.898-2.363 3.627-.754 6.045 3.893 8.729 4.525-1.076.167-2.03.832-2.884 1.997zm8.02-22.472c.566-.211 1.065-.765 1.497-1.586 1.52.433.089 1.753 1.597 2.185-.732 1.142-1.963.066-3.094-.599zm-5.424-18.424c-.721-.654.621-1.93-.854-2.34.188-.055.399-.144.61-.244.399.754 1.475 1.32.244 2.584zm7.21 3.483c1.298-.388 5.379 1.63 3.105 3.605-.632-2.052-1.797-2.429-3.105-3.605zm1.907 11.569.81-1.386c2.717.166 2.984 2.229 5.013 4.215-2.396.099-3.205-2.519-5.823-2.829zm14.73 11.18c-1.109-2.651-4.67-6.001-6.567-4.492-.688-.566-.499-1.375.233-2.351-1.486-.333-.887.41-1.508 1.586-1.12-.943.155-2.573-.787-3.561 4.415.754 5.657 5.136 10.692 6.333-1.098.855-.721.888-2.063 2.485zm4.548 2.063c-.322-1.608-1.764-.821-2.995-1.764 1.109-1.753 2.851-.566 4.514.2-.443.844-1.109.655-1.519 1.564zm-1.121-295.796c.388-.643.776-1.287.244-1.675.71-1.364 3.35.333 3.683 1.331-.965 1.131-2.307 1.153-3.927.344zm7.865 5.324c-1.386-1.198-2.917-2.363-3.694-3.738 1.231-1.553 1.908 1.12 4.182 1.586-.499.821.077 1.309-.488 2.152zm6.865-6.023.743-1.42 2.462 1.298c-.565 1.519-2.118.133-3.205.122zm19.012-.266c-.211.599.688.876 1.231 1.253.011 1.12-2.307.799-.998 1.886-.865.477-1.187-2.562-1.22-3.649 1.83.754 1.897-.666 3.217 1.076-.5.565-1.454-.256-2.23-.566zm22.616 27.33c.832.71 2.008 1.32 1.187 2.474l-1.941-1.065c.244-.466.499-.932.754-1.409zm-4.17-.455c1.231.599 2.385 1.209 2.662 2.063-.699 1.165-2.13.033-3.427-.654zm-10.593-16.693c-.277-.532-.566-1.054-.976-.543-.466-.41.166-1.109-.488-1.475.466-.233.92-.488 1.253-1.143.466.477.787 1.509-.011 1.209.056.654.854 1.098.222 1.952zm.721.998c-.222-1.364.189-4.071 2.252-3.028-.666 1.986-.622 2.163-2.252 3.028zm6.367 357.789c-1.165-.555.81-1.93-.766-2.385 2.196-1.176 1.841 1.741 3.394 2.817-.621 1.354-2.007-1.785-2.628-.432zm-4.393-340.341c4.903-.233 13.343 5.513 17.336 6.433-3.05 2.141-12.089-4.104-17.336-6.433zm26.388 9.561c-1.83 1.786-2.617-.799-4.67-.732.987-1.564 3.15.621 4.67.732zm-8.841-13.931c.411-.632.81-1.276.277-1.664.388-.477.632.011.488.266 2.873-1.209-.299 1.453 1.453 2.008-.498.554-1.441-.289-2.218-.61zm10.216 354.383c-2.817-.222-4.137-1.176-6.555-2.463-.133-.932.566-1.985 1.475-2.218-.921-1.375-2.296-2.651-2.462-4.215 2.762.91 3.86 4.148 7.476 3.727 1.497.865-.577 2.618 1.254 3.394-.167 1.088-2.208.666-1.188 1.775zm79.185-269.786c-1.176-3.372-5.601-3.372-8.275-7.631 4.137 1.053 11.591 6.666 8.275 7.631zm3.848 1.131c1.309-1.076-.543-1.453-1.32-2.074 3.827.754 9.972 6.278 16.072 8.696-5.457 1.486-9.261-4.37-14.752-6.622zm17.015 6.145c-2.318-2.185-3.172-2.252-5.845-4.237 1.298 3.816-6.822-2.185-6.578-4.082 5.646.865 10.238 6.988 14.786 6.644-.51 1.697-1.62.932-2.363 1.675zm5.369.821c-.432 1.442-1.508.322-2.074 1.22 2.917 3.638 7.564 4.77 6.866 8.807-2.795-2.795-4.736-2.518-7.831-3.139-.333-.843-.144-1.786-1.02-2.518 1.364-.61 1.586.011 2.629 1.02.688-1.985-.033-3.649-2.052-5.047.72-1.874 1.996-1.53 3.482-.343zm-1.409-4.004c-1.364 1.342-1.974-.499-2.362-1.464.787-.976 2.24 1.031 2.362 1.464zm-29.116-23.648c-.288.466-.577.954-.876 1.431 8.053 3.416 17.547 8.818 24.801 15.872 1.12.388.432-2.274 3.771 2.34-.987 1.331-2.817-.699-4.337-1.442-.444.621-.876 1.231-.377 1.641-5.18-1.941-12.667-8.241-21.185-9.983-1.231-1.431-2.318-2.906-2.396-4.592-1.608-.477-.599 1.63-1.375 2.263-1.42-.388-1.087-3.117-2.551-2.196-1.131-1.242-.122-1.009.632-2.107-2.817-.754-4.914-1.242-6.267-2.485-1.409 1.231 1.054 1.586 1.841 2.318-2.462.71-5.435-1.908-6.189-3.671.688-1.952 4.026-1.686 1.431-3.483 3.061-.344 6.633 6.012 8.851 4.636-2.939-3.25-10.337-5.468-10.548-9.361 6.278 1.044 8.962 6.179 14.774 8.819zm-6.844 17.68c-.965 5.768-10.803-1.741-14.253-3.006-1.253-2.396-.51-4.47 2.673-3.372-.322.311-.754.166-1.021.632 5.98 3.628 7.033 3.35 12.601 5.746zm-4.625-11.535c.954-.865 2.307-.277 3.272-1.153-.177 1.73 4.037 2.484 3.15 4.414-1.242-2.629-4.592-.81-6.422-3.261zm4.492 6.444c-1.575-1.142 2.207-.965.632-2.118 1.309-1.109 1.464 1.187 1.608 1.619-.487 1.143-1.663-.333-2.24.499zm-6.123-8.03c-2.784 1.054-4.326-2.329-7.675-3.317.799-.987 1.775-1.276 2.396-2.917 2.418 1.908 2.939 3.594 5.279 6.234zm-11.746-13.776c-.544.776.011 1.309-.61 2.107-2.163-.677-.621-2.218-2.784-2.895.921-.477 2.307.699 3.394.788zm-24.723-.389c.965-.854 2.784 1.342 4.082 1.741-2.175 1.742-2.197-.487-4.082-1.741zm3.837-3.338c-1.786-1.985-3.771-2.573-6.023-2.806.466-1.165 1.098-1.73 1.808-2.041-1.176-.854-1.941-.255-2.496 1.031-2.717-.898-2.462-2.54-2.773-4.037 4.503-1.952 11.136 6.422 15.695 5.956 4.991 4.526 10.271 7.243 15.839 11.258.421-.887-1.453-1.231-1.365-2.041.921-1.386 3.427.843 2.584 2.141 1.897-.122 2.218-.444 2.851-2.629 2.03 5.479-1.83 5.89-6.999 2.041.011.91 1.143 1.564 1.841 2.318-.632 1.586-2.385-.943-3.194-.033-.555-.521.288-1.386.61-2.107-4.891-2.274-5.369-2.263-10.515-5.014.388-2.118-2.407-1.431-2.252-3.804-1.531-.355.843 1.886-1.065 1.841-3.128-2.351-2.052-3.438-6.145-4.814-.841 1.265 3.463 1.231 1.599 2.74zm23.637 23.925c-.566 1.298-1.686.588-2.706.255.765-1.209 2.396-1.553 2.706-.255zm-16.815-9.362c-1.342.743-2.118-.155-3.117-1.231 1.165-2.096 1.309 1.054 3.117 1.231zm10.648 287.268c-.787-2.296-3.028-4.281-.998-7.199 1.73.311 3.538 1.653 3.949-.477 3.405 1.619.765 7.731-2.951 7.676zm-16.937-271.196c.422-.621.843-1.242.344-1.642 6.456 1.109 13.92 7.387 19.067 10.693 1.464.244.843-2.24-.311-2.662 1.254-.998 1.919 1.32 2.817 1.675-.432.854-1.154.632-1.564 1.553-.411 1.142 2.207 1.553 3.006 2.407-9.062.621-13.476-6.633-23.359-12.024zm25.522 15.84c-1.065-1.586.544-.71-2.507-2.174 1.686-3.317 3.372 1.187 5.28.765-.388-2.928-7.088-2.008-5.235-5.069 5.546 3.993 14.896 5.235 19.3 12.5-1.564.3-.798-2.118-2.706-2.917-.255.444.355.699.655 1.02-.51.588-1.486-.699-1.952.044-.144 1.342 2.817 1.997 3.904 3.05-3.272.887-7.62-2.684-10.038-2.451-.122-1.409 1.187-2.673 1.664-2.729.521-1.786-1.009-.699-1.309-2.063-1.653-.222.898 1.841-.455 2.851-3.606-2.184-4.039-3.271-6.601-2.827zm1.409 19.654c-.621-.61.898-.555.1-1.198 2.174-1.475 3.982 2.34 5.535 3.427-2.019 2.008-3.827-3.083-5.635-2.229zm6.366 5.18c-.51.588-1.475-.699-1.941.056-.743-.621-.577-1.431.2-2.385.765.477 1.531.954 2.307 1.431-.543.222-1.065.466-.566.898zm6.7 247.414c-1.52-.078-5.812-1.453-4.459-3.904 1.287 2.163 5.49 1.509 4.459 3.904zm18.634-229.623c-.499-1.586-3.095-.821-3.361-2.806-.799-.089-1.464.422-2.052 1.22-3.682-3.194-5.391-4.57-9.805-6.81.532 1.486 4.37 1.719 3.771 4.193 1.231.244 2.285-.166 3.749 1.154-.333 1.098.388 2.285-.954 2.54-1.142-.532.311-1.63-.521-2.229-1.142-.555-1.83.532-.854 1.353-5.169-2.152-7.542-3.394-11.025-6.866 1.275.222 3.328-.61 3.782 1.087 1.797-2.773-1.387-2.518-2.939-2.44.233-.632-.621-2.895.211-2.374.821-1.475 2.307 1.386 4.248 1.364-.433-2.085-5.446-3.006-5.712-4.159-.388 1.287-.51 2.906-2.329 1.697 2.229-2.973.277-4.991-2.085-6.921.61-.189 1.131-.721 1.575-1.531 4.082 4.725 16.505 8.031 22.427 13.354-.455.843-1.164.577-1.597 1.509 1.597.721 2.696-.677 4.337.255l-1.142 1.797c.776.588 1.32.067 2.107.732 1.198.41-.1-1.065 1.32-1.054l2.285 1.464c-.399.477-.41.876-.111 1.198-1.475.377-2.762 1.564-4.637.189.1.62-.155 1.319-.688 2.084zm7.043 233.805c-1.375-.355-2.973-2.496-4.059-.322-.211-.821-1.176-1.497-1.375-2.318 1.198-2.296 2.851-.655 4.293-.821 2.695-3.261 1.797-5.313 5.146-6.134 1.664.91 1.264 2.218 1.863 3.328-2.34 3.949-2.551 3.816-5.868 6.267zm5.28 1.198c.044-1.109-.521-2.096.71-3.438.754.477.455 1.142 1.287 1.597-.566 1.453-1.398.699-1.997 1.841zm-160.853-405.085-2.285-.311c.211.311.377.632.488.954.61-.243 1.209-.476 1.797-.643zm205.054 201.616a.452.452 0 0 0 .055.1c.022-.022.033-.055.055-.078a.336.336 0 0 1-.11-.022z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M1660.779 1524.128c-2.917.277-8.108-1.32-10.981 3.039 4.159-1.287 7.542-.444 10.97-.61-.388-1.065.067-1.575.011-2.429zm-18.046 4.303c2.717-1.153 3.926.71 6.666-.466-1.653-.654-3.838-.277-5.723-.488-.355.3-.677.622-.943.954zm-501.439 284.14c.022.033.033.078.055.111.022-.033.044-.067.078-.1-.045 0-.089-.011-.133-.011zm896.075-434.8c-2.229.643-2.973-.965-4.048-2.074 3.904-3.805 3.538.266 7.276-1.131-2.252-.133-3.283-1.131-1.73-3.095-5.546-.41-12.878-.333-16.571 1.32-2.896-4.562-12.081 3.423-14.297-3.649-2.474.172-.312 3.962-3.095 3.893-.876-.277-1.697-.666-2.518-1.054-7.195 1.27 46.476-9.99-838.864 178.612l-119.393-16.028c-7.82 3.405-18.135 5.524-26.343 4.503.166-2.451-.699-4.226-3.15-5.135 2.096 12.955-14.93 5.047-19.888 13.321.821 3.716 2.252 3.438 4.049 6.921-4.681 1.63-4.159 5.246-4.98 8.341-2.817 2.695-4.526 2.828-7.842 5.346-.422-.71-.865-1.331-1.708-.654-1.264 1.309 2.03.377 2.019 2.718-3.638 2.274-1.786 8.419-6.089 8.94 2.717 2.718 2.54 5.235 2.673 6.844-.399-.776-1.93.011-1.686.843.998-.266.377.865-.832 1.154.732-1.553-5.036-3.128-4.248-.122 2.562.166 6.611-.566 6.578 3.416 1.83-1.298 3.139-.921 4.248.122a15.826 15.826 0 0 1-1.065 3.505c1.12 1.009 2.507 1.154 3.705 1.875-1.608 3.095-7.121 7.931-12.057 5.246-1.852 1.908-1.752 8.33-5.845 5.158.688-.566 1.997-2.507 1.886-4.67-2.241 1.098-3.261 6.267-6.433 3.971 2.684-6.2 8.973-12.179 16.15-14.009-5.724-1.309-12.146 5.213-16.516 10.471-3.061-.211-8.053 3.15-10.104 6.589-1.509.255-2.507-1.22-4.015-.954-4.182 2.363-11.025 12.889-14.175 5.745-2.496.111.688 2.185-.799 2.651-1.275-.033-2.54-.078-3.228-2.074 2.828-8.141 9.195-15.029 12.656-22.916-2.329-.754-5.036-.311-6.677-3.328-12.767 6.311-10.06 22.893-23.237 29.216 4.758 4.548.666 9.761 6.212 13.277-1.01.477-1.697 1.054-1.963 1.786 3.083 4.381 5.757 7.176 4.736 11.791.521.965 1.741-.499 2.307.288-1.908.976-.299 3.139-.399 4.725.776.632 2.218-1.054 2.873-.011 9.162 11.846 16.039 16.604 28.118 28.118 5.823.577 10.537 5.025 16.272 5.823-.155 3.083 5.213 3.705 5.036 7.143 1.165-.81 2.141-.921 2.795.056-1.32.488-1.985 1.198-1.586 2.318 2.418-1.886 2.418 2.218 2.617 2.407 3.882 3.804 10.26 5.235 14.02 10.005-4.736 5.146-14.286.322-17.57 6.034-2.784-.643-6.101.643-8.208-2.496 1.675-.998 3.05-2.096 2.063-4.06-4.903-.322-9.938-.277-15.606 2.141-3.527-4.847-9.883.544-14.896 1.12-.621-1.176 1.098-1.553-.155-2.95-5.446 3.971-13.51 6.844-20.62 8.108-5.912-5.59-17.669 2.717-21.851-3.882-3.095.832-6.289 2.041-8.718.355-.865-3.317.288-6.045-2.651-9.972-3.239-2.318-7.898.588-11.547-.311 1.043 2.252-1.386 6.089-4.437 5.624-.266-1.375.987-2.329.976-3.638-4.259-2.141-5.369-5.313-9.162-7.775-1.808 1.298-4.37 3.849-6.311 1.386.854-.954 3.449.233 2.961-1.741-1.93 1.043-3.006-1.087-4.902-.189 2.252 3.838-2.263 1.542-3.549 2.096-.943 2.296 1.952 2.651 1.553 5.269-7.243 4.847-19.266-2.806-21.207 5.934 1.275.288 3.05-1.153 4.67-2.13 7.01 2.462 14.075 2.717 21.551 3.283.288.876-.177 1.575.787 2.629 1.841-1.508 2.196-3.372 4.237-4.836 1.464.665 2.928 1.276 5.091-.688-.832 4.015 3.228 1.464 4.404 3.616-1.364 1.908-.976 2.03.865 4.104-1.131.654.2 1.985-1.63 2.496-2.984.843-6.256 1.664-9.639 2.773a53.089 53.089 0 0 0-10.448 4.625c4.858 2.263 11.014-.588 16.36-.543 2.185 5.59 5.235 5.879 10.67 7.598 2.252-.377-.654-2.119 1.609-2.496 5.036 4.836 12.9 6.245 15.617 14.031-7.143 3.549-3.139 10.315-10.537 13.898 1.409 2.618-.41 4.359.299 6.788.865 1.065 2.019.854 3.017 1.298.544 1.752-.399 3.072-1.043 4.503 2.784 8.574 8.873 2.551 12.279 8.175-3.838 4.248-11.369 7.709-13.1 12.611 2.385-.81 5.557 2.484 4.57 5.002 4.06 0 7.177 4.326 11.258 4.026 3.56-6.045-.588-12.39 4.104-18.723 8.807 6.999 23.759-3.061 29.759-4.026-.821.144-1.52-.133-2.052-1.142 2.318-1.963 4.093-1.564 6.012-1.819-1.675-2.13 2.108-2.462 1.919-4.115-1.065-.067-2.174.067-2.895-1.431 8.563-4.348 11.269-10.426 19.322-15.839-1.533-3.896-1.361.674 14.22-11.214 4.248-3.283 8.286-6.688 13.277-10.038-.277-.732-.954-1.619-.366-2.052 2.773-.089 5.624-1.63 7.11-2.163-.488.078-.887-.177-1.142-.91 8.862-3.361 18.346-12.179 24.424-4.226-1.109-.277-1.642.022-1.32 1.42 2.007.111 5.745.632 5.379 3.982 2.407-2.119 5.99.488 5.624 3.128.577.721 1.331.754 1.73 2.119 1.974-.366 1.364-.055 1.852-1.686.388.832.91 1.187 1.431 1.531-.821.477-1.908.854-1.02 1.997 3.394-2.34 2.063 2.307 4.226 3.095 1.908-1.342-.51-4.37 2.828-5.147-.588 1.952 1.342 2.24 2.074 4.182-.422-.011-2.806-.455-2.152 1.076 1.409-.632 1.963 1.786 3.083 2.174.965-.433 1.608-.976 1.864-1.675-.899 3.139 2.751-1.442 3.083 2.174-4.348.177-6.855 2.74-9.905 5.701-3.394-3.328-9.006 1.353-12.412-1.93.499-.61.91-1.253 1.02-2.008-1.419.133-2.396-1.409-3.649-1.897-5.468 3.749-11.07-5.479-17.736-2.906 1.497 3.272-1.165 4.77-4.182 5.135 1.519 2.95-.599 3.117-2.862 3.716 4.026 4.947-1.486 8.585 2.795 12.057-1.109-.399-2.396.244-1.841 1.697.887.743 2.551-1.497 3.061.666.355.932-1.02 1.209-1.83 1.697 3.483 6.056 9.472 2.496 13.698 5.646-6.633 7.698-15.018 1.098-21.008 6.433-.399-.787-.81-1.575-1.22-2.363-7.554 1.276-2.307 10.981-8.275 12.678-.854 5.08-3.117 9.606-7.01 13.588.865.499-2.352 3.549-1.786 5.513-8.685 4.758 5.89 11.103 6.367 15.473 2.862 1.342 5.945 1.697 8.452 4.503-1.874 1.098-.921 1.886.432 2.03l-2.063 1.12c2.107 3.616.344 4.758 3.671 5.579 4.126-4.492 10.138-4.448 14.974-.51-.776.477.399 1.719-.92 1.997.976 2.906 3.305 0 4.448 2.141-3.982 1.054-6.755-3.183-10.648-2.596 1.309 1.431.089 1.919 1.054 3.217 1.043-.388.776-1.276 1.741-1.686-.399 1.675 1.997 1.242 2.906 2.961 2.185-1.264 2.407-.044 5.047-.432-.31-1.109 1.985-3.583 3.295-2.507-3.35 1.486 1.686 1.153-.299 3.172 4.902-1.42 7.032-.477 9.483-2.019-1.298 1.708-1.863 3.694-.632 6.344 1.176-1.12 1.642.71 2.474.965 7.154-2.263 12.9 2.329 21.274-.61-.388 4.315-6.112 4.77-10.604 8.53.089 2.229-.743 4.093 1.021 6.988 5.235-3.416 14.641-2.296 18.756-9.04 5.324 1.919 10.582-7.875 17.292-9.572 2.629-.677 8.186-3.749 7.587-8.297 7.542-3.394 14.408-9.151 23.748-14.042 1.375 1.253-.366 3.372 1.686 2.13 1.187-4.448 8.307-5.557 10.138-8.674-9.162 3.893-17.758 6.478-26.665 10.914-.532-.787-1.353-.577-1.919-1.276 6.256-1.564 9.473-14.164 10.615-8.984.166-1.032 3.56.211 5.335-1.131-1.309-5.99 5.502-2.64 8.674-5.002-.921-1.497 1.819-1.475.433-3.172-1.043-1.73-2.862-.688-3.86-2.562 1.231-5.734 6.078-4.625 10.792-7.476.621.754 1.131.699.865 1.797 1.065-1.054 4.226-4.204 5.357-1.12-2.074 2.44-1.042.222-2.939.688-.033 2.695 1.697 3.361 3.605 3.438-1.043 1.952.555 5.014-1.409 6.589 1.031-.399 1.963-.466 2.695.177.266 1.542-1.386 2.285-.676 4.015 1.619-1.664 4.303-2.407 7.454-2.13-1.553-3.183 2.329-3.682 3.383-3.849.144 2.008-1.22 3.028-3.139 2.984 2.296 2.252-1.719 1.841-.144 3.782 2.518-.122 4.781-10.382 10.016-6.311-5.213 1.309-4.515 5.113-6.755 7.687.954 3.938 2.529 5.014 4.403 5.113-.266-.555-.543-1.12-.81-1.686.987-.787 1.597-.266 2.407-.421-.067.699-.122 1.386.577 1.198.599 1.575-1.209-.277-2.041.921 2.263.067 4.936-1.22 7.421-.555 4.148-2.995 12.578-2.806 15.129-6.522-1.997.067-5.124 2.873-7.254-.2-.3-3.527 3.838-.011 3.139-2.995-2.717.322-3.05 2.196-5.102.233.699-.344-.022-1.287.488-1.708 2.263-.277 5.158.166 6.034 1.686-.067-.732 2.351 1.009 1.519-.876-1.02-.133-1.686-1.564-2.484-2.496-2.551 1.398-4.659 1.32-6.212-.721 2.396-5.014 7.177-3.095 8.408-8.441 1.087 1.109 4.98.632 5.369-1.076-.921.521-1.531-.011-1.919-1.309 8.973-1.12 13.31-3.572 20.675-6.123-1.12 2.684-2.629 2.296-4.514 4.337 1.553.477 3.383-.011 4.625 1.486-1.209 2.107-2.196 3.871-1.231 5.746-2.74 1.863-3.616 4.936-7.454 5.002 2.374 2.096 4.204-.499 5.624-1.93.288.599.776.521 1.109.954-1.043 4.459 1.32 6.544 4.559 11.092-9.517 8.33-21.884 5.413-31.091 14.098-4.17 1.276-9.805-.089-15.151 3.616-.477-1.553-1.586-.832-1.963-2.751-3.948 3.716-9.162 3.96-13.255 3.494 1.486 4.348-5.08.843-6.012 3.682-.621-.754-1.12-.71-.876-1.808-2.185 5.746-8.541-.566-12.401 3.882 2.451-.666-.344 4.204 3.549 1.963.056-1.719-2.44-1.586-1.165-2.396 1.63 3.705 5.601.821 8.674 3.15 1.298-4.792 5.812-2.984 9.96-4.88.976.965 3.649 4.182 4.071 1.708-1.997 1.342-.621-2.307-.921-3.25 3.006-1.52 6.667-.943 9.572-1.686.388 3.25.033 2.274-2.584 2.729 1.131 2.218 1.42 1.42 1.741 3.605 2.773-.411 2.019-2.329 2.806-3.583 1.154 4.348 6.788-1.375 9.628-.222-.721-1.253-.477-2.119.721-2.562.211.954-.144 1.32.865 1.797 10.049-4.958 18.379-11.369 28.317-14.286 2.152-3.472 10.46-9.539 12.867-3.15 12.9-2.085 24.413-10.826 36.104-14.131 2.274-4.67 7.165-6.223 11.036-6.633-.532 0 .455-1.875 1.741-1.508 4.625 1.32-.133 5.147-3.039 6.544 1.897-.555 1.409 4.293 1.575 5.868-4.315 3.76-9.439 6.289-13.632 10.071-1.553.432-2.518-.998-4.148-.244-1.187 3.45-5.379 1.12-7.897 2.995-1.442 1.076-1.364 4.226-2.906 5.058-1.719.921-4.481-.854-5.967-.122-.898.432-1.952 2.229-2.651 2.717.078-.044-.188-1.364-.033-1.453-1.597.765-1.597 2.817-2.895 3.583-.233.133-1.22-1.542-1.386-1.553-2.407-.1-3.283 4.193-5.269 5.435-2.352-.998.521-3.594-1.941-2.751.821 2.119-1.598 2.839-1.775 4.526-3.072-2.618-5.856 3.128-6.733-.477-3.083 2.817-8.718 7.287-12.09 8.718.654-.188 1.02.666 1.375 1.553-3.982 1.83-5.246 2.507-6.799 4.736-.299-.599.078-.921-.044-1.453-5.79 3.206-10.648 6.056-14.719 7.099-.144 1.043 0 2.229-.422 3.15-2.063-.921-2.074-.078-2.329 1.875-1.586-.599-2.296-3.217-3.239-1.375 2.596.821-1.109 2.984-1.986 3.916-.588-1.187-1.786-.067-2.207-1.886-.821-1.309 1.198-1.409.71-2.562-3.361 1.841-2.473 3.627-1.342 6.566 1.708.366 3.804-.666 5.568-.488-.666-3.882 5.945-4.537 7.831-3.805-.688.344.033 1.287-.477 1.708-.41-.665-.71-1.741-1.375-1.542-1.264 5.18-5.524 4.681-9.861 6.278 2.351 1.764-.1 2.307.976 4.703 4.093-2.03 8.164-4.248 12.001-5.834-2.207-.366.677-2.529.932-3.416 1.431.388 5.224.688 5.579-.477-.654.2-1.02-.666-1.386-1.553 3.483 1.619 6.134-1.02 9.539-1.63-3.45 1.253-1.231 1.985-3.339 3.815 2.684-.299 4.348-.144 4.969-3.117.288.588.566 1.198.854 1.797 3.993-4.37 13.554-4.093 18.978-9.073.411.665.721 1.752 1.376 1.553 4.492-4.869 14.552-4.67 16.194-8.419 1.265 2.152-.965 4.259-2.884 3.572 2.318 4.004 3.871-.654 5.08-1.664-.066.055.577 1.02.577 1.176 1.808-1.653 1.52-4.781 3.649-6.123 2.729-1.73 5.047 1.021 8.385-1.752-2.462-2.307 3.904-2.063 4.592-4.381-6.023 2.462 5.213-5.934 7.154-1.919-1.941.688-1.475 2.34-2.474 3.372 2.895-1.664 1.908-.133 3.627 1.974 2.152-1.83 3.25-.288 5.025-.909-1.165-1.797-3.305-.533-4.759-1.42.777-.344 1.087-.865 1.386-1.398 1.619.133 3.971 2.706 3.86-.355.455 1.065.976 1.819 1.597 2.196-10.371 7.487-13.621 8.485-20.165 9.528-4.004 4.126-10.914 2.651-14.43 8.297-.577-1.098-1.952.421-2.429-1.043-5.801 4.88-15.795 1.985-19.056 9.062 1.531-.61 3.361-2.241 4.248-.566-1.719.621-8.141 6.256-8.519 1.12-1.087.976-1.985 2.019-3.904 2.618.388 2.928 2.751-1.209 3.472.543-2.252 1.42-6.988 5.113-10.304 2.74-9.495 4.714-16.283 9.051-24.103 8.718 1.176 3.25-1.708-.898-2.662-.188-.954 1.42 1.897 2.695.932 3.25-.521.255-.388.787-.754 1.109-1.753 1.509-2.551-.566-3.971-.277.167 1.974-2.662 2.662-4.603 3.738-2.584-4.315-4.936.399-7.066 1.253-8.774 3.538-20.864 7.032-27.341 10.67 6.045-.921 7.055-3.261 12.711-2.673 4.936-5.446 14.397-5.745 20.886-9.594.643 1.531 1.708 1.453 2.485 2.473-.178 1.198-1.498 1.897-1.697 3.073 2.596.299 6.344-6.1 11.436-4.126-.655-2.119 1.542-1.819 2.817-2.119-.277-4.902 7.665-8.485 11.048-9.073.421 1.187-4.692 2.374-2.551 2.729 1.564-.743 3.15-1.597 3.993.288-.766.776-3.416.743-2.84 2.107 2.074.078 4.947-2.673 5.89 1.586 2.407-.61-1.808-1.952.421-3.15.333.399.765.477 1.331.089 1.985 2.44.432 3.372.432 4.958 3.106.477 2.063-2.063 1.753-3.05 2.396.821-.277 2.928 1.73 3.594 2.695-.078 5.213-.932 6.3-1.564-.654.155-1.131-.277-1.608-.699 1.087-.089 1.331-2.806 2.607-1.264-.566.388-1.542.61-1.287 1.364 3.705.233 7.775-3.516 10.848-1.52.91-1.42-1.797-1.364-.61-2.662 2.618-2.285 3.716.81 5.868.144-.122-1.009-2.085-2.806-.899-3.25 1.997-.61 4.614-3.416 5.59-.466-.355.71-3.749 2.462-2.063 2.462 2.407-2.573 5.113-2.229 5.191-5.424 2.473-.277 1.142 3.427 3.283 2.862.566-.71-1.009-2.351-.078-2.906 1.22.754 7.997.654 4.271-.555 2.507-.51 2.895-.81 6.123-2.174-.333-.932-1.231-2.13-.599-2.662 9.96-2.008 16.405-8.408 25.367-10.515-.277-1.143-1.542-1.165-.843-1.808 3.516-.499 6.533-.887 7.509-4.293.41.81.366 1.442.288 2.074 1.708-1.974 3.915-1.919 6.688-1.675-.144 2.984-3.438 2.019-2.118 6.134 2.962-1.808 2.041-7.454 6.212-8.053-.011-1.675-2.207-1.719-1.109-2.418 1.742.111 1.985-.366 2.462-1.897.921 2.085 2.318 1.63 3.682 1.963 2.807-3.971 8.286-1.464 10.194-6.755 9.639-2.074 20.42-7.853 25.189-12.334 1.076 1.32 3.106-.499 3.804 2.019 1.974-3.45 5.136-.322 6.078-3.96-.654.189-1.276.311-1.52-.81.998-1.031 1.176-.954 3.294-2.096.443.943.799 2.163 1.763 1.42 0-4.67 5.735-2.374 8.441-2.717-.333-1.276-1.187-.943-1.775-1.431 1.875-1.131 5.446-3.05 7.165-.022-1.042 1.198-2.851-1.93-2.817.421.787-.133 1.131 1.12 1.763 1.431 4.193-5.801 12.412-7.786 16.316-8.663 1.431-.333 1.264-2.706 1.885-2.895 1.686-.499 4.026 1.764 6.444-.377-.444.399.754-.233 2.096-.81.51-.222 5.468-3.671 7.775-1.62.799 1.464-3.749 2.463-1.908 2.884 1.786-.954 2.152-1.941 4.193-1.619-1.63-3.061 1.775-3.638 3.216-2.64-1.331 1.564-3.638 2.573-3.56 4.914 2.862-2.218 7.908-7.199 9.605-1.642-.1-.577.677-.976 1.087-.288-1.564 2.363-.211 3.383-1.52 5.557 4.781-7.931 13.488-1.22 16.76-11.336.555 1.143-.089 1.597.388 2.695 1.675-.543.787-2.518 3.25-2.618.322 1.22 1.109 1.165 1.453 2.307 1.287-.754 2.784-1.398 3.25-2.618-2.251 1.131-3.738.2-4.858-1.764 3.882-.355 4.57-3.838 8.94-1.875-2.352.166-.921 2.462-3.261 2.618 1.054 1.298 1.619 3.904 3.483 2.973-.244-.965-1.031-2.24-.377-2.695.677 2.962 7.898 1.276 10.881.244-.277-2.562-1.952-1.298-2.418-3.372.887.488 2.13.022 3.405-.544-.555 1.93-.277 1.608.82 3.949 1.897-.067-.022-2.329 1.442-2.651.788 2.396 3.272.288 4.315 1.985 1.586-2.939 2.873-1.442 3.106.288 1.42-2.451 2.429-2.13 3.15-4.659 1.32.932.233.821.887 2.518 2.052-1.475 1.93-1.098 3.949-.71.566-.998.665-2.274 1.242-3.283 1.398.943 2.307-.355 1.198 1.697 6.289-.832 5.768-8.696 9.117-8.219-1.264-4.758 1.83-3.793 4.381-2.928.244-1.697-2.196-1.886-.865-2.518 1.963.876 3.139.255 5.047-1.054 1.154 1.852-.177 2.241.011 3.516.832-1.453 2.95-.876 2.995-1.752-.887-.078-1.641-.521-2.251-1.32 1.264-.422 1.209-1.63 3.006-1.753.211.632.432 1.265.643 1.886 3.361-5.025 10.781-4.082 11.813-7.642 1.531-1.154 1.664 1.253 2.784 1.153-.266-.876-.721-1.309-1.176-1.708.843-1.908 8.829.81 4.315-1.464 2.651-.599 4.237 1.62 5.28-.377-1.32.233-1.83-1.287-.632-1.897-.466 1.187.255 2.141 1.719 1.531.156-1.253 1.231-1.952 2.063-2.806-.876 2.207 2.873.299 3.449-.466-.466 0-1.065.333-1.287-.266.987-.632 3.483-2.917 4.858-1.653-.044.998-2.052.81-1.742 1.997 2.196.51 2.119-1.664 3.904-2.718 2.074 3.494 4.448-4.647 6.555-.122-5.124-.965-5.258 8.086-9.505 3.927 1.087 3.605-1.431 2.074-3.472 3.993 1.287 1.775-.333 1.819-.233 2.873 2.651-.333 1.309-1.209 1.73-1.985.732.499 2.052-.477 2.252 1.353-.599.311-1.564.41-1.409 1.187 2.063-1.264 3.449-.865 4.392.599 2.34-2.407 4.914-1.298 10.57-4.27.643-1.453-1.386-1.708.244-2.884 7.986.577 12.622-7.11 18.546-7.487.488-2.285-2.174-3.328.399-4.337 1.63.455 1.664 1.863 1.764 3.627 4.182-4.126 8.585-1.398 13.765-3.782.543-6.112 9.672-3.239 11.657-8.596-2.241 1.697-5.49 2.751-7.476.987 1.32-2.961 7.498-5.712 8.019-1.165 2.285-3.206 6.344.854 6.145-3.35 1.863 3.838 7.986 1.697 11.136-.732-.466.355 1.02.477 2.385-.033 7.088-2.695 16.272-4.481 22.172-9.628.366.987.599 2.24 1.675 1.586-.433-1.653-.887-3.316.688-3.693.765 1.276-.943 2.496 1.12 1.741.2-1.231 1.154-2.407 2.54-1.486.932-1.287-1.154-1.342-.022-2.074 1.042-.222 1.952-.133 2.573.621.244 1.021-1.253.91-.532 2.241 1.609-1.974 2.241-1.564 4.37-3.383-.544-2.218-1.83.599-2.951-1.908 9.328-11.436 24.147-13.576 36.448-18.412 1.076 1.464-3.117 2.008-1.109 2.396 4.847-3.25 5.457-5.568 10.304-3.649 2.019-.588 1.475-2.862 2.407-4.171 2.407 1.054 6.899-5.069 10.293-1.564-.344-2.451 2.784-.543 3.328-3.039.721 2.34 1.531 1.564 1.841.155 1.265 3.616 3.283.033 4.758 2.13.3-2.407 1.997-2.374 4.248-1.864.976-1.264-1.12-1.375.022-2.085 3.128.765 6.267-3.693 9.006.277.721-3.416 8.374-4.492 10.682-2.285-.555-3.749 5.878-4.758 6.3-3.117 1.575-2.285 3.361-4.403 5.446-6.311-.033 1.031-.388 1.841-.421 2.873 10.404-2.019 17.603-7.853 31.09-8.297-.322-1.098 0-1.764.621-2.229 5.014 3.871 11.702-7.188 13.776.566 2.817-.71-.333-2.318 1.398-3.793 6.544-.943 10.604-4.281 14.796-2.407 3.05-2.673 4.836-2.396 8.829-5.002.544 1.431-1.431 1.12-1.187 2.363 5.258-1.73 7.653-4.049 12.578-1.753-.954-2.995 2.418-2.895 2.241-5.346-3.094.532-6.955 1.364-9.317-1.83 2.119-1.83 4.037 1.553 4.625-.444-6.511-3.028-8.474 2.662-15.074 3.76-.244-.876-.089-1.475.078-2.074-2.462-.61-4.57 1.608-6.366 3.006-11.491-1.464-22.727 9.173-33.941 6.711-2.529 3.793-8.585 5.125-13.621 7.077.089-3.283 6.189-2.462 6.211-5.801-2.362.599-10.471 4.27-12.478 2.241.311 1.209.455 2.296-.532 2.618-1.397.865-1.464-.976-2.573-.699-.067 3.793-9.273 4.259-12.989 4.914.466.033.787.366.898 1.143-1.353-.943-4.082 3.671-6.655 1.841 1.309-.177 2.041-.732 1.864-1.897-2.906-1.697-1.198 3.083-3.915 3.161-.566-1.442 1.409-1.165 1.142-2.396-4.448 2.152-13.211 3.017-17.026 5.413-.111 2.263 1.93 0 1.819 2.263-.898-.133-2.662 1.542-2.95.122-.122-.954.61-1.331.577-2.229-8.63 1.997-16.538 5.701-27.13 7.742-2.218-2.573-7.898 2.928-11.059 3.183-4.193.311-10.238 3.816-15.64 6.012-8.585 3.549-18.302 3.993-24.779 9.506-.344-.987-.577-2.229-1.675-1.575.2.987.91 2.296.222 2.718-2.662.333-4.903-.344-6.633-2.13-.178 1.442-.71 2.662-1.242 3.86 1.01-.122 2.196-2.64 3.283-1.009-.954.588-.432 2.13-2.351 2.119-3.472-3.372-1.409-1.098-5.169-1.198.954-.255 1.264-.921 1.264-1.786-1.908 2.784-6.81.51-8.596 3.35 3.183.155 3.882-.765 6.622.055-2.729 1.32-3.516 1.098-5.657 3.128-.876-1.021.999-2.629-.765-2.551-1.775 3.483-8.174-2.218-10.837 1.952.943-.898 3.339.067 2.041.754-1.342.521-2.008-.466-3.139-.399-.754 5.013-5.967 2.318-7.964 5.324-1.641-.444-1.863-1.386-2.44-2.008-.255 2.407-5.125 4.659-6.322 4.792-.887-1.908 2.362-1.276 2.141-2.784-5.369 2.174-6.522 4.947-8.652 6.955-1.198.588-1.176-1.642-2.241-1.386 1.764 2.484-2.196 4.381-4.803 5.734-.521-2.296-1.009-3.283-.665-3.993.81.544 2.596-.566 3.084-1.686-1.963-.743.898-2.806.432-4.326 1.242 0 1.475.621 1.154 1.73 3.583-2.762 9.151-2.695 12.745-5.435.156.765-.532 1.741.588 1.897-1.553-1.985 1.742-.976 1.054-2.429-1.963-.754.421-3.117 1.198-3.882-.322 1.12-.1 1.741 1.142 1.73.044-4.293 4.259-.876 4.891-3.649 1.564.532-.444 2.363 1.686 1.564l-.787-2.54c1.875-.954 7.554-2.984 9.14-3.56 1.486-.111-2.496-2.673.322-2.873.499 3.006 5.734-3.095 7.587 1.142 4.481-3.649 7.454-1.264 10.981-5.468.555 1.009 3.871 1.131 4.037-.555-.743.743-2.762-.521-1.475-.932 8.951.355 19.344-4.559 28.35-5.734-.655.055-1.065-.455-1.464-.943l2.196-.666c.289.876.155 1.486.011 2.085 1.464-2.174 5.468.965 6.444-.532-1.797-.266.677-1.009 1.109-.333-.144-1.875-.321-1.486.91-3.05-.854.133-1.974.843-2.396.022 3.96-4.06 11.713-3.106 16.793-4.204 1.398-1.675-2.484-1.63-.921-3.206 2.385 1.852 3.416-4.315 4.991-1.431 0 1.764-5.402 2.695-2.229 4.792 2.163-2.418 2.839-7.066 6.855-5.424-2.263-6.178 6.045-5.457 7.631-9.129 1.675.898 5.879 1.741 7.576-.787-4.204.432-7.997-.011-10.504-3.206.632-.288 1.619-.355 1.486-1.131-3.427-.144-1.187 3.416-4.459 3.361.61 2.451 3.516.022 4.237 2.252-4.326 1.597-8.241 3.084-11.791 2.706 1.841 0 .122-2.329 1.619-2.551.665.422 3.66.932 3.516-.322-.166-3.583 5.457-7.742 9.839-5.601.643-4.126 4.914-1.375 5.568-1.586-1.675-.166-.189-2.496.399-2.873.766 2.961 6.278.555 2.618-1.42 2.296-.677 3.194.832 3.494 1.797 1.386-1.886 2.961-3.638 3.793-5.879.366 1.619-.521 2.296 1.265 2.407 1.109-1.242-.011-1.375.588-2.24.477.022.798.366.91 1.131.765-5.158 7.32.322 7.808-2.152-.699.111-1.375.166-1.464-.987 2.618-.41 5.368-1.109 6.833.865.078-3.106 2.207.532 4.082-.433-.366-4.514 9.007-7.509 9.151-3.871 1.475-2.107 2.108-4.426 5.258-2.773-.188-3.583-3.993.2-5.158-1.386 1.176-2.019 6.167-1.453 7.498-3.372 1.863 1.42 3.205 2.385 3.594 4.548 1.386-.821 1.065-2.817 1.952-3.971-.688.078-1.564.532-1.841-.188 1.397-2.906 6.012-3.028 6.833.932-1.531-.255-1.098 3.394-.455 2.873.078-2.95 3.915-3.35 4.425-5.99-2.751-.288-1.231 2.329-3.583 2.329-1.242-1.83-.133-2.784-2.13-3.572 3.494-.532 5.025-1.109 7.121-2.584.322 1.287-1.32 1.231-.455 2.873 2.263.133.543-2.462 1.575-3.172 1.22.477 2.784.266 3.472 1.83 3.804-4.725 7.675-3.716 14.098-5.712.067-3.039-3.372.854-3.871-1.065 5.38-5.102 12.101-6.067 17.669-10.704.089.954-.654 1.331-.643 2.229 2.673-3.782 5.956-1.142 6.112-4.315 8.718.998 26.765-5.746 34.928-3.827 4.281-1.131 8.995-6.511 13.121-2.518 1.619-3.106 7.742-1.608 9.151-4.182-.909.044-.333-1.054.266-1.431 9.583.677 12.623-6.5 23.448-6.844-1.054-3.25-7.021 2.64-7.099-2.44-5.723.854-7.886-.943-13.055.311.643-.255 1.631-.255 1.553-1.031-.477-.055-1.12.244-1.287-.388 2.695-.222 4.292-1.242 4.659-3.139-3.949 1.475-9.129 3.305-13.344 1.741.41-3.117 8.518-1.608 8.785-3.416-3.782-.366-7.299-1.22-11.547-.732 1.364-2.473-1.753.155-1.741-2.318 2.152-2.252 3.893-1.02 5.535-1.974-.632.355-2.396-1.409-1.02-1.808 2.007.466 1.941-.299 3.982-.932.288.843-1.853 2.496.033 2.729 1.83-2.163 5.346-5.99 7.665-3.15-.155-1.265-.965-1.287-1.165-2.462 1.42-.244 2.762-.544 3.261-1.453l.455 1.952c3.15-2.13 4.548-3.616 5.801-6.134 2.041.177 9.14-.144 9.539-2.906-3.183-.288-6.6 3.915-9.561.177-7.642 2.041-17.037 2.828-21.662 5.036-2.951 1.42-7.775.655-10.404 1.741-2.629 1.142-6.422 3.793-8.84.799 2.052.943 3.605-2.03 5.845-.743 1.042-1.242-1.087-1.409.111-2.085 28.639-2.44 58.676-23.315 88.89-26.931-1.464-5.845 7.886-5.357 11.07-4.359.732-3.927 5.235-.732 5.213-3.816-1.697-1.154-5.435 1.242-6.289-1.409.1-1.209-1.486-3.671-.233-4.026 6.755-2.651 11.857 1.908 14.663-1.697-3.616.843-7.476-3.505-13.022-2.03.799-.266-.277-5.513-.666-3.272 1.52 4.359-2.529 1.32-3.372 4.104-2.007.266-2.917-1.409-3.693-3.305 1.154-3.183 6.067-3.572 7.72-6.367-.655-2.718-2.817-3.361-4.581-1.764-9.971-3.328-23.803 6.023-33.641 6.533-1.142.244-1.109-1.608-2.584-.788-4.98 1.797-12.567 7.154-18.601 3.427-3.361 1.863-6.511 1.73-10.382 2.351.177 1.775-.865 2.662-3.017 2.762.665-1.52-.244-.81-.588-2.595 1.442-.599 3.083-1.076 3.738-2.241-.932-.743-3.05.666-2.884-2.063 3.882-.854 4.547-4.049 7.931-5.235-1.165-.033-1.464-1.641-3.183-.654-1.642 4.292-7.798 5.357-7.909 10.726-1.42-.255-2.884-2.884-2.185-4.281-5.18-2.374-11.158 2.396-16.161 1.043-.566-2.396 1.597-2.851 1.985-4.57-4.259.61.222-1.863-.166-3.383-2.596 2.873-8.108 3.682-12.113 5.557-30.968-.921-61.548 15.174-90.753 18.579-7.753 3.816-16.35 6.278-21.673 8.53-2.562 3.793-8.973 7.099-12.49 6.101-1.231 1.919-7.831 3.926-11.303 5.091.743-.477-1.874-.544-2.407-1.298 4.747-1.475 8.352-1.42 8.441-5.091.765.122 1.486.322 2.063.81-.41.266-1.12.322-.976.954 4.004-.122-1.919-3.949 1.076-5.135 1.342 3.294 3.827-1.741 4.47 2.917-1.708.821-2.74-.876-2.684 1.431 5.202-1.143 9.761-3.294 12.256-4.681-2.573-1.764-5.79 2.329-8.596 2.285-.821-.688-1.198-2.207-2.007-2.895-3.439-.743-5.657 2.152-8.13-.51 7.287-4.315 6.777.388 11.968-1.209-.322.078-.787-.355-.178-.643 3.527-1.52 5.469-.91 8.441-2.939 1.553.599 6.544 3.66 5.169-1.375-2.096 1.165-4.814 2.096-6.256-.399-5.257.089-6.766 5.823-10.559 4.182 2.407-.887 3.971-2.329 4.304-4.592-2.584.244-1.154 3.128-4.071 3.161-.111-.954.655-1.342.632-2.24-2.374 1.919-6.999 4.392-8.774 1.719 4.47-2.474 8.674-3.949 11.935-6.001.2.91.787 2.429.921 1.131-.122-.433-.233-.865-.344-1.276-5.901-1.442-6.744 4.536-11.425 1.02 2.684-.311 4.426-3.117 6.888-1.886.056-3.76 5.568-5.879 8.918-5.812-9.184-2.518-13.388 6.977-20.22 9.605-1.12-2.174 3.405-3.394.499-4.969-6.888 5.912-19.211 2.961-26.365 5.213 6.2-4.159 11.935-6.799 17.858-7.01 1.841-.3-1.963-1.442.056-2.085 5.28 1.076 14.131-3.705 20.942-7.099.022.976-.399 1.265.51 1.93 2.263-5.624 9.816-3.716 13.166-6.256-.477-.033-1.142.277-1.32-.344 8.962-.776 20.486-3.838 27.807-9.362.222.854.432 1.719.655 2.573 8.307-4.725 20.897-10.926 31.933-10.193-.455-1.386-.033-2.174 1.265-2.363 24.313-4.159 51.943-17.525 76.145-20.986-.466-.022-.81-.255-.832-1.065 11.702 1.176 20.842-2.396 30.813-4.792 1.464.699 2.385 2.385 3.76 3.261-.599-2.828-1.176-1.32-2.152-4.293 5.147 1.886 11.414.244 16.061-2.163.144.654.277 1.298.422 1.963 3.006-3.161 7.42-5.014 10.981-3.915-.333-.299-.432-.987-.532-1.675 2.917-1.176 5.402-2.019 6.123.078 1.464-.932 3.616-.987 5.091.987 2.118-1.043-.721-3.172.377-4.159 22.871-1.619 55.448-9.04 77.698-14.552-19.222 2.64-40.252 5.246-61.16 11.78-.266-1.886-3.682 1.586-3.316-1.342-10.903 4.592-26.798 2.274-36.947 7.709-.255-.743-.288-1.875-.998-1.841.998 2.396-.721 2.784-1.653 3.76-1.819-2.618-5.446 1.231-8.884-1.453-.189 3.039-7.953 1.686-9.495 1.42-.411.998-.033 2.551-1.198 2.995-.865-2.318-2.817.887-4.514-1.054-1.087 3.294-4.57 2.196-7.176 3.638-1.353-3.816-4.448-1.021-7.454-.41-1.087 1.231 1.087 1.431-.155 2.085-15.262 1.697-29.26 6.699-46.098 7.964.421-.255 1.154-.288 1.02-.921-1.908-.055-.699 2.052-2.607 1.997-.366-1.775-1.276-1.065-.61-2.584-2.462 1.974-6.444 1.386-9.472 1.619-.178 2.207 1.286 1.364 1.775 2.307-1.464.078-.976 1.497-2.751 1.364-.3-1.298 1.386-1.22.555-2.873-2.917-.2-1.442 2.618-4.348 2.429-.399-3.161-3.106.011-5.28-1.453-.588 2.673-.821 2.762-.233 4.159-1.719-.2-2.984-.355-3.328 1.497-.166-.643-.322-1.298-.477-1.941-.999.854-5.025 4.459-6.4 1.575 2.717.166 4.37-3.882 8.152-1.997-1.52-5.18-11.236 3.827-14.342-.61 12.722-3.96 22.827-5.269 36.27-8.164-.033-1.176-1.253-1.453-.466-1.952 1.12.122 3.25-1.608 3.66-.189-.311 1.753-2.795-.998-2.03 1.852 2.995-.411 8.385-2.13 9.772-2.973-1.176.211-4.182-.921-2.507-2.828 11.047.666 23.127-4.403 32.455-6.189 13.532-2.485 27.408-3.816 42.304-5.956l.266 1.309c4.836-4.248 10.582-.732 14.264-5.058 1.753.255 3.483.521 4.204 2.529.954-.599 3.616.055 3.383-1.398-2.518.787-4.137.033-4.78-2.396 3.217-.965 11.979-2.385 16.128-2.008 5.002-3.594 13.887-3.217 18.302-6.467-3.838-1.287-10.748 4.692-12.567-1.531 4.015.743 6.001-4.281 10.482-2.806-.588-2.218.743-2.451 3.283-1.985 1.73-5.779 11.746-2.196 15.906-6.522 1.653 1.276 3.782 1.786 5.934 2.229-.033-2.174-2.296-.488-1.087-2.496-1.109-.177-3.316 1.464-3.66.033 11.691-3.427 20.564-6.833 32.532-9.561-1.187-6.123 6.2-2.351 7.831-4.148-3.205-2.54 4.836-1.464 7.021-1.963 5.346-1.176 10.925-4.226 13.687-5.856-3.25-2.684-5.779 2.307-9.628 1.054-.077-1.553.111-2.928 1.209-3.594.665 1.02 4.004-.654 3.228-2.618-3.15 1.453-4.991.732-7.975.1 3.139-2.54 6.999-7.42 11.58-4.115 2.085-3.35 6.622-2.74 11.513-4.659-1.642-3.405 4.148-3.283 7.931-4.049 2.462-3.472-.61-4.492 3.927-6.067-1.753-1.043-2.651 1.154-3.705-.044.677-3.283 1.242-6.633 5.613-7.021.011.954-.799 1.265-.865 2.163 3.05-.887 6.311-3.217 6.666-4.503 3.006 1.176 2.152-.621 4.104-1.375 3.095-1.209 8.385.432 9.317-3.527-2.463-1.142-5.069 1.83-6.444-1.686 2.008-2.163 4.248 1.176 4.115-1.32-2.03-1.597-7.509 2.141-8.263-1.342l3.616-.621c-.255-1.997-3.438-1.309-1.841-3.738-.821.51-3.239-.233-2.906 1.176 1.298-.344 2.008.211 2.13 1.664-1.542.322-4.88.444-7.343.566 3.561-4.614 12.977-6.134 18.801-6.433.299-1.309.366-2.795 1.298-3.583-2.815.375-5.621.763-2.216 1.695zM951.335 1643.343c-1.331-1.42 0-1.941-.965-3.25 1.242.666 2.695.588 3.505 2.695-.965.588-1.553-.122-2.54.555zm11.968 1.353c-1.974 1.342-3.217.167-4.814.222-3.128-4.825-2.862-4.991-3.716-10.06 1.198-1.353 4.537-1.941 2.718-4.381 1.043.233 2.362-.477 3.405-.244 1.897 2.618-.909 3.56-1.553 5.28 2.119 4.824 4.947 4.979 3.96 9.183zm11.236-36.248c.987-1.664 5.102-5.701 7.021-2.773-3.183.2-4.969 5.291-7.021 2.773zm39.32-7.565c-3.838 2.718-8.929-3.849-6.589-7.897 2.995.521 6.533-.721 8.474 3.272-1.397 1.708-3.97 2.862-1.885 4.625zm-.454 150.494c-.056-.976.577-1.686 1.542-2.285.311 1.109.976.91 1.675.632.432 1.442-2.618 1.93-3.217 1.653zm11.28 87.892-1.031.544c-.91-1.986-2.695-2.207-.51-3.494.676 2.04 1.918 1.308 1.541 2.95zm17.259-294.078c-1.908 1.076-2.44-2.296-4.481-.799-1.065-.865.71-2.806-1.142-2.407 2.074-2.906 3.96-3.738 6.921-5.524 1.098.455 1.764 1.875 1.431 3.006 2.074-.111 4.337-.787 6.123.022-2.774 2.408-6.955 1.543-8.852 5.702zm5.358 293.512c.41-1.808 2.13-.887 3.405-.998 1.486 2.03-3.184 3.449-3.405.998zm44.289-29.083c-.455-1.12-1.265-.954-1.697-2.13 1.254-.732 2.484-1.364 3.45-.976 1.153 1.753-.189 2.463-1.753 3.106zm142.297-46.696c.976-.244 1.642.532 2.107 1.974-.843.388-1.697.765-2.551 1.154.078-.688.133-1.364-.544-1.22-.276-.921 1.432-.888.988-1.908zm-22.505 17.891c-.577-1.043.078-1.575-.588-2.673-1.608 1.109-.843 3.206-2.673 4.215l-1.131-2.407c-1.01.377-.81 1.287-1.885 1.619-1.065.921 1.098.632.311 2.063l-2.707 1.287c-.233-.743-.621-1.02-1.098-.954.433-1.753-.022-3.871 2.363-4.803-.677-.333-1.22-1.087-1.664-2.152 1.819.61 2.518-2.562 4.614-1.453.544-.732.411-1.764-.044-2.928 4.77-1.375 7.731-2.351 12.134-4.991-1.686-.588-4.037 3.05-6.145.699-.954 1.065-1.154 2.44-3.272 3.017-.898-1.109-2.463-1.22-1.963-2.751 1.164-.788 1.431 1.453 2.484 1.031 1.198-.787.522-2.24-.843-1.819 4.714-3.472 7.254-5.036 12.578-5.901-.876 1.065-1.131 3.66-2.961 2.851 1.697 3.76 3.073.51 3.793-1.043.466.677 3.017 1.531 2.119 1.952.943 1.875-2.474 1.198-3.45 3.083 2.185 1.12 5.568-3.028 6.777-2.429-.998-1.331-2.429-2.64-.377-3.505 1.63 4.359 4.437 3.949 7.498 3.139-.155.721.067 1.619.577 2.662-6.29.367-15.873 9.862-24.447 12.191zm24.657-14.475c-.787-3.438 4.902-1.364 5.08-3.727.898-.144.033 1.276 1.054.998.199 3.195-4.293 2.052-6.134 2.729zm-78.319 88.69c-1.919-2.706 2.163-2.107 1.763-3.061 2.041.299-.144 2.751-1.763 3.061zm21.873-17.891c.566 1.353-2.119 1.331-2.884 2.107-.777-1.641 1.819-2.606 2.884-2.107zm-.1 14.808c-1.409-3.527 1.586-.965 3.394-2.374.41 1.453-2.485 1.486-3.394 2.374zm42.005-18.502c.266-.699.921-1.22 1.875-1.619.355.887.71 1.753 1.386 1.553.233 1.586-3.062 2.163-3.261.066zm93.781-50.955c.178 1.564-2.828 1.431-3.927 2.318-.266-3.405 1.709-1.642 3.927-2.318zm-13.199-1.11c1.176 2.762-1.675.388-2.851 1.919.1-1.83 1.342-1.841 2.851-1.919zm-12.711 19.001c.432 1.509.144 2.651 1.276 4.525-2.984.732-4.736-.122-8.33-.044.554-3.405 4.358-2.174 7.054-4.481zm-7.92-8.907c-.843-1.553.399-2.041 1.254-2.729.654 1.675.077 3.45-1.254 2.729zm7.132-26.809c.31.887.632 1.775 1.276 1.63-4.603 4.98-13.832 6.866-20.509 9.373-1.031 1.176 1.564 2.54 2.584 1.786.211 1.952-2.252.765-3.084 1.331-.532-1.076.078-1.564-.532-2.673-.799-1.276-2.629.843-3.849.932 4.503-9.018 13.776-7.51 24.114-12.379zm-9.251 44.39c-1.453-1.553-4.326 1.808-5.568-.51 2.961.854 3.128-3.649 6.278-3.416.267 1.563-.976 2.351-.71 3.926zm-.155-14.431c-.111-.543.255-.832-.011-1.442-6.477 2.718-6.821 3.871-11.879 7.298-4.78-5.446 7.676-9.018 10.327-10.992 2.828.722 4.258 3.051 1.563 5.136zm-7.254 9.65c1.841-.599-.288 2.828 1.553 2.229.311 2.085-1.819.455-2.274.266-.765-1.352 1.154-1.319.721-2.495zm-.965 3.316c-3.006 3.095-11.646 5.801-10.892 1.952 3.593 1.476 5.779-2.695 10.892-1.952zm-25.4-19.976c.521-1.708 2.34.843 4.048-.366-.277-.577-.821-.189-1.276-.155-.277-.921 1.409-.887.965-1.886-1.142-1.154-3.261 1.176-4.792 1.409.865-3.782 6.389-5.213 7.443-7.698 1.342.954 1.797 3.161 1.597 3.649 1.353 1.852 1.154-.422 2.551.322 1.054-1.409-2.13-.544-2.34-2.595 3.86-1.786 5.058-1.364 6.067-4.137 2.03.2.344 1.043 3.35-.721 2.074 4.137-2.928 2.307-3.583 4.437 2.828 1.841 5.712-5.169 7.465-1.031-6.776 2.073-12.611 10.114-21.495 8.772zm11.613 24.691c.333 2.052 1.575.588 2.507.333-2.352 2.784-10.46 4.736-15.152 8.463 1.065-6.134 7.853-5.369 12.645-8.796zm-16.782 15.894c-1.187-1.453.532-1.741-.022-2.939-5.302.366-8.873 4.293-12.445.743 4.27-.865 5.025-2.984 7.387-5.712 1.02.255 1.852 1.109 3.072.754-.178 1.797-.932 1.564-2.496 1.919 1.553 2.063 3.616 2.54 6.145 1.508 1.442 2.041.378 3.073-1.641 3.727zm4.037-1.176c-1.298-1.741-.133-2.207-.466-3.45 2.973-.521 3.416-1.253 6.366-2.252-3.96-1.675 4.969-4.736 6.567-3.072-3.327 4.637-10.77 4.293-12.467 8.774zm.677 2.629c-.632-2.285 1.298-1.464 2.318-1.087.533 1.464-1.885 1.298-2.318 1.087zm34.418-9.084c-.277-.632-.543-1.265-.821-1.908-7.509 5.191-16.849 9.672-25.7 10.97-.976.854 1.963 2.13-3.716 1.73-.765-1.919 1.841-2.096 3.161-2.939-.355-.876-.71-1.741-1.298-1.597 4.326-3.638 13.088-5.557 18.756-12.201 1.874-.056 3.682.067 5.246 1.298 1.242-1.142-1.142-1.83-1.32-3.05 1.087-1.02 3.339 1.398 3.272-.677 1.697-.1.965.666 1.553 2.218 2.13-2.008 3.671-3.56 5.491-3.816-.355-2.274-1.963-.277-3.028-.133.665-2.828 4.559-3.527 6.522-2.817 1.353 2.174-.655 5.047 2.296 4.071-1.298 3.095-8.785 1.375-8.729 4.503 4.426-.144 10.238-5.224 13.787-2.318-4.236 4.969-10.137 3.338-15.472 6.666zm21.34-15.606c-.377-1.131-1.154-1.032-1.519-2.252 1.797-1.453 2.296 1.198 4.082-.255-.089 1.231-1.886 1.575-2.563 2.507zm13.144-9.029c-6.844.921-12.101 3.694-18.745 5.601.543 1.098 1.885-.355 2.551.377.71 1.952-2.64 2.485-3.328.666-.932 1.852-.821 2.407.755 4.725-5.957-2.496-4.204-6.378 2.074-8.064-.81-.732-2.008-.2-3.073-.166-1.042-1.83 2.163-1.442 1.808-2.917.776-.1 1.065 1.375 1.519 2.252 4.736-2.706 4.98-3.161 10.282-5.734 1.63 2.063 2.651-1.054 4.636.998 1.198-1.131-2.141-.743-.987-2.474 3.86-.965 4.171.865 7.786-1.708-.61-1.786-3.106 2.13-3.339-.799 2.795.011 4.459-1.309 6.001-3.139.732 1.364.854 2.407.71 3.294 1.442-.366 1.375-1.542.588-3.106 2.385-1.73 3.649-.144 5.135.799-.951 5.724-12.176 4.748-14.373 9.395zm53.075-3.039c-.377-3.128 2.296-1.63 3.516-3.483.71 2.196-2.485 2.241-3.516 3.483zm17.88 6.001c-.754 3.56-1.02-1.508-2.562-.444-.155-.91 1.12-1.02 1.875-1.42.277.898.565 1.808 1.22 1.675.154.743-.411.544-.533.189zm-2.64-10.371 2.108-.81c.233.621.455 1.242.688 1.875-1.099.11-2.352.632-2.796-1.065zm2.407-1.642c-.532-1.619 1.32-1.886 2.729-2.418l.688 1.875c-1.276.554-2.53 1.031-3.417.543zm-9.373.721c.1-4.559 11.402-7.243 16.36-9.683-2.916 4.459-12.965 6.866-16.36 9.683zm33.12 8.252c-1.209-2.296-1.375-2.418-1.054-4.581 1.265.988 3.228 3.694 1.054 4.581zm1.964-2.85c-.566-.521-1.442-.211-1.741-1.497.621.211 1.231.41 1.065-.388.632-.055.81 1.109 1.519.854-.1.61-.188 1.231.144 2.085-.688 0-1.742-.622-.987-1.054zm9.749 2.096c-.133-.909 1.154-.998 1.919-1.397-.355-.699-1.165-.177-1.83-.056-.921-.976.854-2.662-.899-2.507.177-1.165 2.884 1.253 3.793 2.185-1.818.888-.698 2.197-2.983 1.775zm23.437-30.968c.255.91.522 1.808 1.187 1.697.621 1.83-2.529 2.551-3.561 1.941-.254-1.819.633-2.984 2.374-3.638zm-4.092 2.129c.422 2.418-2.196.621-4.082 2.152-.322-1.142-1.12-1.087-1.409-2.318 1.897-.122 3.849-.41 5.491.166zm-7.199 13.876c-.865-1.819 1.276-1.919 2.008-2.839l.655 1.886c-.888.321-1.776.643-2.663.953zm4.991 7.398c.677-1.775-.61-1.298-2.03-.677-.255-2.762 3.394-.81 5.014-1.098.41 1.421-2.174 1.077-2.984 1.775zm3.55-10.459c-1.02 3.682-2.229 6.578-7.132 5.391.754-2.296 5.291-1.32 4.337-6.511 4.803-.599 8.119-2.839 10.637-2.318-.666 3.771-5.08 4.991-7.842 3.438zm14.73-4.426c-2.906.51-4.415-.499-5.912 2.052l-1.087-3.15c3.228-.2 6.555-3.061 10.437-2.928-.532 2.629-3.505.876-3.438 4.026zm327.796-110.552c.111 2.385-1.775 1.231-2.795.688-.233-1.553 2.363-.976 2.795-.688zm-90.764 27.896c1.631-.299 2.773-.932 2.984-2.196.632-.011.71 1.176 1.442.976-.688.477-2.806 2.03-4.459 3.305.155-.588.299-1.198.033-2.085zm-50.301 7.964c-1.808-.965-2.973 1.497-4.06.477-.998-2.252 4.27-3.073 4.06-.477zm-108.8 56.213c-2.329-.022-4.647-.067-5.413-3.838 1.697 1.531 4.193 1.176 5.413 3.838zm111.828-73.006c.211 1.353-1.142 1.686-.943 3.039-.943-.022-1.043-1.875-2.573-.643-.444-1.853 1.985-1.83 3.516-2.396zm169.516-66.429c.41 1.985-3.339 2.385-4.37 1.708.299-2.562 3.483-1.642 4.37-1.708zm-51.211-111.539c.865 2.684-2.396 1.176-3.339 1.486-.41-1.764 2.374-2.196 3.339-1.486zm-127.057 23.47c2.362-.022 1.131 2.462 1.808 4.326-1.675.454-2.351-3.239-1.808-4.326zm-.089 4.17c.111.776-.91.832-1.564 1.12-.022-1.952-1.264-1.431-1.464-3.039 1.542-.421 1.975 1.376 3.028 1.919zm-144.482 241.27c-.333-1.098-.943-1.497-1.697-1.531-.388-1.409.898-1.819 2.274-2.174-.51 1.608.81 1.098.3 2.717 1.109-.067 2.961-1.963 3.106.344-.977-.632-2.541.167-3.983.644zm6.256-2.817c.843-2.34 1.919-1.253 3.771-1.276-.832 2.34-1.907 1.253-3.771 1.276zm-1.708-10.66c-1.031-1.808.322-2.174-.71-3.982 1.209.865 3.671-1.364 4.082 1.442.033-2.54 3.461-1.298 5.435-1.786-3.771.777-5.823 4.404-8.807 4.326zm7.509-4.603c-1.264-.754-1.653-3.572.588-3.694-.41 4.315 2.318-1.142 3.76 2.263-2.396.2-1.908.522-4.348 1.431zm8.208-6.189c.155-1.098.921-1.819 2.307-2.163.721 1.841-1.22 2.862-2.307 2.163zm4.825-9.295c.987-1.608 2.108-.643 4.159-2.063.577 1.941-3.094 2.651-4.159 2.063zm4.492 2.728c1.143-2.74 2.229-2.95 4.969-5.135-.477 1.265-3.006 3.272.266 2.718.123 2.972-3.372 1.419-5.235 2.417zm5.613 10.061c1.509 2.507-3.549 4.171-3.793 1.253 2.118-.122 2.162-2.296 3.793-1.253zm-2.341-16.738c-1.198-2.263 2.318-1.653 3.416-2.518.211 2.341-2.24.555-3.416 2.518zm1.509-154.054c.355-.654 1.076-1.076 2.085-1.342.921 3.194-8.94 2.828-2.085 1.342zm2.451-4.237c-.566-3.35 3.283-3.938 5.513-4.47.843 3.117-2.718 3.56-5.513 4.47zm8.663 148.664c.155-1.276.333-2.54 2.141-2.784-.155.677-.3 1.353.399 1.276.521 1.352-1.853.909-2.54 1.508zm5.834-2.552c-.532.189-.188.91-.155 1.442-1.763-.044-.909-.754-1.342-2.363 1.531-.998 1.952.577 3.494-.422.022.634-1.376 2.785-1.997 1.343zm11.036-9.106c.244-.699.144-1.619-.244-2.717l2.207-.699c.322 1.752-.787 2.606-1.963 3.416zm3.483-.41c.255-2.063 1.242-1.154 3.472-2.451 1.187 2.284-2.363 1.608-3.472 2.451zm2.008-134.955c-.133-1.298 2.596-.832.954-3.061 4.259-.854 6.3-3.061 9.905-4.326-3.838 4.071-6.112 4.803-10.859 7.387zm9.339 128.688c1.254 2.595 2.485-1.409 4.248.078.444 2.174-2.873 1.974-4.581 2.806-1.797-1.985-.155-3.394-1.741-5.734 6.855-1.741 10.992-4.958 18.035-4.159-3.893 2.506-9.849 3.337-15.961 7.009zm26.443-12.268c1.076-.61 1.597 0 2.407-.011-.743.876-1.242 2.928 1.12 1.741-1.608 1.586-5.313 1.919-8.108 3.106.144-3.605 5.746-.987 4.581-4.836zm3.339 1.098c.178-1.276.377-2.529 2.207-2.74.244 1.664-1.031 3.495-2.207 2.74zm-.721 3.683c2.429 1.043 4.902-1.464 7.199-2.141-.877 1.198-4.781 5.502-7.199 2.141zm6.433-6.777c1.131.666 2.551.699 3.882.932-.244 1.475-4.059 2.008-4.98 1.486-.665-1.475 2.629-.4 1.098-2.418zm1.686 5.745c.532-2.862 3.073-1.231 5.158-2.928.399 3.305-4.515 1.187-5.158 2.928zm12.578-138.836c-.155-2.584 2.174-1.131 3.838-1.797.31 2.274-2.485 1.775-3.838 1.797zm5.668 129.242c-.499-1.364 1.874-.865 2.584-1.442-.299-1.42-2.052.266-2.95.166.932-2.396 2.374-1.209 4.437-1.287-.777 1.687-1.986 3.073-4.071 2.563zm10.171-2.241c.577-1.142 1.719-3.05 2.961-2.24.123 1.608-1.386 3.283-2.961 2.24zm4.637-4.791c-2.362.932-4.06 2.784-7.032 2.718.121-2.863 5.091-2.363 7.032-2.718zm5.823-141.332-.521-1.93 2.296-.632c.643 1.652-.222 2.329-1.775 2.562zm60.295-22.395c-3.339 1.276-5.479 4.625-9.351 4.514-1.176-2.385 2.939-1.287 2.973-2.851-.621-.765-1.464.721-3.05.122-4.215 8.141-16.449 6.533-24.79 9.339-6.833 2.274-11.99 6.833-17.203 7.432-.555-.544-1.508-.288-1.675-1.597-1.519 2.307-4.437.788-6.921 1.908-1.353-1.875.222-1.797-2.651-.643.743-1.531-.388-1.63-.887-3.206 1.431-.876 1.475 1.009 2.263 1.442.555-1.231 1.453-2.252 1.431-3.849 1.264.122 1.852 1.586 3.017 1.93 1.12-.521.654-2.052 1.775-2.573-1.73-1.797-5.457 1.276-7.786-1.276-3.05 3.66-1.52 8.796-6.389 10.726.754 1.464 2.573.821 3.993.965-3.427 4.326-8.707 1.697-10.815 5.757-.943-.433-2.318-.022-2.84-1.287-1.508.876-4.326 4.492-5.568 2.285-1.065.388.189 2.24-1.187 2.418-4.98-3.073-11.103 5.036-15.872 3.161-2.019 3.694-9.04 5.047-11.691 4.747-1.664 5.734-12.778 6.888-17.758 5.246-4.337 1.586-3.394 3.106-7.454 4.292 1.275-.177 4.237 1.32 4.381.089.599 2.385-2.229 2.828-6.3 3.96.089-.022.388-.932.965-.987-6.167.632-15.662 11.28-24.569 5.346 2.385-.632 4.359-1.531 5.324-3.028-1.02 1.442-8.385.399-7.986 4.536-1.697.865-2.562-.078-3.427-1.031-.255-1.542-.544-3.095 1.509-3.25-.233-1.586-2.484 1.154-2.285-1.375 3.672-1.242 6.333-.299 10.094-1.708-1.686-.943-4.259-.743-8.008.366 7.31-5.923 12.512-8.152 22.117-9.506-.91-2.906-4.093-1.065-5.335-3.283 6.489-.444 9.461-5.59 13.976-5.535l.377 1.276c.666 1.287-.455 1.464-1.353 1.786 1.586 1.608 2.95-1.276 1.553-3.228 1.886-.588 2.54-1.93 4.98-2.174.322 1.42-1.042 1.797-2.496 2.119 2.507 2.218 5.579-2.329 8.053-4.47 1.764-1.597.976 2.074 2.285 1.409 1.863-1.974 14.153-5.901 17.436-4.37 1.265-1.253 1.442-1.841.244-3.527 1.963-.976 3.316-.699 4.004.921 1.32-3.838 5.601-2.24 8.818-1.83 2.03-.654-1.819-1.775.044-2.085 1.453-.455.832.266.932 1.109 2.163-.566.965-3.25 4.071-3.239-.033 1.741.211 3.638 1.043 5.934 1.242-.444-.521-2.795-.51-4.015 2.307-1.32 2.729 1.165 4.57.765-1.609-2.54.976-8.042 3.904-3.871-1.853 1.065-2.64-.033-3.816-.299.499 1.575 1.63 1.675.887 3.205 2.285-2.573 2.917-1.076 5.956-.976-.189-1.553.699-3.86-1.609-5.768 2.096.466 4.47.366 6.489.976.388 1.653-1.575 1.808-3.117 2.229-.965.433 1.531 2.152 2.041 2.895 1.209-.721-.976-.81.055-2.096 1.409-.166 2.44.422 4.215-.466 1.309 1.009.178.832.71 2.573 3.128-2.917.222-6.866 4.193-7.376-.477-.721-1.098-1.12-2.085-.81 4.936-7.176 16.349-2.074 20.287-7.687 2.207.91 1.287 1.83 3.073-.133 1.897 2.862.055 4.536-1.619 6.389a12.683 12.683 0 0 0 2.008-.288c-.1 2.185.188 1.775 1.431 3.05 1.819-1.154-2.529-3.283-.621-4.647 1.353 1.575 4.536-2.496 7.875-.721.754-.433-.255-1.131-.92-1.12.521-1.874 2.606 1.353 4.392.2-.577-.488-1.32-.688-2.074-.821-.133-2.03 1.398.288 2.318-.621-.189-.61-.843-.299-1.331-.333-.244-1.753 2.795-1.364 2.961-2.851 1.242 1.043 3.827 2.396 4.237-.432 8.341.921 16.693-1.165 24.602-3.05l.488 1.93c4.98-3.849 10.438-3.694 15.928-5.435-2.931 5.856-10.862 4.048-16.929 6.377zm17.414-4.437c2.762-4.914 12.401-4.991 16.937-6.378-2.717 5.846-11.502 3.561-16.937 6.378zm259.837-85.129c-.388 1.564-5.135 4.326-5.346.987 2.54.188 2.385-.51 5.346-.987zm23.748-23.038c-.022-1.919 1.963-2.274 3.161-3.239.033.776.333 1.142.821 1.209-.366 1.442-2.074 1.819-3.982 2.03zm25.455-25.877c-1.852.621-2.329-.865-4.337.022-.022-.787 1.021-.743 1.708-.965-.033-.776-.322-1.142-.81-1.22.144-1.464 3.627-1.187 4.237-.666.201 1.309-1.518 1.098-.798 2.829zm-150.449 104.374c.111.1.255.155.444.144-.144-.055-.289-.111-.444-.144zm-59.064 10.992c.366.011.799-.111 1.209-.177-.399.055-.798.11-1.209.177zm-112.704 179.233c-.144-.499-.31-1.031-.443-1.531-.056.699.11 1.198.443 1.531zm-60.007-146.712c4.159-1.287 7.542-.444 10.97-.61-.388-1.065.067-1.575.011-2.429-2.917.277-8.108-1.32-10.981 3.039zm-7.065 1.264c2.717-1.153 3.926.71 6.666-.466-1.653-.654-3.838-.277-5.723-.488-.355.3-.677.622-.943.954zm-481.452 274.09c.011.1.077.255.211.488a1.613 1.613 0 0 0-.211-.488zm-106.459-277.461c.188.033.388.033.61 0-.222-.167-.444-.211-.61 0z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M726.936 969.037c-.177-.111-.366-.211-.543-.322.166.234.344.333.543.322zm-230.499 108.101c.056.1.1.2.122.288.044-.121.056-.232-.122-.288zm.078.389.056-.056c0-.011 0-.022-.011-.033-.012.022-.034.055-.045.089zm-33.864 46.13a.697.697 0 0 0 .211-.166c-.111 0-.189.044-.211.166zm1078.636-128.798c.211-.61.422-1.209.632-1.808l-.2-.41zm-1.353 7.032 1.353-7.032a88.415 88.415 0 0 0-2.096 7.221c.288-.011.532-.078.743-.189zm10.981 303.207-.976.322c.477.143.92.21.976-.322zm-7.82-309.595.188.388c.133-.133.288-.244.466-.344-.244-.067-.466-.089-.654-.044zm-200.13 244.064c.022-.022.033-.055.056-.078-.011-.011-.022-.033-.044-.055-.001.044-.001.089-.012.133zm-.277-.433c.122.1.222.2.289.3.021-.144-.023-.266-.289-.3zm-26.177 60.784a.968.968 0 0 0 .244-.233c-.166.022-.266.088-.244.233zm639.699-32.455-242.312-497.08c-38.766-79.506-114.479-134.566-202.049-146.933l-508.993-71.908-242.955-34.318c-99.682-14.087-197.124 37.468-241.569 127.789l-246.127 500.164c-34.185 69.457-2.107 153.322 69.701 182.239l580.912 233.916 447.111 35.982 337.735-96.344 3.206-.909.71-.211 1.697-.477 3.738-1.065c167.147-47.685 161.062-45.58 171.502-49.813 73.006-29.318 103.542-107.515 67.693-181.032zm-1313.472-64.388-91.63-51.865 119.437-243.321-27.807 295.186zm899.181-210.024 130.373 271.173-121.378 40.873-.976.322-.421.144-73.095 24.613c68.287-351.991 64.188-333.402 65.497-337.125z\",\n fill: \"#d2e23d\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#c0d625\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M1713.676 1498.295c-.167.466-.3.81-.399 1.076l3.738-1.065c-.755-.233-2.219.632-3.339-.011zm207.573-82.967c-1.63.51-2.185-.41-2.973-1.021 2.795-2.518 2.573-.044 5.28-1.087-1.63.044-2.396-.499-1.287-1.764-4.037.055-9.361.499-12.046 1.653-2.13-2.607-8.807 2.629-10.415-1.531-1.808.222-.211 2.407-2.229 2.496-1.519-.299-2.762-.976-4.381-1.142-.976 1.542-3.727 1.464-4.559.122.577-.122.255-.765.721-.954 1.919.921 6.311-.366 7.919-1.63-3.205.61-7.465.521-10.127 2.074.532-.044 1.231-.322 1.409.122-1.309.167-1.176 1.165-2.485 1.32-.455-.799.987-1.486-.677-1.076-.51.51-.654 1.231-1.519 1.531-3.106-.577-7.664-.311-10.293 1.298-4.659-2.44-12.29 3.494-14.098-1.586-3.372 1.608-6.955 2.507-10.726 1.386-.821.211-.034 1.353-1.076 1.442-4.004-1.642-8.718 2.884-13.21 2.706-.044-1.608 4.492-.521 2.762-2.196-5.956 2.817-11.724.71-16.616 1.786-.033-.932 1.852-.776 1.442-1.93-1.353.377-4.47.277-6.167 1.265-.255-.499-.787-.621-.765-1.464-3.084 1.586-6.245.444-10.016.422-.422 1.009 1.442 1.231.333 1.564-.887.177-1.764.355-2.64.544.455-.643.266-1.586-.776-1.475-3.627 1.431-8.474 1.342-11.635 3.605 1.02-1.719-1.22-.122-1.398-.122-.078 0-.089-.776-.167-.776-7.076-.488-19.854 6.056-23.404 4.404.932.754-1.442 2.895-3.283 1.886-.543-.998.71-.954.555-1.741-10.515 2.884-22.383 4.37-34.773 7.132.366.022.876-.166.965.222-5.934.677-8.629.078-13.366 1.919-4.526.255-12.678 2.385-15.052 2.684.444.155 2.684.311 1.564.909-5.235-1.575-9.295-.677-15.883.81-.887-1.752-5.657-.832-5.291 1.087 1.475-.067 2.196-.577 2.473-1.32.677.432 2.329-.455 2.097 1.198-2.252.433-9.184 2.296-5.968 0-6.533 2.817-9.206.355-15.052 2.684-1.874-3.561-9.483 1.242-9.372-.932-1.42 1.298-3.96 1.62-5.89.399 3.605-1.786 6.389-1.586 8.563-2.984-1.431.422-2.695.61-3.25-.144-1.686 1.686-3.683 1.885-5.723 1.165.432 1.73-1.73.599-2.196.455-.277 1.375 1.486.011 1.209 1.386-2.74 1.242-6.356 1.364-9.483.721.799-.222 1.409-.555 1.597-1.142-2.34 1.076-5.535-.455-5.568 1.952.965.055 2.795-1.065 3.172-.233-3.05 1.32-5.457 1.32-7.653.754.588-.078 3.206-.599 1.686-.754-2.13.033-2.551 1.054-3.804 1.597-5.025-1.941-8.03-.277-12.9-.211-.3 1.542-3.028 1.686-5.025 2.263-.1-.555-.388-.821-.688-1.087-.344-.998 1.641-.654.998-1.841-1.819.266-5.679 1.719-8.618.555-.932 1.032-6.067 3.017-7.199.655 3.006-.976 5.613-1.974 7.476-1.531.211-1.42 9.228-1.12 8.042-3.283.499.499.91 1.109 1.997.81.51-.743 1.764-1.575 2.596-2.973.366 2.839 2.362-1.852 3.328.543 1.486.056.699-1.209 1.52-1.542 1.265.144 1.985.998 3.405.932 9.395-5.036 21.451-3.849 31.168-6.81-2.296.078-5.069.799-6.489-.288.743-.266 2.418.643 2.64-.544-.843-.2-2.229.311-2.806-.244 2.241-1.154 4.259.599 5.002-.211-2.573.322-.188-1.497-.321-1.564-.998-.488-2.119.843-3.771-.444.055.754.677.754.777 1.464-.932.078-1.087-.876-2.019-.81-5.302 5.235-15.606 3.505-22.395 7.043-.787-1.93-2.118-.566-1.752.366-2.118-.189-2.596-.954-3.572-1.719-1.287 3.006-7.243 1.22-9.361 3.561-3.184-1.819-8.796 2.152-11.88 2.44.355.011.577.211.599.688-1.519.488-2.374 1.12-3.605.333.843-1.165.943.41 2.285-.067-3.738-2.141-8.352 1.076-13.088 1.054-.566.71-1.542 1.176-2.396 1.719-1.043-.932-3.427-.067-5.446.3-.1 1.209-.688 2.13-2.751 2.207 2.817 2.229 6.822.677 9.572-.344-1.231 1.808 1.264 1.575-.311 2.917-1.575-1.764-7.376.621-9.816.887.71-.033 1.386-.011 1.453.832-1.331.288-3.549 1.83-4.847.998 2.274-.177 1.431-1.741 3.083-.632-1.087-1.043-2.351-1.841-4.093-2.019-.078 1.276 1.619.166 1.287 1.775-.444.089-.455.433-.799.577-.821-.965-4.891.555-3.927-1.242-3.072 1.298-7.897 1.952-9.65-.055-5.169 2.008-9.14 4.004-14.719 4.248-.2-.566-.144-1.475-.777-1.475-.166.943-1.331 1.298-1.863 2.019-.422-1.331-1.187.277-1.486-.51.599-.222.322-.965.632-1.353-.998.333-1.708.277-2.274.055-.089 1.276 1.609.177 1.287 1.775-1.109.167-1.242.898-2.041 1.231-1.997-1.098-4.148 2.008-7.565 1.154.033-.555.477-.876.111-1.653-1.586.455-1.187 2.063-2.673 2.584-.011-.588.588-.81.643-1.353-1.597 3.283-7.42 1.231-8.862 1.42.488 0 1.154.422.577.688-7.265.699-13.188 2.806-19.81 4.071-.133-.433.51-.743-.155-.788-2.928.943-17.281 8.452-15.406 3.161-.366-.022-.876.166-.965-.211.51-.166 1.265-.188 1.242-.654-1.486-.344-3.771 1.364-5.557 1.952-.555-.433-.976-1.032-1.653-1.298-2.695 3.416-5.79-.41-8.885 1.42-.344-.998 1.642-.654.987-1.83-3.849 4.126-12.046 2.939-18.146 5.357-.366-1.009 2.54-.144 1.508-1.542-4.359 2.03-13.221 2.429-18.756 4.67 1.087-1.464-1.741-.2-2.097-1.198 3.328-3.416 7.953-1.886 12.722-5.058-.366-.521.089-2.13-.854-1.863-.665 3.927-6.589 2.862-9.994 4.903-.311-.577-1.453-.044-1.209-1.386-2.95 2.962-9.816 3.793-15.318 3.56-.954 1.974-4.359.621-6.433 2.13.832-.776.233-2.385 1.708-2.795.721.921-1.009 1.963.765 1.475-.022-2.995 6.09-2.229 7.077-3.483-1.154.133.455-.799-.333-1.564-1.664 1.464-3.605.643-5.036 2.252-1.164-.943-4.803-1.375-2.928.299-1.985-1.486-4.936.732-6.811-.743 4.858-.677 6.245-2.817 9.805-3.638-2.362-.932-3.383.056-5.446.3-.133-.544.033-.91.2-1.265-6.422 1.087-10.593 2.363-15.906.81.033.477.311 1.098-.188 1.264-3.161-1.032-8.274.732-11.169 1.475.543-.055 1.065-.089 1.042.599-1.919.421-4.148 1.231-4.647-.266-.987.355-.055 1.797-1.431 1.93-1.542-.599-2.474-2.019-4.17-2.407 1.697 1.242-5.491 3.538-4.049.422-2.795.311-4.059 1.775-6.411.1-.654.876-1.154 1.852-2.229 2.485 1.076 3.694.244 4.326 1.031 7.132 2.174-1.32 3.794-2.13 5.091.177.266-1.142 3.816-1.808 4.836-.987 2.496-3.084 7.309-.588 11.968-2.052.144 1.941 1.564.155 2.606 1.497-1.553.477-2.839 1.12-4.237 1.686.377-1.342-.388-1.497-1.364-2.163-.377 1.276-2.684 1.442-3.527.721-.177 1.741 2.008.322 2.529 1.109-1.586.921-3.583 1.608-4.958 2.651-1.298-2.008-4.526-1.209-6.4.089-1.065-.732-1.087-.865-.411-1.952-3.716 2.54-8.829 3.028-11.968 2.052-.577 3.095-4.903.067-6.156 1.264.676.089 1.198.388 1.564.898-1.409 0-1.154.943-2.562.932-.211-1.542-1.93-1.076-3.05-1.409-.266.81 1.597 1.032.333 1.564-3.804.333-5.28.311-7.842 2.019-.654-1.209-.51-2.385-3.139-1.808.177.677.166 1.242-.111 1.653a.192.192 0 0 0 .078.011c-1.475 0-2.862-.366-3.982 1.142-.843-1.664 1.364-2.13 2.707-2.529-2.906.422-5.491-3.461-6.056-.388-4.559-.055-7.831-1.054-12.7-1.475-.011-.577.588-.81.632-1.353-2.484-.333-3.294 2.762-4.037.422 2.141-.488 4.781-.677 5.557-1.952-.832.111-1.531.044-1.93-.422 2.13.521.1-1.597 3.804-1.597-.665-1.409 1.032-1.464.832-2.618-1.187-.41-3.039.078-3.849-.843 3.183-1.83 5.346-1.985 7.642-.743-.599.344-2.374.011-2.118.843 2.385-.721-1.254 1.697 1.131.987.965-1.875 2.518-2.252 3.904-3.25-.566 1.764 1.786-1.464 2.884.632.677-.532.621-1.475 1.442-1.919 3.927 1.775 10.537.1 14.209-.078-.743-.322-2.041.078-2.085-1.198.444-.089.455-.422.799-.566 1.719 1.464 4.259-1.087 5.246.954 2.263-.499 2.097-.843 3.605-.333.222-.943-.61-1.775 1.875-2.008.033.821-1.031 1.009-.998 1.83 3.505-.555 9.484-3.305 12.057-1.653 4.481-7.199 15.218-.621 18.956-5.934.111.51.843.2 1.043.599-1.198 0-1.553.488-1.076 1.442 2.207-.577 2.163-.388 5.446-.3-1.109-2.019-4.459-1.02-6.023-2.429.798-.921 3.172-.932 4.758-1.386-.799-1.021-4.77-.244-5.967 0-.056.011.033 1.309-.632 1.353-.621.044-1.364-.865-2.008-.81-3.017.222-6.91 3.073-8.962 1.021 1.597-.1 2.196-.799 2.396-1.708-7.176 2.374-11.946 2.141-20.243 4.148-.089-.388.255-.532.266-.865-2.673 1.464-6.134.643-8.996 3.072-.011-.588.588-.81.643-1.364-1.775.699-3.139 1.642-4.514 2.562.732-1.131-1.742-.998-2.252-1.985.255.832-.1 1.32-1.076 1.442-1.098-.355.355-1.065-.688-1.076-2.163.921-4.703 1.653-6.278 2.917-.166-.71 1.985-1.786.477-2.141-2.352 2.596-10.338 1.287-13.011 1.453 1.398.211-1.109 1.531-1.675.754-.388 1.098 1.985.865.754 1.475-.91-1.42-3.572.288-4.204-.366-.976-1.242 1.453-.544 1.076-1.442-1.963-.521-4.171-.743-6.566-.688 3.782-2.551 12.545-1.142 17.714-5.269-.555-.843-1.852.721-2.551.932-.832-2.518-1.575.1-2.884-.632.444-3.383 4.769-.754 6.433-2.141-.543.078-1.065.111-1.042-.599.444-.089.455-.421.799-.566 2.806-.311 7.975.122 7.842-2.019 2.185-.255 4.426 2.052 6.134.776-2.429-.244-4.725-.666-6.023-2.429-.078-.555 3.117-.887 1.597-1.142-2.939 1.919-4.182 1.952-7.243 2.706.466.555 2.141-.532 2.008.81-1.353.155-3.328 1.131-3.683-.055 1.154-.887-1.087-1.919-1.12-.987 1.265.1-.066 1.509-.555 1.73-.211-.555-1.142-.133-1.841-.022-.111-.688-.355-1.198-.765-1.475-1.376.244-2.008.91-2.917 1.42-6.045-.998-13.044 4.747-18.657 4.658-.887 1.298-3.305.765-2.95 1.808-.577-.266-3.117-.421-3.161.244.41.621 2.085-.466 2.362.333 0 .455-.355.699-.71.954-1.375-.821-1.464-.244-2.64.543a54.358 54.358 0 0 0-1.564-.898c-2.629 1.142-3.849 1.265-6.444 2.141-.133-.544.022-.91.188-1.264-1.087.632-2.152.865-3.161.244 1.198-.688 1.996-1.608 2.673-2.584-1.797 1.021-4.991 1.242-5.313 3.128.832.067 1.597-1.52 2.207-.455-1.276.632-2.351 1.386-3.205 2.285-.078-.71-.621-.821-1.475-.51.765-1.187-.954-2.052-1.897-2.462.011 1.486 1.275 1.298 1.464 2.551-2.119.089-.344.71-1.165 1.054-2.218.632-2.795-.91-4.725-.666.255-1.331 1.997-1.83 2.584-2.973-2.529.266-2.396 2.052-4.514 2.551-.144-.987.588-1.386-.766-1.464-2.274 2.984-8.075 3.339-11.469 4.392.787.843 1.176-.976 1.841.022 0 .577-.876.643-1.165 1.065-.432-.91-1.875-.488-1.808-2.074-2.185 1.897-5.113 1.253-8.197 2.496-.532-.499-1.675-2.706-2.529-1.12.543-.056 1.065-.089 1.042.61-1.775.754-3.072 1.02-6.078 1.653-.854-2.684-4.437-1.719-6.544-2.729-.854.754.754.832-.189 1.253-4.914-.987-7.62-.244-13.776-.022 2.751-1.22-2.873.033-1.209-1.386-1.597 1.131-4.526 2.318-6.023 2.207.377.388.499 1.597-.089 1.497-1.043-.51-.421-1.42-1.919-.422-.033-1.464-.621-2.174-1.819-2.074-.555.366.255 1.52-.555 1.741-1.486-.344-1.775.011-2.795-.244.588-.333.943-.821 1.076-1.431-1.409.566-.887-.665-.688-1.087-1.431-.078-2.85-.189-3.849-.843.411 1.919 1.719 2.662.898 4.304 1.431-.089 1.597 1.531 2.329 2.374-6.456 1.542-15.385 1.786-21.585-.055.599-1.431.344-2.584-1.176-3.427-1.098 7.942-11.302 1.142-16.316 5.391-.167 2.296.865 2.318 1.42 4.603-3.527.366-3.893 2.573-5.069 4.292-2.463 1.231-3.66 1.087-6.433 2.141-.155-.466-.322-.898-1.043-.599-1.131.599 1.32.488.843 1.863-2.939.876-2.906 4.747-5.945 4.481 1.32 1.963.699 3.427.466 4.392-.122-.51-1.331-.244-1.331.266.732-.022.089.566-.799.577.821-.821-2.817-2.507-2.884-.632 1.719.444 4.636.544 3.815 2.884 1.52-.532 2.34-.133 2.895.632a9.958 9.958 0 0 1-1.442 1.919c.565.743 1.486 1.021 2.174 1.597-1.73 1.608-6.511 3.749-9.328 1.509-1.653.876-2.884 4.67-5.036 2.263.577-.244 1.864-1.209 2.229-2.507-1.752.344-3.505 3.261-5.202 1.486 3.106-3.305 8.574-5.967 13.876-6.112-3.672-1.52-9.35 1.453-13.399 3.971-2.041-.532-6.1.754-8.197 2.496-1.076-.055-1.453-1.054-2.529-1.109-3.305.799-10.082 6.034-10.726 1.386-1.697-.288.011 1.375-1.076 1.442-.843-.2-1.686-.41-1.73-1.686 3.56-4.37 9.239-7.509 13.166-11.669-1.42-.765-3.328-.876-3.816-2.884-9.805 1.897-11.402 12.023-21.451 13.776 2.218 3.372-1.586 5.812 1.364 8.696-.777.122-1.353.366-1.686.754 1.131 3.017 2.329 5.047.677 7.598.144.643 1.265-.033 1.486.51-1.486.3-.865 1.797-1.276 2.706.388.488 1.708-.288 1.93.422 3.627 8.286 7.243 12.09 13.022 20.564 3.849 1.165 6.123 4.448 9.916 5.712-.776 1.786 2.795 2.895 1.941 4.903.976-.322 1.675-.255 1.919.41-1.021.1-1.63.433-1.597 1.154 2.074-.787 1.198 1.63 1.298 1.775 1.863 2.773 5.99 4.481 7.598 7.809-4.425 2.385-10.027-1.741-13.532 1.142-1.797-.754-4.37-.466-5.135-2.607 1.375-.355 2.562-.81 2.307-2.107-3.316-.876-6.788-1.553-11.214-.954-1.353-3.361-6.877-1.109-10.415-1.531-.155-.776 1.098-.743.555-1.752-4.592 1.531-10.67 1.963-15.728 1.608-2.695-4.204-12.39-1.231-13.61-5.779-2.207-.033-4.57.133-5.768-1.253.2-2.074 1.564-3.461.532-6.223-1.575-1.886-5.235-.998-7.332-2.163.166 1.475-2.252 3.272-4.082 2.463.144-.843 1.154-1.176 1.442-1.93-2.218-1.985-2.207-4.004-4.037-6.101-1.431.433-3.55 1.409-4.204-.355.732-.399 2.063.765 2.196-.455-1.409.233-1.608-1.176-2.961-1.021.532 2.618-1.73.466-2.651.543-1.076 1.142.621 1.875-.222 3.305-5.446 1.409-10.925-5.302-13.943-.81.688.433 1.997 0 3.172-.233 3.549 2.729 7.897 4.403 12.268 6.034-.022.555-.466.876-.111 1.653 1.486-.521 2.13-1.52 3.727-1.985.754.654 1.531 1.276 3.328.543-1.431 2.163 1.697 1.42 1.963 2.862-1.298.865-1.087.998-.388 2.518-.876.188-.333 1.187-1.597 1.142-4.126-.122-8.951-.51-14.131.455 2.44 2.24 6.844 1.819 10.227 2.795.077 3.616 1.93 4.337 4.991 6.311 1.519.189.067-1.331 1.597-1.142.377.665.854 1.287 1.364 1.875l318.846 25.655 49.791-14.198 287.944-82.146c.954-.499 1.941-1.087 3.206-.909.288.033.599.111.932.255a1.202 1.202 0 0 0-.222-.466c-1.508-2.041-8.463 2.717-10.393.2 9.661-2.485 17.226-3.361 27.363-5.213.033-.71-.865-.865-.244-1.176.821.067 2.485-.998 2.729-.144-.311 1.065-2.03-.577-1.597 1.142.244-.033.51-.078.799-.122l6.256-1.786c-.987-.033-2.562-.654-1.386-1.708 4.337.133 8.973-.71 13.421-1.73l124.55-35.527c.111-.033.211-.067.322-.1.177-.166.643-.277 1.253-.366a148.919 148.919 0 0 0 13.865-4.825c-2.074-.543-3.86 1.897-6.411 1.364-.044-.932.1-1.775.91-2.218.488.588 2.961-.566 2.396-1.719-2.329 1.009-3.682.654-5.89.399 2.329-1.675 5.202-4.758 8.563-2.984 1.542-2.119 4.88-1.974 8.474-3.372-1.209-1.974 3.061-2.185 5.834-2.828 1.808-2.207-.455-2.684 2.873-3.849-1.287-.543-1.941.821-2.729.155.499-2.019.898-4.06 4.104-4.514.011.577-.588.81-.632 1.353 2.241-.688 4.625-2.241 4.87-3.039 2.218.566 1.575-.477 3.006-1.02 2.263-.865 6.145-.177 6.799-2.618-1.819-.555-3.694 1.398-4.736-.665 1.464-1.409 3.117.477 3.006-1.021-1.486-.832-5.479 1.686-6.056-.388.887-.177 1.764-.366 2.651-.543-.2-1.198-2.529-.632-1.376-2.163-.599.344-2.374.011-2.118.843.943-.266 1.464.033 1.564.898-1.12.266-3.56.499-5.357.699 2.618-3.006 9.96-4.415 13.665-4.847.211-.799.244-1.697.92-2.229-2.048.376-4.089.775-1.593 1.141zm-313.378 24.79c-.754 1.287-3.161.588-4.415.91.611-1.098 3.406-.932 4.415-.91zm-233.971 35.794c.022-.688-.499-.654-1.043-.599.677-1.153 1.875.832 3.073-.621.033.466.255.677.61.688-.821 1.009-.987-.666-2.64.532zm-41.395-6.977c-.488.71-2.052 1.575-3.006 1.02.012-.92 2.141-.61 3.006-1.02zm-21.063 11.247c-.266.422-.288.976-.111 1.653-1.298.566-1.065-.898-2.362-.333-.167-1.009 1.308-1.076 2.473-1.32zm-198.044 51.666c-.599-1.032.399-1.143.022-2.052.699.566 1.708.721 1.808 2.074-.777.211-1.02-.288-1.83-.022zm7.065-3.494c.444 3.139 2.329 3.616.787 5.956-1.63.51-2.229-.344-3.328-.543-1.109-3.272-.899-3.328-.422-6.433 1.098-.632 3.483-.51 2.751-2.196.654.277 1.697.044 2.362.333.745 1.807-1.351 1.962-2.15 2.883zm15.928-13.865c1.009-.843 4.625-2.673 5.357-.699-2.218-.299-4.47 2.463-5.357.699zm28.595.654c-3.216 1.131-5.413-3.416-2.995-5.502 1.974.688 4.681.399 5.224 3.006-1.309.833-3.327 1.188-2.229 2.496zm30.547-29.515c-1.542.41-1.253-1.653-2.961-1.009-.577-.643 1.042-1.586-.333-1.575 2.019-1.464 3.494-1.73 5.912-2.429.676.388.876 1.32.41 1.952 1.486.177 3.195.055 4.293.743-2.419 1.098-5.181.078-7.321 2.318zm16.382-9.472c-.432-1.054 2.462-.188 2.03-1.231 1.143-.355.665 1.442 2.008.81-.744 1.818-2.318.11-4.038.421zm77.898 12.545c-.2-.688.366-.943.111-1.653 1.176.699 1.697-.488 3.084-.632.277 1.53-1.609 1.819-3.195 2.285zm22.406-24.58c.266-.765 1.198-1.143 2.485-1.32-.134.932-1.798 1.73-2.485 1.32zm.587-3.782c.655 1.431-1.797 1.941-1.763.355.588-.111 1.176-.244 1.763-.355zm-8.917 3.46c2.241-.388 4.182.743 5.879-.399.51.499.677 1.442 2.008.81-2.085 2.307-6.478 1.12-8.718 2.196.653-.654.919-1.52.831-2.607zm-9.595 24.391c.244-1.054-.022-.865-.044-2.44 2.307.843 6.7.754 7.121-1.054.799-.067 1.142.466 1.209 1.386 1.209-.61.377-.688.111-1.653 1.309-.089 1.398 1.464 2.606 1.497-3.449 1.932-6.854.235-11.003 2.264zm10.926-2.662c1.586-1.331 3.66-.344 5.646-1.564.078.399.155.787.244 1.176-1.964 1.353-3.339.388-5.89.388zm9.428 3.372c1.608.776 2.629.399 4.204.355-.677.876-4.626 1.908-4.204-.355zm12.811-.188c-.71-.2-1.763.044-1.641-1.287.854-.011.666 1.386 1.919.843a3.15 3.15 0 0 0-.278.444zm4.78-1.697c.799-.233 1.154-1.32 1.664-.433-.554.299-1.12.41-1.664.433zm52.565-18.224c.477-.621 1.52-.832 2.196-.455.377 1.264-2.052 2.263-2.196.455zm2.573 10.071c-.654-.133-.998-.666-1.22-1.386.444-.422 1.076-.754 2.119-.843.465 1.186-.966 1.286-.899 2.229zm4.559-.122c-.266-.3-.532-.61-1.042-.599-.167-1.009 1.597-.91 1.431-1.93.51-.022.322.344.078.399.089 1.054 1.775-.044 1.653 1.287-1.1.056-.812.91-2.12.843zm2.562-.932c-.388-1.231 1.619-1.819 2.473-1.331.155 1.01-1.32 1.087-2.473 1.331zm3.383-3.549c.166-1.664 1.686-.621 2.285-.056.111.744-1.708.023-2.285.056zm-.1-4.869c.044-.976 1.364-1.974 2.474-1.331-.256.765-1.187 1.153-2.474 1.331zm3.605-.333c.122-1.608 1.497-.366 2.995-1.02-.799.887-1.875 1.098-2.995 1.02zm15.795 5.313c-.1-1.32 3.561-1.808 3.605-.333-1.72-.299-2.119.51-3.605.333zm10.814-.998c-1.398.388-2.008-.299-3.605.344-.056-1.276 2.74-2.041 3.804-1.597.245.598-.288.754-.199 1.253zm41.827-4.104c.222-.821 1.708-1.442 2.562-.921.71 1.353-2.173 1.187-2.562.921zm9.85-1.198c-2.984-.255-3.716-.122-6.322.477.655-1.564 4.237-1.453 6.433-2.13-.599.954.488.699-.111 1.653zm55.093-10.903c.732 1.22-1.231.887-2.03 1.231-.599-1.287 1.254-1.72 2.03-1.231zm-.277 86.471c.333-.377.91-.621 1.675-.754.366 1.963-6.899 1.475-1.675.754zm127.123-101.102c-1.076 1.963-3.006 1.287-5.468 2.351.932-1.175 3.461-2.894 5.468-2.351zm-40.74 70.733c1.742.022.643 1.509 1.01 2.651-1.287.255-1.509-1.997-1.01-2.651zm-.399 2.529c.033.466-.732.499-1.231.666.133-1.187-.832-.887-.854-1.863 1.175-.234 1.352.853 2.085 1.197zm-14.664-67.915c-.167.954-2.673 1.897-2.718.144 1.287-.555 1.686.077 2.718-.144zm-14.53-1.498c-1.054.011-2.418-.311-3.095.632-1.164-.221 2.895-3.105 3.095-.632zm-6.844-2.695c1.054-.399 2.873-.333 4.337-.466.388 1.597-3.427.776-3.716 1.985-1.497.2.256-1.708-.621-1.519zm-15.883 8.175c-2.118.854-4.171 1.431-7.043 1.442 2.096-1.398 4.547-1.575 7.043-1.442zm-31.823 89.278c-.1-2.041 2.817-2.296 4.514-2.551.322 1.907-2.351 2.074-4.514 2.551zm22.871 1.83c.022-.787 2.008-.444.999-1.841 3.239-.422 4.958-1.719 7.753-2.407-3.228 2.395-4.98 2.784-8.752 4.248zm66.674-21.43c-.089-.388-.167-.787-.255-1.176.588-.122 1.176-.233 1.763-.366.344 1.01-.344 1.42-1.508 1.542zm46.352-13.188c-2.562.787-4.37 2.795-7.243 2.706-.721-1.453 2.263-.765 2.396-1.708-.41-.466-1.131.433-2.274.056-3.66 4.914-12.667 3.882-19.045 5.535-5.224 1.364-9.395 4.06-13.31 4.37-.377-.333-1.098-.2-1.131-.987-1.298 1.375-3.35.433-5.28 1.076-.865-1.154.299-1.087-1.919-.422.666-.909-.166-.987-.41-1.952 1.12-.51 1.009.632 1.564.91.51-.743 1.242-1.353 1.353-2.318.921.089 1.253.976 2.085 1.198.865-.3.643-1.231 1.509-1.531-1.142-1.109-4.137.699-5.679-.854-2.529 2.174-1.775 5.302-5.546 6.422.455.887 1.841.521 2.884.621-2.873 2.595-6.589.943-8.474 3.372-.666-.266-1.719-.033-2.008-.799-1.187.51-3.572 2.64-4.315 1.287-.821.211-.033 1.353-1.076 1.442-3.449-1.941-8.663 2.873-12.046 1.664-1.808 2.196-7.143 2.906-9.084 2.673-1.719 3.461-10.093 3.904-13.643 2.806-3.361.865-2.795 1.808-5.923 2.44.965-.089 3.039.887 3.25.144.233 1.453-1.908 1.664-5.036 2.252.067 0 .377-.543.799-.566-4.592.233-12.656 6.478-18.734 2.618 1.775-.299 3.261-.765 4.137-1.608-1.12.721-6.145.011-6.256 2.451-1.342.477-1.897-.122-2.44-.721-.044-.943-.1-1.886 1.431-1.93-.022-.965-1.952.632-1.564-.887 2.84-.654 4.725-.011 7.653-.765-1.164-.61-3.094-.555-5.978 0 5.99-3.383 10.049-4.548 17.281-5.169-.411-1.786-2.928-.743-3.649-2.107 4.836-.122 7.509-3.172 10.837-3.039l.166.776c.377.799-.477.876-1.165 1.054 1.032 1.009 2.307-.699 1.431-1.919 1.453-.322 2.063-1.109 3.882-1.209.122.865-.932 1.065-2.03 1.231 1.653 1.398 4.337-1.287 6.356-2.518 1.442-.932.543 1.265 1.564.898 1.564-1.131 10.981-3.305 13.288-2.318 1.032-.743 1.209-1.098.477-2.141 1.531-.555 2.506-.366 2.884.632 1.286-2.307 4.326-1.264 6.677-.965 1.553-.366-1.209-1.098.2-1.265 1.12-.244.599.177.599.688 1.653-.3.976-1.952 3.272-1.886-.155 1.054-.133 2.207.3 3.605.965-.244-.155-1.697-.044-2.44 1.808-.754 1.919.754 3.316.543-.987-1.564 1.364-4.847 3.195-2.285-1.453.621-1.941-.055-2.795-.233.244.954 1.076 1.031.399 1.952 1.897-1.52 2.251-.621 4.492-.521-.011-.943.81-2.329-.743-3.516 1.52.311 3.283.277 4.736.666.155 1.009-1.32 1.076-2.485 1.32-.754.255.965 1.32 1.287 1.775.954-.422-.654-.499.2-1.265 1.054-.089 1.786.277 3.161-.244.899.632.067.51.333 1.564 2.54-1.73.688-4.148 3.66-4.415-.288-.444-.732-.688-1.486-.51 4.193-4.292 12.279-1.076 15.606-4.437 1.564.577.821 1.12 2.285-.055 1.187 1.741-.288 2.751-1.652 3.86a11.98 11.98 0 0 0 1.497-.166c-.222 1.331.022 1.087.854 1.863 1.42-.688-1.653-2.008-.133-2.817.887.965 3.538-1.497 5.89-.399.588-.255-.111-.688-.61-.688.522-1.131 1.841.832 3.25.144-.399-.299-.932-.422-1.486-.51.044-1.22 1.021.189 1.764-.355-.1-.377-.61-.188-.965-.211-.055-1.065 2.163-.81 2.396-1.719.843.643 2.673 1.475 3.161-.233 6.134.588 12.478-.588 18.457-1.752.077.388.166.776.244 1.165 3.937-2.34 7.975-2.252 12.157-3.305-2.52 3.549-8.31 2.461-12.958 3.881zm13.2-2.706c2.351-2.984 9.517-3.039 12.966-3.882-2.351 3.538-8.763 2.163-12.966 3.882zm124.672-84.298c-.222.588-4.093 1.863-4.038.422 2.329-.144 3.25-1.098 4.681-1.775.543.732-2.074 1.242-.643 1.353zm9.406-1.109c.721-.044 2.551-.067 3.083-.632 1.83.266-3.228 2.384-3.083.632zm61.437 28.151c-.3.954-3.827 2.817-3.971.81 1.886.011 1.775-.411 3.971-.81zm17.514-15.018c-.022-1.154 1.442-1.464 2.307-2.096.033.466.255.665.61.688-.255.875-1.519 1.197-2.917 1.408zm18.512-16.838c-1.353.477-1.708-.388-3.161.233-.022-.466.732-.488 1.231-.654-.022-.466-.244-.677-.599-.699.1-.887 2.629-.921 3.083-.632.156.787-1.097.754-.554 1.752zm-619.888 47.351a1.545 1.545 0 0 1-.211.433c.199-.067.333-.167.211-.433zm-.355.477h.111c.022-.011.033-.033.033-.044-.044.022-.1.033-.144.044zm-88.613 10.859c.122.044.255.067.411.067-.112-.122-.256-.167-.411-.067z\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1369.979 1597.818-.09-.007-319.049-25.672-.134-.154c-.537-.62-.95-1.172-1.281-1.716h-.001a6.063 6.063 0 0 0-.008.114c-.012.232-.031.583-.332.833-.31.26-.732.242-1.023.205l-.209-.076c-.335-.216-.656-.417-.961-.609-2.427-1.522-4.061-2.547-4.245-5.737-1.041-.266-2.194-.419-3.313-.567-2.482-.329-5.049-.669-6.766-2.246l-.737-.677.984-.183c4.46-.831 8.649-.672 12.347-.53.645.024 1.275.048 1.89.066.376.019.405-.039.523-.292.075-.163.182-.394.402-.578-.535-1.153-.655-1.65.408-2.452-.159-.147-.437-.259-.811-.398-.534-.198-1.139-.422-1.332-1.013a1.186 1.186 0 0 1-.046-.513c-1.255.215-2.009-.282-2.577-.758-.637.225-1.109.549-1.605.889-.531.364-1.081.74-1.843 1.007l-.431.151-.189-.415c-.317-.693-.15-1.165-.029-1.509l.012-.035c-4.636-1.737-8.48-3.307-11.808-5.815l-.446.099c-1.051.236-2.139.482-2.87.021l-.437-.274.288-.428c1.909-2.84 4.758-1.702 7.513-.6 2.127.85 4.325 1.729 6.505 1.255.169-.403.056-.713-.094-1.122-.199-.542-.471-1.285.292-2.093l.131-.139.191-.016c.427-.041.898.185 1.399.419.272.127.717.334.897.339-.021-.04.001-.237-.093-.704l-.109-.534.542-.062c.866-.099 1.379.299 1.794.618.383.294.632.49 1.143.406l.65-.107-.072.655c-.039.358-.168.629-.383.805.34-.08.731-.198 1.182-.346.197-.065.388-.127.567-.182l.309-.094.212.244c.858.983 1.328 1.941 1.782 2.867.542 1.107 1.055 2.153 2.212 3.189l.256.229-.123.321c-.173.453-.517.767-.819 1.044a4.15 4.15 0 0 0-.393.391c.719.101 1.454-.202 1.961-.575.616-.452.98-1.047.927-1.515l-.109-.965.849.472c.803.446 1.896.562 3.054.684 1.664.176 3.384.357 4.418 1.595l.084.146c.753 2.017.332 3.358-.077 4.656-.166.526-.323 1.026-.4 1.568.951.904 2.672.913 4.489.921l1.14.012.098.365c.542 2.019 3.243 2.342 6.104 2.684 2.859.343 5.812.696 7.299 2.742 5.502.356 11.204-.237 15.294-1.601l.399-.133.199.37c.427.792.068 1.272-.206 1.542.938.021 1.978-.09 2.997-.198 2.828-.299 5.744-.606 6.929 1.634 4.082-.497 7.38.045 11.042 1.013l.302.08.061.307c.312 1.586-1.015 2.205-2.081 2.526.555.824 1.592 1.049 2.766 1.304.525.114 1.065.231 1.571.412 1.939-1.41 4.398-1.025 6.777-.654 2.094.327 4.253.666 6.152-.146-.895-1.54-2.392-2.744-3.843-3.911-1.288-1.035-2.619-2.106-3.484-3.394-.13-.188-.1-.382-.053-.675.125-.777.05-.969-.005-1.014-.031-.025-.217-.06-.646.103l-.646.245-.032-.689c-.018-.388.085-.831.516-1.168a3.982 3.982 0 0 0-.181.056l-1.049.346.433-1.017c.292-.686-.148-1.237-.907-2.063-.582-.634-1.284-1.399-1.175-2.328-1.728-.662-3.152-1.714-4.534-2.733-1.565-1.155-3.043-2.247-4.927-2.816l-.168-.051-.1-.146a268.842 268.842 0 0 0-4.271-6.05c-3.427-4.757-6.134-8.514-8.796-14.595-.051-.038-.323-.005-.487.013-.455.053-1.025.117-1.376-.324l-.19-.239.126-.278c.098-.216.117-.524.139-.851.027-.416.062-.95.328-1.389-.304-.057-.61-.221-.709-.662l-.046-.205.115-.177c1.298-2.004.668-3.599-.284-6.014a66.248 66.248 0 0 1-.441-1.137l-.104-.276.192-.224c.271-.316.649-.555 1.146-.723-1.081-1.475-.765-2.901-.481-4.179.288-1.295.559-2.52-.381-3.948l-.419-.637.75-.131c4.922-.858 7.702-3.741 10.645-6.793 2.85-2.957 5.797-6.014 10.797-6.98l.468-.091.113.463c.301 1.239 1.253 1.607 2.354 2.033.404.156.821.317 1.213.528l.574.31-.447.474c-1.805 1.911-3.993 3.625-6.11 5.284-2.462 1.929-5.007 3.922-6.907 6.205.074.631.422.806 1.081.975l-.018-.083c-.065-.297-.165-.746.149-1.076.313-.327.815-.288 1.164-.228l.361.061.05.363c.093.673.324 1.1.706 1.305 1.154.617 3.76-.633 5.854-1.639 1.316-.632 2.559-1.229 3.553-1.47l.07-.017.072.003c.687.035 1.136.361 1.533.649.286.207.521.377.821.438 2.24-1.759 6.098-2.929 8.258-2.507 5.635-3.48 9.833-4.858 12.778-4.186l.072-.206c.148-.422.152-.747.014-.991-.143-.252-.447-.441-.825-.591l-.872.011.22-.22a18.77 18.77 0 0 0-1.062-.237 19.078 19.078 0 0 1-.943-.207l-.389-.101.015-.401c.023-.667.391-1.134 1.007-1.284.948-.23 2.239.347 2.751 1.007.177-.385.637-.627 1.092-.681.122-.014.238-.016.347-.002.223-.877.374-1.952-.565-3.348l-.584-.868 1.042.091c1.296.107 1.881-.633 2.738-1.858.657-.94 1.396-1.998 2.723-2.503-.025-.137-.171-.252-.551-.451-.29-.151-.651-.34-.652-.752-.001-.423.412-.642.567-.725.44-.186.776-.201 1.067-.069.231.105.382.285.488.475 1.002-.357 1.807-.563 2.528-.749 1.067-.274 1.993-.512 3.286-1.146.203-.308.381-.631.561-.954.759-1.369 1.613-2.908 4.212-3.366-.186-.568-.402-.957-.614-1.335-.399-.716-.775-1.393-.667-2.888l.015-.209.16-.136c2.316-1.963 5.649-1.727 8.59-1.518 4.339.306 7.02.299 7.554-3.56l.1-.723.638.354c1.496.83 2.026 2.016 1.583 3.529 5.463 1.48 13.535 1.505 20.117.065-.07-.126-.136-.255-.201-.382-.432-.839-.684-1.202-1.281-1.167l-.866.054.388-.776c.41-.819.166-1.311-.237-2.125-.253-.51-.54-1.088-.703-1.85l-.255-1.189 1.018.667c.872.571 2.147.683 3.602.761l.744.041-.318.673a2.817 2.817 0 0 0-.188.491c.061-.017.138-.042.236-.081l.876-.352-.202.923a2.615 2.615 0 0 1-.388.914 5.916 5.916 0 0 1 1.5.117c.008-.083-.006-.229-.015-.326-.037-.383-.092-.963.413-1.296l.106-.07.127-.01c.664-.058 1.207.1 1.609.462.336.303.558.727.668 1.287a1.57 1.57 0 0 1 .302-.104l-.245-.088.551-.354-.294-.302.699.051c.256-.12.533-.1.766.052h.028c1.434 0 4.08-1.104 5.518-2.124l.486.625c.237.041.658.048.908.053.732.014 1.262.023 1.364.528l.006.034c1.231-.062 2.323-.141 3.315-.213 3.128-.227 5.44-.394 8.657.179a.763.763 0 0 1-.033-.235c.004-.275.144-.531.429-.783l.248-.219.299.143c.666.319 1.521.422 2.427.531 1.618.195 3.435.414 4.212 2.072 2.212-.465 3.413-.725 4.663-1.178l-.825.084.447-.83c.276-.513.631-.79 1.056-.824.801-.064 1.404.739 1.9 1.384.056.073.109.143.159.206 1.205-.439 2.356-.616 3.473-.788 1.65-.254 3.076-.474 4.251-1.494l.875-.76-.048 1.159c-.012.293.031.47.132.597l.352-.109c.918-.285 1.992-.517 3.129-.762 3.061-.66 6.53-1.408 8.091-3.456l.161-.211.266.016c.521.03.915.109 1.143.397.22.279.17.593.125.85.44-.22.745-.526 1.082-.864.611-.612 1.303-1.305 2.849-1.468l.92-.097-.424.823c-.306.595-.834 1.012-1.345 1.415-.342.27-.672.53-.901.822.581.062 1.047.261 1.474.443.639.271 1.197.509 2.108.305-.071-.19-.107-.41.027-.638.141-.238.404-.361.778-.427a2.915 2.915 0 0 0-.327-.307c-.384-.328-.91-.778-.917-1.806l-.005-.769.705.307c.863.375 2.043.983 2.326 1.918.034.113.054.227.06.341.288-.009.54.045.748.175.061.038.126.087.19.152.19-.172.391-.34.6-.503l-.338-.027.092-.539c.267-1.566 1.958-2.138 3.595-2.69.698-.236 1.421-.48 1.964-.789l1.907-1.083-1.249 1.803c-.458.662-1.076 1.46-1.974 2.156.528.04 1.117-.135 1.799-.532l1.381-.804-.677 1.448a2.683 2.683 0 0 0-.148.364c.675-.215 1.26-.383 1.816-.542 1.237-.354 2.305-.66 3.935-1.369l.226-.098.215.119c.433.24.866.486 1.298.741.125-.091.234-.178.335-.257.206-.162.392-.301.579-.404a.888.888 0 0 1-.32-.299l-.093-.14.011-.168c.01-.154.08-.443.431-.652.598-.356 1.942-.337 2.81-.185.241-.415.747-.535 1.331-.673l.039-.009h-2.307l4.012-.97c.022-.048.044-.103.064-.165l.4-1.204.529 1.153c.025.055.045.109.06.163 2.247-.166 4.718-1.179 7.32-2.244 3.485-1.428 7.088-2.903 10.48-2.413.18-.107.349-.22.519-.333.641-.424 1.303-.862 2.409-1.059l.2-.036.168.114c.402.272.691.707.864 1.296l.033-.008c.45-.111 1.066-.263 1.496-.032.189-.172.392-.408.478-.574l-.029-.002-.478-.038.017-.479a.84.84 0 0 1 .702-.828c.606-.119 1.395.29 1.653.861.155.341.119.698-.088 1.01.225.093.663.032 1.349-.128-.262-.025-.513-.114-.704-.341l-.517-.615.78-.192c.519-.128.986-.235 1.418-.334 2.129-.489 3.303-.759 5.671-2.305l.164-.107.193.032c.258.043.795.134.826.615.032.493-.426.633-1.121.846-.187.057-.476.146-.692.23 1.126 1.216 2.917 1.629 5.379 1.876l1.28.128-1.031.77c-1.196.892-2.526.383-3.813-.109-.722-.276-1.464-.56-2.167-.586a1.568 1.568 0 0 1-.358.659c-.941 1.043-3.352 1.143-5.683 1.239-.765.032-1.489.062-2.102.125a.93.93 0 0 0-.099.103 2.776 2.776 0 0 1-.098.107c.062-.007.135-.016.218-.028l1.745-.25-1.354 1.128c-.823.686-2.04.588-3.217.493-1.742-.14-2.634-.096-2.946.887.143-.03.306-.122.534-.263.337-.208.754-.467 1.237-.291.312.113.562.383.781.851.093-.065.191-.137.284-.205.572-.419 1.163-.852 1.761-.745.271.049.502.207.666.456l.251.381-.356.285c-3.026 2.416-7.206 2.997-10.894 3.51-1.765.246-3.467.482-4.868.902 1.35.074 2.619.246 3.796.515l4.525-.281c.695-.044 1.71.008 2.885.067 3.259.165 8.182.415 9.786-1.357l.198-.218.287.067c.181.043.733.173.888.659a.8.8 0 0 1 .002.477c.884-.435 1.857-.808 2.811-1.174.606-.233 1.211-.465 1.789-.711l.096-.041.105.001c.175.002.586.006.796.329.18.278.076.558.005.722.249-.051.42-.134.489-.241.085-.132.042-.361-.01-.529l.922-.376c.13.253.649.447 1.065.602.489.183.956.357 1.203.703 1.15-.764 2.368-1.526 3.871-2.118l.763-.3-.077.764c1.34-.691 2.733-.926 4.092-1.155 1.271-.214 2.471-.417 3.517-.99l.77-.422-.029.877a.976.976 0 0 1-.019.158c3.206-.739 5.855-1.146 8.424-1.541 3.535-.543 6.874-1.056 10.914-2.392l.834-.276-.188.858c-.188.859-.676 1.459-1.454 1.795 1.087.193 2.497-.293 3.967-.801 1.179-.407 2.398-.829 3.528-.912.486-.045.934.237 1.329.484.227.141.524.325.68.325.021-.027.101-.173.144-.722.014-.178.043-.549.43-.624 4.878-.995 6.022-.373 6.456.183l.458.584-.713.204c-.549.158-1.181.263-1.792.366-.75.125-1.57.263-2.142.496l.013.062c.535.22 1.195.316 1.882.415 1.344.194 2.867.415 3.604 1.756l.42.764-.872-.023c-.728-.02-1.293-.044-1.755-.064-1.615-.072-1.905-.083-3.551.348l-.392.103-.182-.363a2.276 2.276 0 0 1-.25-.793c-1.945 1.461-4.73 1.386-7.646 1.31-3.885-.104-7.897-.209-10.155 3.417l-.268.431-.427-.274c-.575-.369-1.374-.481-2.304-.436l.212.151c1.409 1.003 2.321.737 3.703.333.673-.197 1.435-.419 2.363-.523l.881-.098-.373.805c-.147.319-.187.571-.104.674.142.177.718.261 1.544.08 1.099-.241 1.866-.766 1.917-.971l-1.955-1.431 2.304.53c1.049.24 1.812.818 2.55 1.376.517.392 1.007.763 1.576 1.006.234-.041.258-.141.314-.554.055-.4.146-1.07.879-1.334l.482-.173.162.485c.26.779 1.415.571 3.151.152l-.144-.811c.438-.112.927-.248 1.453-.395 2.901-.805 6.832-1.896 9.637-1.176-.018-.073-.035-.168-.048-.238a4.255 4.255 0 0 1-.059-.412l-.05-.716.689.201c4.317 1.262 7.812.615 12.649-.279.959-.177 1.965-.363 3.033-.544l.94-.159-.404.864a2.254 2.254 0 0 0-.179.473c.385-.074.739-.17 1.085-.265 1.176-.321 2.287-.624 4.072.08l1.498.591-1.569.362c-1.461.337-2.548.91-3.7 1.517-1.102.581-2.229 1.175-3.746 1.621.262-.029.531-.07.803-.111.812-.123 1.693-.256 2.53-.098a.781.781 0 0 1 .162-.293c.594-.698 2.6-.314 3.708.316.78-.698 1.652-.875 2.499-1.048.809-.165 1.572-.321 2.271-.936l.347-.305.332.322c.49.476.412 1.009.27 1.387l.85-.098-.743.943c-.49.623-1.595.811-2.995 1.048-2.248.382-3.97.78-3.975 2.104l.311-.024c1.431-.106 2.326-.21 2.699-.982l.143-.296.328.014c5.357.227 12.091-.551 14.943-3.414l1.133-1.138-.288 1.58c-.053.295-.006.381-.006.381.029.031.182.072.272.096.152.04.348.092.529.203 1.283-.674 2.81-.983 4.291-1.283 2.561-.519 4.772-.966 5.131-3.086l.053-.312.304-.086c.4-.113.671-.005.828.106.409.288.446.842.479 1.331.014.2.036.535.092.622l.269.415-.402.289c-2.337 1.555-4.669 2.025-6.727 2.439-2.083.42-3.907.788-5.458 2.122.207.017.454.011.595.008.553-.012 1.122-.023 1.357.433l.021.043c2.663-.941 5.894-1.534 9.028-2.109 3.447-.633 6.703-1.23 8.827-2.219l.371-.173.243.329c.073.1.244.33.301.609 1.812-.463 3.712-.733 5.568-.998 4.011-.571 7.799-1.111 10-3.471l.469-.502.334.6c.19.343.243.66.154.943a.959.959 0 0 1-.05.127c.922-.087 1.814.109 2.641.288 1.683.362 3.01.648 4.323-1.015l.23-.292.346.136c.54.213.935.592 1.284.927.095.091.189.182.288.27.512-.193 1.066-.47 1.648-.759 1.362-.677 2.773-1.376 3.918-1.113l.368.085.019.378a.845.845 0 0 1-.084.43h.001l-.222.626c-.102.289-.241.803-.023 1.005 1.161 1.084 8.175-1.984 11.545-3.458 1.455-.637 2.604-1.139 3.26-1.351l.091-.029.095.006c.155.01.518.035.696.344.061.105.08.209.078.305 2.169-.438 4.299-.965 6.366-1.477 3.834-.949 7.794-1.929 12.199-2.399l-.048-.741c.434-.057 1.094.041 1.931.165 2.197.325 5.514.816 6.547-1.308l1.234-2.538-.2 1.951a2.351 2.351 0 0 1 1.307-.906l.409-.117.181.384c.315.668.175 1.133.052 1.477 1.393.192 2.541-.315 3.657-.807 1.129-.497 2.199-.969 3.286-.515.151-.095.279-.215.421-.349.273-.257.601-.566 1.165-.734-.004-.041-.011-.056-.011-.057-.027-.018-.174-.05-.261-.069-.336-.074-1.123-.246-1.051-1.274l.047-.679.634.249c.544.213 1.159.193 1.933-.064l1.607-.537-1.058 1.323c-.039.049-.063.217-.08.34a5.285 5.285 0 0 1-.025.166.855.855 0 0 1 .671.231c.132-.109.269-.212.404-.312.428-.319.797-.595.865-.979l.073-.413h.419c.872 0 1.041.855 1.142 1.366l.018.088c4.38-.263 7.775-1.633 11.689-3.211a198.89 198.89 0 0 1 2.466-.982l.327-.127.23.265c1.481 1.696 5.865 1.281 9.079-.076l1.305-.551-.67 1.248a.974.974 0 0 0-.07.155c.254.075.913.043 1.324.023.811-.039 1.642-.078 2.21.198.085-.097.197-.215.365-.309.001-.083-.013-.113-.013-.113-.026-.015-.17-.046-.257-.065-.336-.072-1.122-.241-1.06-1.266l.031-.52.519.053c1.624.166 3.011.843 4.363 2.131.244-.102.481-.199.708-.281-.134-.036-.349-.049-.695-.032l-.078-.997c.673-.073 1.667-.33 2.72-.602 2.647-.683 5.614-1.449 7.123-.465.061-.078.069-.115.069-.115l-.142-.173c-.184-.225-.467-.573-.441-1.106-2.706.975-6.345 2.015-9.03-.11l-1.063-.841 1.354-.051c1.771-.067 2.189-.747 2.271-1.749l.032-.382.377-.069c.433-.078.883-.18 1.333-.282 1.566-.354 3.181-.72 4.221-.125.113-.069.228-.137.342-.205.652-.388 1.269-.754 1.644-1.226l.151-.189.243.001c1.784-.025 3.571-.466 5.305-.924 2.864-.758 5.569-1.473 8.03-.063l.019.01.034-.013c.145-.054.295-.11.452-.166l-.033-.352.001-.036-.047-.462c1.027-.096 2.421-.656 3.897-1.249 2.682-1.078 5.703-2.292 7.936-1.3 1.13-.983 2.886-1.18 4.588-1.371 1.969-.221 3.83-.429 4.408-1.78l.256-.598.512.401c.18.141.343.282.503.419.591.509 1.074.926 2.217 1.121.079-.517.409-.998.887-1.189.49-.194 1.138-.082 1.631.726 2.896-1.385 6.354-1.918 9.704-2.435 4.733-.729 9.204-1.418 12.116-4.295l.132-.129.184-.013c.333-.024.6.047.821.154a1.78 1.78 0 0 1-.042-.273l-.083-1.123.889.692c.813.634 1.433.495 2.088.351.489-.109 1.044-.231 1.596.039l.229.112.049.257c.049.277-.108.442-.345.694-.094.1-.296.313-.423.487.114.003.285-.002.53-.033l1.351-.168-.92 1.002c-.518.564-1.272.392-2.072.205v.003a1.351 1.351 0 0 1-.21.531c.532-.025 1.09-.083 1.643-.139a28.915 28.915 0 0 1 1.908-.152l3.792-.128-3.629 1.106c-3.965 1.208-8.391 1.742-12.67 2.259-6.337.765-12.889 1.555-18.408 4.514l-.213.059c-.912.044-1.591-.253-2.184-.516-.373-.165-.727-.321-1.13-.394-.03.048-.055.135-.094.316-.094.437-.258 1.252-1.559 1.203l-.324-.012-.121-.301c-.114-.284-.22-.38-.265-.393-.161-.042-.614.309-.856.498-.486.378-.986.771-1.529.548a.87.87 0 0 1-.368-.291c-.408.508-.842.93-1.217 1.292-.343.333-.64.62-.812.872l-.104.15-.176.048c-.801.221-1.345.035-1.75-.251-.582.785-2.179 1.105-4.646 1.518-1.218.204-3.059.512-3.296.845l-.068.461c2.035.575 4.474.002 6.292-.425.607-.143 1.131-.266 1.566-.329l.345-.051.167.307c.187.344.236.663.146.946-.136.428-.532.625-.821.768-.078.039-.195.096-.264.143.184.173.38.392.522.704.341-.085.695-.163 1.048-.241 1.468-.321 2.987-.654 3.153-1.511l.078-.399.406-.005c1.542-.021 2.896-.206 4.206-.385 2.703-.368 5.259-.718 8.68.553.14-.071.271-.15.397-.233l-.877-.226 1.482-.196c.63-.438 1.395-.878 2.815-.9.331.03.968.096.976.639.002.107.004.281-.256.471a9.733 9.733 0 0 0 1.579-.07l.004-.313c.027-1.938 1.672-1.964 3.124-1.987.892-.014 1.903-.03 2.735-.413l1.031-.475-.346 1.081a1.726 1.726 0 0 1-.476.744c2.542.306 5.064.069 7.059-.674-.24-.017-.519-.079-.717-.323-.279-.344-.186-.81-.155-.963l.109-.543.529.164c.076.023.19.069.33.125.851.343 1.17.38 1.288.343-.011-.016-.003-.116-.055-.324l-.226-.902.877.31c2.04.72 3.789.368 5.203-1.046l.412-.412.345.469c.41.557 1.74.245 2.706-.039l3.344-.985-2.933 1.885c-.741.477-1.528.774-2.384 1.021l-.06 1.169c.229.188 1.509-.126 2.357-.334 2.265-.556 5.319-1.305 6.722.625 2.676-.995 4.739-1.018 6.737-1.041 2.251-.025 4.579-.051 7.91-1.488l1.422-.614c.322-.43.859-.792 1.57-1.034 1.471-.501 3.302-.393 4.117.578 4.877-1.1 8.511-1.891 12.374-1.443l1.66-.209c.812-.103 2.376-.437 4.187-.824 3.499-.749 7.846-1.678 10.82-1.858 3.254-1.253 5.6-1.381 8.563-1.543.509-.028 1.042-.057 1.606-.093l2.23-.498c5.184-1.155 10.28-2.088 15.208-2.991 6.911-1.266 13.438-2.461 19.541-4.135l.519-.142.104.528c.123.625-.265.976-.498 1.185-.163.147-.207.187-.175.279.937.404 2.086-.173 2.5-.79.002-.003.178-.267.096-.333l-3.159-2.558 3.684 1.716c1.617.753 5.761-.5 10.146-1.828 4.445-1.345 9.479-2.866 13.081-2.622h.001c.323 0 .442.249.499.519.641-.353 1.231-.619 1.615-.226a.643.643 0 0 1 .082.102c1.834-.993 4.03-1.436 6.165-1.866 1.658-.334 3.225-.65 4.62-1.201l.131-.032c.62-.067 1.123.153 1.385.6.124.211.183.455.178.706.462-.096.924-.19 1.39-.284-.273-.292-.532-.741-.278-1.35l.129-.31.335.002c1.166.007 2.26.117 3.319.224 2.386.24 4.446.448 6.465-.59l.751-.387-.022.844c-.01.352.103.471.307.688.037.039.075.08.113.123 1.173-.529 2.743-.697 4.031-.834.728-.078 1.415-.151 1.847-.271l.449-.125.156.439c.233.655-.019 1.073-.35 1.353 1.457-.141 2.966-.092 4.539-.042 3.334.105 6.777.215 10.3-1.451l.313-.148.249.241c.187.181.684.663.51 1.206a.75.75 0 0 1-.096.199 42.272 42.272 0 0 0 2.262-.882c2.502-1.03 5.086-2.093 7.482-1.189.024-.007.033-.013.033-.013.015-.029.03-.175.04-.263.033-.309.101-.951.821-1.136l.134-.034.133.039c3.161.939 6.456.507 10.368-1.358l.5-.239.186.522c.821 2.306 2.954 1.982 6.366 1.262 2.38-.502 5.065-1.069 7.239-.076 2.734-1.534 7.152-1.794 10.264-1.248.338-.153.511-.411.723-.729.141-.212.287-.431.494-.638l.099-.099.135-.033c.466-.115.88-.217 1.166-.048l.454-.265c1.929-1.125 4.569-1.42 7.122-1.705 1.126-.125 2.19-.244 3.163-.429l2.014-.383-1.611 1.268c-.812.639-2.235 1.269-3.738 1.657.737.132 1.401.35 2.048.562.578.189 1.125.369 1.716.49.565-.037.593-.242.669-.814.076-.568.203-1.52 1.463-1.674l.387-.047.141.363c.677 1.749 2.358 1.509 5.047.904 1.887-.423 3.832-.862 5.028.216 3.495-1.344 9.964-1.535 11.913-1.562l1.125-.015-.742.845c-.387.441-.41.666-.396.698.026.057.33.264 1.292.236l2.906-.078-1.851.713.146-.027-1.588 1.25a1.226 1.226 0 0 0-.356.472l.688.101-.816.255c-.052.182-.093.379-.137.585-.039.185-.078.37-.125.55l-.087.33-.338.04c-2.102.246-4.513.686-6.743 1.322l-.669.889c-.21.278-.218.389-.219.39.029-.003.246.078.392.135.463.185 1.165.463 1.296 1.255l.08.478-.475.095c-.442.088-.882.18-1.322.271l-.454.094c.422.092 1.125-.028 2.2-.272 1.199-.274 2.333-.533 3.127-.088l.235.131.02.268c.021.279.014.68-.283.946-.328.293-.753.214-1.164.137-.458-.086-.928-.173-1.394.094.395.484.9.394 1.83.174.722-.171 1.54-.365 2.388-.105l.462.141-.125.467c-.524 1.955-2.693 2.226-4.608 2.465-.885.11-1.801.225-2.495.49-.418.159-.601.358-.794.57-.455.497-.864.814-2.138.555-.771 1.059-3.107 2.373-4.976 2.946l-.705.216.06-.735c.02-.237.1-.428.197-.59-1.776.585-2.19 1.918-2.572 3.457.08-.024.188-.068.344-.139.446-.202 1.123-.506 1.981-.142l1.194.504-1.224.428c-1.637.573-1.658.845-1.701 1.387-.042.535-.1 1.268-.95 2.306l-.108.132-.166.038c-.572.133-1.207.248-1.844.363-1.486.269-3.522.636-3.791 1.235-.019.042-.077.171.114.483l.312.51-.558.217c-1.303.507-2.585.818-3.715 1.093-2.038.496-3.647.887-4.536 2.107l-.255.35-.383-.203c-2.544-1.342-4.846.465-6.877 2.062l-.172.135c1.531.187 2.657.248 4.411-.513l.438-.189.21.428c.35.712.013 1.513-.878 2.09-.625.404-1.407.629-1.948.442-.279.247-.415.619-.433 1.193.985.073 1.861-.327 2.779-.754 1.025-.477 2.087-.969 3.264-.662l1.457.382-1.395.565a150.142 150.142 0 0 1-13.912 4.841c-.859.13-1.031.236-1.058.256l-.086.081-.429.128-124.556 35.529c-3.829.879-8.776 1.86-13.357 1.755-.102.118-.126.195-.117.218.063.175.659.462 1.319.485l3.181.107-9.64 2.713c-.192.03-.374.059-.544.083l-.443.06-.024-.096-.006.138-.391.071a546.95 546.95 0 0 1-8.651 1.49c-2.05.341-4.063.676-6.083 1.035l.02.011c.51.293 1.174.162 1.816.035.514-.102.999-.199 1.421-.067l1.61.497-6.312 1.798.417-1.107c.089-.235.199-.524.329-.89l.058-.162c-3.486.628-7.011 1.335-10.808 2.278 1.089.226 2.771-.258 4.299-.698 2.215-.638 4.308-1.239 5.228.005.152.203.25.41.307.648l.229.969-.914-.395a2.744 2.744 0 0 0-.791-.217c-1.025-.141-1.842.288-2.707.745l-.305.148-287.943 82.146zm-318.65-26.644 318.55 25.632 49.705-14.173 139.529-39.806c.087-.535.609-.758.93-.895.111-.048.294-.125.349-.178-.014-.008-.044-.117-.198-.331l-.491-.68.832-.108c1.841-.24 3.153-.764 4.542-1.318.325-.13.654-.261.993-.39l-.794.146-.924.169a.542.542 0 0 1-.125.015l-.042-.458c-1.308.247-2.877.857-4.52 1.496-4.176 1.625-9.374 3.645-13.641.936l-.725-.46c-.379.215-.608.504-.626.903l-.015.336-.317.113c-1.667.591-2.423-.246-2.978-.856l-.121-.133-.008-.179a7.069 7.069 0 0 1-.009-.757c-.76.727-2.179.999-3.404 1.235-.331.063-.662.127-.982.198l-.578.127-.029-.591c-.115-2.347 2.807-2.765 4.553-3.014l.068-.01.263-.148.001-.004.075-.295.297-.068c.15-.035.298-.066.444-.094l1.098-.62c5.752-3.249 9.754-4.501 16.689-5.16-.238-.156-.601-.234-1.14-.324-.743-.124-1.667-.277-2.114-1.124l-.377-.713.806-.021c2.457-.062 4.3-.896 6.082-1.702 1.583-.716 3.071-1.401 4.748-1.338l.344-.076c.539-.119.954-.31 1.393-.512.687-.316 1.396-.643 2.57-.708l.458-.025.064.455c.046.33-.011.595-.138.811.72-.357 1.496-.916 2.227-1.441.519-.373 1.009-.726 1.481-1.013.287-.185.731-.418 1.147-.243.42.178.509.628.568.927l.021.101c1.818-1.112 10.493-3.134 13.293-2.335.669-.497.639-.602.151-1.296l-.375-.535.614-.223c1.648-.595 2.569-.318 3.082.21 1.354-1.476 3.623-1.084 5.487-.763.235.041.468.081.696.117-.173-.17-.306-.386-.227-.669.121-.435.621-.494.835-.52.408-.092.839-.156 1.113.139a.604.604 0 0 1 .129.209c.098-.104.185-.228.285-.37.383-.545.873-1.201 2.417-1.18l.562.017-.082.556a8.664 8.664 0 0 0-.057.496c1.032-.308 1.625.068 2.07.349.123.078.233.147.345.201-.081-.7.156-1.457.571-2.049l-.136-.531.496.103a2.57 2.57 0 0 1 .371-.304c.8-.538 2.014-.611 3.019.796l.362.506-.495.211c.101.018.205.039.313.061.308.063.646.132 1.057.175.016-.102.035-.206.054-.312.152-.836.284-1.559-.648-2.271l-1.731-1.324 2.135.437c.656.134 1.385.204 2.09.271.811.078 1.646.158 2.418.337a1.447 1.447 0 0 1-.184-.706l-.009-.42.412-.082c1.013-.205 1.523.352 1.892.772-.136-.702-.04-1.48.292-1.916l.152-.2.251.003c.564.007.962.151 1.218.441.174.198.254.424.283.665l.132-.134c2.362-2.418 5.891-2.592 9.003-2.746 2.664-.131 5.18-.255 6.605-1.694l.227-.229.302.111c.57.21.879.425 1.063.554l.03.021c.123-.083.341-.258.585-.454l.542-.436.305.447c.656.962.636 1.757.296 2.438l.225.245c.178.193.906-.055 1.548-.276.845-.289 1.839-.627 2.857-.569l.052-.113c.411-.891 1.201-.667 1.743-.435.038-.226.13-.467.362-.618a.733.733 0 0 1 .48-.115c.222-.589.936-.812 1.484-.985.307-.096.82-.257.86-.413l.188-.732.6.458c.575.439 1.41.799 1.901.637.083-.027.333-.11.476-.61l.115-.4.414.04c6.27.598 12.947-.701 18.313-1.746l.489-.095.2.98c2.592-1.383 5.251-1.83 7.829-2.263 1.26-.212 2.563-.431 3.856-.756l1.314-.331-.76 1.071c2.089-1.85 6.061-2.416 9.312-2.879 1.26-.18 2.45-.349 3.347-.568l1.244-.304-.708 1.066a4.865 4.865 0 0 1-1.011 1.105l9.442-2.733c.111-.059.223-.118.338-.177-.316.086-.635.178-.946.267-2.466.709-5.016 1.442-6.241-.154l-.46-.6.732-.188c6.752-1.736 12.586-2.707 18.762-3.734 2.555-.425 5.191-.864 8.03-1.377-.132-.151-.318-.376-.256-.693.067-.339.381-.496.484-.547l.125-.062.139.011c.205.012.604-.106.955-.216.661-.206 1.285-.4 1.767-.138a.919.919 0 0 1 .447.571l.04.139-.04.137 3.241-.927c-.231-.163-.415-.368-.507-.62-.121-.333-.129-.854.522-1.438l.149-.133.2.006c4.543.138 9.489-.845 13.294-1.718l124.748-35.59c.261-.182.69-.305 1.417-.411a153.864 153.864 0 0 0 7.56-2.45l-.136-.026-.379-.079-.019-.387a4.803 4.803 0 0 1 .044-1.009c-.589.866-2.346 1.848-3.536 1.712-.735-.086-1.188-.576-1.244-1.346l-.039-.539.541.003c.987-.004 1.386-.118 1.95-.305.435-.145.975-.324 1.929-.498l.814-.148-.038.12a2.09 2.09 0 0 1 .747-.672l.245-.134c-.939.079-1.805-.031-2.785-.156l-2.055-.244 1.049-.754c.362-.261.737-.555 1.125-.86 2.072-1.628 4.63-3.638 7.589-2.34 1.124-1.258 2.858-1.679 4.843-2.162 1.004-.244 2.037-.495 3.106-.874a1.305 1.305 0 0 1 .064-.867c.484-1.08 2.448-1.435 4.526-1.81.559-.101 1.115-.201 1.626-.314.552-.719.587-1.176.622-1.619.028-.362.081-.665.234-.938a1.193 1.193 0 0 1-.752-.306l-.237-.2.122-.494c.484-1.973 1.034-4.209 4.472-4.697l.559-.079.011.564c.003.163-.024.308-.067.437 1.79-.771 3.205-1.861 3.327-2.259l.139-.457.462.118c1.108.282 1.241.14 1.529-.175.227-.248.537-.586 1.176-.829.807-.309 1.783-.431 2.728-.548 1.487-.186 2.905-.363 3.517-1.205-.42 0-.855.103-1.28.204-1.054.249-2.362.559-3.17-1.041l-.167-.33.111-.107c-1.309.252-2.652.299-3.031-1.063l-.101-.364c-.917.128-2.017.247-3.032.356l-2.241.247.842-.967c1.614-1.854 4.823-3.076 7.791-3.853-.377-.065-.709-.092-1.272.148l-.661.283-.035-.719c-.024-.509.313-.761.68-.905l-.104-.006.059-.522c.03-.267.183-.641.74-.908.687-.329 1.846-.4 2.583-.266l.278-.25c1.636-1.473 2.439-1.424 3.356-1.143-.083-.25-.067-.523.047-.817-3.888.108-8.548.572-10.924 1.593l-.346.149-.238-.292c-.769-.94-2.481-.555-4.295-.147-2.287.513-4.86 1.092-6.011-1.104-.164.107-.2.311-.254.715-.081.605-.216 1.62-1.674 1.684l-.06.002-.059-.011c-.675-.133-1.295-.337-1.895-.533-.716-.235-1.397-.458-2.159-.568-.578.701-1.518 1.11-2.584 1.11h-.02c-1.133-.005-2.133-.487-2.61-1.257l-.023-.038c-.205.095-.346.235-.519.404-.316.312-.71.7-1.537.798l-.33.039-.164-.288a1.168 1.168 0 0 1-.158-.631l-.099.146c-.271.405-.607.91-1.341 1.165l-.125.043-.13-.024c-2.947-.548-7.433-.302-9.941 1.232l-.242.148-.251-.131c-1.898-.995-4.401-.467-6.822.044-2.952.622-6 1.266-7.303-1.401-3.853 1.749-7.169 2.149-10.378 1.259-.023.062-.032.151-.039.212-.035.33-.117 1.101-1.083 1.183l-.121.01-.111-.046c-2.053-.841-4.385.119-6.854 1.136-2.017.831-4.113 1.687-6.187 1.607l-.467-.019-.013-.467a1.182 1.182 0 0 1 .146-.629c-2.594.571-5.12.492-7.43.417a57.597 57.597 0 0 0-2.943-.043.648.648 0 0 1 .13.477c-.113.905-2.365 1.593-3.353 1.494-.895-.093-1.167-.689-1.124-1.216l.036-.431.699-.041-.015-.434c-.026-.722.573-1.051.987-1.268-.286.036-.594.069-.921.104-1.349.145-3.028.324-4.041.913l-.457.266-.24-.47c-.054-.106-.141-.198-.242-.305-.152-.163-.339-.361-.458-.661-2.083.852-4.191.638-6.414.415-.854-.086-1.73-.175-2.638-.207.045.042.102.092.174.151.198.161.497.403.421.788-.08.406-.516.536-.703.592-.931.188-1.805.365-2.679.553l-1.254.27.741-1.048c.157-.221.169-.462.102-.577-.064-.109-.23-.121-.356-.117-1.461.567-3.118.901-4.72 1.224-2.417.487-4.917.991-6.738 2.295l-1.936 1.385 1.049-1.768-.177.099c-.33.186-.454.255-.625.255-.469 0-.536-.45-.576-.796-3.436-.101-8.155 1.331-12.347 2.6-4.144 1.254-7.796 2.358-9.972 2.031a1.693 1.693 0 0 1-.255.572c-.643.958-2.417 1.883-3.944 1.045l-.129-.071-.07-.129c-.282-.517-.224-.899-.073-1.176-5.795 1.519-11.943 2.645-18.427 3.833-4.486.821-9.112 1.668-13.81 2.685l.107.466-.556.063c-1.917.219-3.508.306-4.912.382-3.011.165-5.186.284-8.33 1.506l-.153.033c-2.898.164-7.434 1.134-10.746 1.842-.804.172-1.537.329-2.18.461a.645.645 0 0 1 .212.39c.052.331-.139.614-.567.843l-.182.097-.198-.059c-5.143-1.548-9.089-.657-15.629.818l-.312.07c.008.146 0 .304-.024.477l-.05.354-.351.067c-.38.073-.896.188-1.473.315-4.18.927-5.533 1.094-5.869.339a.657.657 0 0 1-.036-.099c-2.729.937-4.784.959-6.781.982-2.095.023-4.073.045-6.769 1.12l-.418.167-.209-.398c-.513-.975-1.622-1.178-2.889-1.07.221.016.439.052.655.111l.613.166-.305.557c-.792 1.445-2.019 1.673-3.318 1.915-.718.133-1.531.284-2.39.656l-1.827.79 1.236-1.56c.566-.714 1.775-1.707 3.153-2.25-.26.061-.515.124-.764.185-1.544.379-2.66.653-3.253.162a1.251 1.251 0 0 1-.04-.035c-1.695 1.139-4.139 1.183-5.959.033l-.647-.41-.043.214-.233.106c-2.631 1.192-6.291 1.475-9.791.755l-.208-.043.175.387-.467.202c-2.801 1.212-5.335 1.46-7.977.78l-.339-.088c-.104.071-.208.145-.313.22-.336.239-.684.487-1.142.686l-.188.082-.191-.074c-3.283-1.268-5.647-.945-8.386-.571-1.237.169-2.514.343-3.966.386-.517 1.182-2.182 1.546-3.798 1.9-.498.109-.997.218-1.456.351l-.533.154-.098-.546c-.068-.377-.245-.55-.527-.801l-.098-.087-.042-.125c-.251-.729.228-1.114.586-1.318-.167.038-.343.08-.525.123-2.016.473-4.745 1.115-7.097.32-1.04.83-3.742 1.932-5.739 1.645-.968-.141-1.667-.606-2.023-1.348l-.247-.515 1.553-.508c2.473-.817 4.63-1.533 6.361-1.281.518-.564 1.843-.814 3.869-1.153 1.411-.236 3.772-.631 4.031-1.165.007-.015.025-.052-.038-.167l-.623-1.136-.426.727c-.646 1.102-2.052 1.083-3.292 1.064-.551-.007-1.07-.016-1.429.077l-1.126.289.565-1.016c.714-1.285 3.254-1.212 4.621-1.173l1.084.025-.822-1.498c-1.728-.061-3.873.809-5.824 1.593-1.131.454-2.216.89-3.176 1.134.028.107.045.224.051.349l.018.382-.364.117c-.297.096-.568.197-.822.292-1.079.403-2.01.751-3.205-.014l-.446-.285.31-.429c-1.503-.059-3.142.375-4.836.824-1.088.288-2.199.581-3.331.766.356-.025.722-.042 1.083-.059.466-.022.932-.043 1.365-.083l.429-.039.102.419c.109.449-.018.766-.143.952-.389.578-1.23.704-2.121.836-.488.073-1.397.208-1.451.431l-.08.334-.341.045c-.378.049-.673-.003-.882-.159l-.8 1.176c-.408.599-.288.747-.049 1.04.419.515.667 1.11-.351 1.977l-.372.317-.326-.364c-.915-1.024-4.159-.187-6.528.424-.391.101-.774.2-1.139.289.092.167.155.375.175.634l.034.436-.427.092c-.364.079-.837.277-1.338.488-1.296.544-2.765 1.16-3.885.442l-.267-.171-.128.054-.058-.068-.044.018c-1.886.761-4.067 1.466-7.229 1.479l-1.663.006 1.384-.922c1.076-.717 2.223-1.124 3.373-1.341a.895.895 0 0 1-.142-.249c-2.956 1.045-7.223 1.547-9.179-.236-.737.289-1.45.577-2.148.858-4.118 1.662-7.675 3.096-12.424 3.304l-.37.016-.124-.349a4.182 4.182 0 0 1-.144-.581 4.97 4.97 0 0 0-.034-.165c-.249.322-.579.569-.886.798-.278.208-.54.403-.702.622l-.583.789-.296-.935a1.065 1.065 0 0 0-.068-.173c-.039.018-.083.042-.117.059-.176.092-.435.226-.717.167l-.042.205-.347.052c-.501.075-.728.289-1.015.559-.124.116-.256.241-.414.357.062.029.122.061.178.096l.101.063.062.103c.25.416.298.786.144 1.101-.262.535-.943.617-1.603.696-.308.037-.626.076-.802.151l-.446.192-.205-.44c-.295-.634-.191-1.239.286-1.66.071-.062.148-.119.231-.169-.431.09-.922.297-1.522.561-1.269.559-2.846 1.256-4.796.766l-.403-.101.025-.414c.016-.259.09-.465.155-.647.032-.089.06-.166.077-.239-.249.2-.398.475-.58.81-.287.531-.645 1.191-1.55 1.509l-.653.229-.004-.239c-1.774.89-4.308.515-6.008.264l-.437-.064c-.047.201-.193.407-.496.547l-.162.043c-4.551.438-8.643 1.451-12.6 2.43-2.316.573-4.71 1.166-7.164 1.634l-.439.084-.132-.428a.935.935 0 0 1-.041-.271c-.656.255-1.597.667-2.648 1.127-6.009 2.629-11.107 4.689-12.628 3.275-.322-.3-.466-.709-.429-1.222l-.156.249c-.104.166-.11.232-.11.233.267.363.417.754 0 1.42l-.162.258-.304-.026c-2.916-.25-3.567-.132-6.168.466l-.561.129a1.071 1.071 0 0 1-.25.329c-.757.674-2.666.494-3.111.189l-.292-.201.092-.342c.145-.536.633-1.016 1.307-1.284.715-.285 1.462-.26 1.999.067l.118.072.064.122c.033.064.061.125.084.185.338-.74 1.133-1.155 2.107-1.433a6.75 6.75 0 0 1-.15-.144c-.216-.208-.425-.407-.652-.556-1.631 1.793-3.442 1.402-5.05 1.056-1.289-.278-2.507-.541-3.705.167l-.527.312-.2-.579a1.386 1.386 0 0 1-.047-.168c-2.37 1.39-5.474 1.833-8.718 2.294-2.641.376-5.371.765-7.737 1.703l-.479.189-.176-.484a.93.93 0 0 1-.056-.436c-1.972.583-4.349 1.019-6.823 1.473-3.438.631-6.994 1.284-9.711 2.384l-1.65.668 1.043-1.406c-.085 0-.173.002-.247.003-.475.012-1.135.024-1.56-.292l-.014.026c-.075.141-.082.165-.074.205l.08.447-.438.122c-.711.197-1.257.15-1.738.107-.56-.049-1.042-.093-1.814.219l-.655.264-.031-.707c-.017-.38.118-.94.852-1.453 1.007-.704 2.745-1.002 3.645-.627l.192.08.03.074a7.87 7.87 0 0 1 1.552-1.134l-.021-.041c-.03-.028-.178-.067-.266-.09-.245-.065-.652-.172-.876-.545-2.044 1.564-5.223 2.443-8.562 2.842l.103.049c.468.242.733.644.748 1.13l.018.613-.604-.105c-.804-.14-1.25-.011-1.767.137-.478.138-1.019.292-1.812.199l-.408-.049-.031-.41c-.037-.481.214-.925.706-1.25a2.03 2.03 0 0 1 .135-.083 41.94 41.94 0 0 1-3.188.011c-.707 1.054-2.053 1.154-3.357 1.251-1.097.082-2.23.166-3.064.772l-.635-.77c.226-.211.304-.563.395-.972.151-.682.359-1.616 1.521-1.94l.322-.089.206.263c.125.159.202.321.245.479.338-.499.88-.847 1.518-1.104-.622-.501-1.977-.768-2.531-.715.054.065.135.149.253.255l-.632.773c-.83-.621-1.926-.454-3.087-.279-1.293.196-2.63.397-3.733-.471l-.923-.726 1.163-.162c2.691-.375 4.282-1.213 5.82-2.024.683-.36 1.344-.708 2.076-1.01-.565.015-1.075.154-1.647.31-.509.139-1.086.296-1.763.376l-.439.052-.08-.327-1.209 1.344c-.809.9-1.924 1.285-3.401 1.185l-.502-.035.038-.502c.037-.489.183-.835.445-1.059.389-.331.898-.288 1.388-.246.474.041.962.082 1.46-.136l1.732-.758a1.988 1.988 0 0 1-.023-.646c-.764.135-1.496.27-2.203.401-4.524.836-8.15 1.507-12.373.455.023.397-.062.87-.629 1.059l-.156.052-.157-.051c-.925-.301-2.042-.346-3.228-.242.034.016.067.033.1.052l.178.099.058.195c.165.553-.015 1.138-.479 1.565-.516.475-1.243.644-1.811.421-.299-.118-.812-.449-.884-1.349l-.015-.191.117-.152a1.85 1.85 0 0 1 .229-.248c-1.291.271-2.566.626-3.683.936l-.123.034c.051.145.075.31.068.496l-.012.389-.38.083c-.27.059-.546.126-.822.193-1.477.359-3.118.757-3.973-.07a4.332 4.332 0 0 0-.018.122c-.063.46-.18 1.318-1.325 1.429l-.119.012-.111-.043c-.749-.291-1.35-.746-1.932-1.187-.449-.34-.882-.668-1.364-.907a1.19 1.19 0 0 1-.107.21c-.651 1.025-3.461 1.925-4.676 1.262a1.216 1.216 0 0 1-.647-1.219c-.522.103-.991.24-1.449.374-1.364.399-2.556.749-4.147-.205l-.125.181c-.448.648-.909 1.315-1.65 1.842.501 1.835.526 2.927.548 3.896.017.722.031 1.364.224 2.244 1.253-.729 2.333-1.205 3.367-.932.537.14 1.006.471 1.422 1.005.334-.282.773-.48 1.157-.613 1.113-.383 2.617-.521 3.553-.13 1.323-1.367 3.119-1.547 5.079-1.504l.008-.241c.003-.093-.011-.126-.011-.126-.056-.004-.351.028-.481.041l-.98.099.499-.85c.517-.883 1.327-.618 1.811-.458.596.195.899.266 1.307-.228l.795-.965.089 1.247c.012.167.053.21.053.211l1.01.03-.564.797c-.613.754-1.17.518-1.505.377-.266-.113-.5-.211-1.009.098l.241.01c1.827.075 3.716.153 5.584-.434l.602-.189.046.629c.031.418.121.499.122.5.04.035.301.014.425.002.523-.042 1.31-.106 1.956.726l.444.572-.693.212c-1.047.321-1.995.731-2.912 1.128-.425.184-.85.367-1.285.543l-.945.382.276-.981c.212-.754.042-.859-.677-1.302l-.02-.012a2.212 2.212 0 0 1-.908.671c.05.049.097.106.14.17l.293.442-.459.267c-.647.375-1.363.714-2.055 1.042-1.014.48-2.063.977-2.852 1.575l-.429.326-.292-.453c-.316-.489-.796-.801-1.427-.926-1.403-.277-3.151.38-4.269 1.154l-.284.196-.284-.195c-.668-.459-1.012-.799-1.07-1.208-3.547 1.907-7.81 2.229-10.679 1.511a1.98 1.98 0 0 1-.735.958c-.889.6-2.119.353-3.309.113a18.419 18.419 0 0 0-.766-.144c.1.1.192.21.277.329l.568.792h-.974c-.525 0-.7.142-.964.356-.316.257-.708.575-1.574.575h-.028l-.433-.003-.058-.429c-.088-.641-.489-.736-1.526-.822.156.16.278.363.242.632-.054.399-.426.604-.745.738l-.15.037-.966.082c-3.123.262-4.416.37-6.642 1.854l-.456.304-.261-.482a6.312 6.312 0 0 1-.227-.472l-.139.075c-.56.302-1.174.463-1.881.492l-2.963.123a2.118 2.118 0 0 0-.945.644l-.216.287a2.921 2.921 0 0 0-.236.379l-.189.354-.387-.109c-.134-.038-.283-.055-.432-.075-.598-.078-1.711-.222-1.572-1.739l.041-.449.45-.006c.647-.015.922.413 1.122.692.094.131.153.213.215.253a1.53 1.53 0 0 1 .081-.972c.204-.467.627-.796 1.131-1.045-.553-.203-1.067-.469-1.531-.709-.613-.317-1.308-.674-1.562-.551-.064.031-.224.168-.333.76l-.076.415-.422-.005c-2.681-.033-4.91-.385-7.27-.758-1.691-.267-3.44-.544-5.467-.719l-.265-.023c.052.258.105.513.163.768l.075.33-.279.192c-1.495 1.03-2.701.859-4.096.661-.391-.056-.79-.112-1.221-.148l-.535.299c-1.812 1.014-3.561 1.083-5.411 1.155-1.778.07-3.617.142-5.617 1.121l-.943.461.236-1.023c.12-.516.101-.64.05-.974-.041-.273-.098-.647-.107-1.347l-.01-.726.682.249c1.631.596 4.479.71 5.848-.031.348-.188.555-.413.614-.667l.083-.355.363-.03c.305-.026.577.016.812.122l-.096-.347.611-.042c.923-.052 1.426.503 1.791.917.135.153.248.278.36.373l.091-.076c.941-.79 2.011-.87 3.047-.946.225-.017.447-.033.667-.056-.409-.207-.616-.709-.752-1.137l-.165-.518.53-.121c.466-.106.955-.199 1.443-.291l.156-.029c-.229-.194-.292-.246-.656-.087l-.588.257-.104-.634c-.217-1.312 1.189-1.587 2.251-1.776l-.155-.181.493.121c.093-.017.185-.035.275-.054l1.156-.242-.353.559c.393.09.495.042.496.041.024-.022.076-.141.11-.219.285-.654.712-1.294 2.368-1.423-.058-.67.347-1.085.639-1.384.156-.161.258-.272.312-.377-.323-.056-.692-.072-1.077-.088-.928-.039-1.979-.083-2.615-.806l-.404-.459.53-.305c3.276-1.883 5.632-2.1 8.129-.75l.082.044c.379-.269.771-.495 1.158-.717.383-.22.779-.448 1.147-.713l1.232-.887-.33 1.029c.472-.233 1.078-.46 1.686-.272.225.07.428.19.606.359.051-.094.1-.195.15-.301.198-.414.445-.929 1.036-1.249l.218-.118.226.102c2.756 1.246 7.053.691 10.506.246.406-.052.805-.104 1.191-.151-.159-.212-.266-.501-.279-.898l-.015-.425.417-.083c.082-.017.103-.038.198-.146a1.32 1.32 0 0 1 .505-.391l.284-.119.234.199c.628.535 1.449.365 2.318.184.957-.2 2.126-.442 2.849.582.461-.11.803-.21 1.079-.291.755-.221 1.116-.306 1.819-.132-.035-1.055.325-1.661 2.29-1.845l.525-.049.021.526c.021.523-.242.875-.495 1.139.786-.185 1.656-.435 2.559-.693 3.101-.888 6.3-1.805 8.329-.903 2.598-3.715 6.935-3.599 10.772-3.498 3.151.084 6.135.164 7.758-1.827a2.844 2.844 0 0 1-.352-.271l-.365-.329.321-.371c.506-.583 1.395-.845 2.406-1.039-.701.052-1.61.171-2.785.4-.068.559-.267 1.38-1.051 1.432-.468.033-.898-.237-1.279-.475-.248-.155-.541-.346-.719-.336-1.006.074-2.163.474-3.281.86-2.227.77-4.528 1.565-6.078.016l-.577-.577c-2.651.662-5.073 1.034-7.592 1.421-2.776.427-5.646.867-9.206 1.729l-.492.119-.113-.494c-.007-.03-.012-.06-.017-.088-.915.328-1.879.491-2.821.649-1.732.292-3.524.594-5.081 1.917l-.804.683-.02-1.055a1.313 1.313 0 0 1 .034-.323c-1.061.542-1.993 1.167-2.903 1.778l-2.238 1.499 1.317-2.036a.35.35 0 0 0 .055-.11c-.06-.044-.478-.201-.727-.294a8.132 8.132 0 0 1-.687-.281 1.21 1.21 0 0 1-.102.191c-.255.394-.721.636-1.385.719l-.11.014-.106-.034a1.756 1.756 0 0 1-.289-.121l-.743 1.082c-.572.832-2.398 1.908-3.669 1.169l-.252-.146.003-.292c.013-1.023 1.194-1.15 2.144-1.253.444-.048.904-.097 1.148-.213l1.117-.53a.813.813 0 0 1-.24-.603c-.451.184-.915.362-1.378.54-1.597.613-3.249 1.248-4.339 2.123l-.619.497-.181-.773c-.109-.468.189-.879.505-1.246-2.29 1.389-6.54 1.173-9.749 1.012a61.924 61.924 0 0 0-1.924-.08c-.155.439-.729.709-1.006.817a2.848 2.848 0 0 1-.27.09c.177.109.323.266.333.518.018.441-.423.659-.636.765l-.401.199-.242-.377c-.323-.504-1.085-.382-2.128-.157-.803.175-1.561.338-2.014-.131-.148-.185-.498-.63-.328-1.092.092-.248.279-.389.493-.478-1.599-.315-3.369-.452-5.285-.408l-1.705.039 1.415-.954c1.742-1.175 4.429-1.549 7.273-1.944 2.537-.353 5.315-.739 7.719-1.744l-.025-.078c-.227-.687-.387-.779-.394-.782-.046.008-.239.126-.366.204-.409.252-1.093.673-1.894.226l-.295-.166.044-.336c.328-2.5 2.514-2.324 4.113-2.196.465.038.939.075 1.36.06a1.349 1.349 0 0 1-.086-.554l.012-.396.389-.078c.083-.017.103-.038.199-.146a1.32 1.32 0 0 1 .505-.391l.138-.036c.203-.022.416-.041.637-.057a1.19 1.19 0 0 1-.385-.528c-.325.45-.796.819-1.033.927l-.485.221-.189-.499c-.065.008-.477.109-.723.17-.196.048-.392.096-.572.124l-.493.078-.08-.492c-.075-.466-.212-.807-.409-1.018-.771.177-1.276.511-1.807.863-.236.156-.472.312-.729.456l-.153.086-.173-.029a9.22 9.22 0 0 0-2.536-.043c.251.571.169 1.15-.222 1.555a1.577 1.577 0 0 1-1.684.349c-.517-.215-.823-.711-.824-1.333-1.609.47-3.243 1.139-4.852 1.797-.669.274-1.33.544-1.982.799l.095-.017c.985-.171 1.917-.068 2.74.022 1.123.124 2.093.23 2.945-.343l.338-.228.291.285c.134.131.25.287.363.443.316.437.423.585 1.08.272l.365-.173c.555-.879 1.786-1.151 2.71-1.279l.657-.091-.093.656c-.088.617-.604 1.206-1.38 1.577-.645.308-1.281.367-1.735.165-1.4 1.479-3.625 1.607-5.592 1.721-1.243.071-2.417.139-3.218.523l-2.643 1.269 2.073-2.073c.54-.54.765-1.264.687-2.212l-.031-.382c-2.047.783-4.01 1.384-5.884 1.407-.563.628-1.412.83-2.049.981-.214.051-.52.124-.658.191l.355 1.044-1.05-.455a.971.971 0 0 0-.118-.043v.001l.028.164c0 .702-.517 1.072-.895 1.343l-.266.191-.306-.151c-.791-.472-.854-.422-1.454.049-.182.143-.391.306-.651.48l-.263.176-.271-.162a53.867 53.867 0 0 0-1.336-.771c-1.563.666-2.618.967-3.831 1.315-.715.205-1.478.423-2.426.743l-.516.174-.13-.529a2.133 2.133 0 0 1-.063-.486c-.942.329-1.786.276-2.559-.153l-.075.037c-1.244.616-2.275 1.35-3.065 2.182l-.742.78-.117-1.071c-.011-.104-.039-.184-.069-.203-.006-.003-.168-.098-.738.108l-.039.014.012.081-.265.011-.745.271a.675.675 0 0 1-.042.285c-.077.207-.244.365-.497.472-1.444.415-2.299.051-3.054-.27-.572-.244-1.065-.457-1.802-.361l-.683.086.129-.677c.039-.204.105-.392.19-.565a3.784 3.784 0 0 1-1.515.725l-.531.125-.079-.54a2.774 2.774 0 0 1 .038-.947l.01-.054-.096-.014c-1.841 2.173-5.373 2.935-8.5 3.609l-.851.185v.1c0 .644-.534.925-.887 1.111-.142.074-.317.167-.365.236l-.491.718-.374-.785c-.09-.189-.275-.28-.595-.425-.371-.168-.877-.397-1.121-.976-1.231.779-2.616.992-4.067 1.216-1.163.179-2.365.364-3.583.855l-.296.119-.232-.218a5.092 5.092 0 0 1-.465-.553 10.017 10.017 0 0 0-.182-.234l-.008.247-.294.125c-1.791.761-3.119 1.041-6.028 1.652l-.584.123-.137-.431c-.457-1.435-1.887-1.607-3.544-1.807-.66-.08-1.335-.161-1.959-.334a.599.599 0 0 1 .046.354c-.063.379-.436.546-.595.617l-.146.065-.157-.031c-3.423-.688-5.772-.519-9.024-.283-1.17.084-2.477.179-3.99.245l-.4.979c-.625 1.533-1.855 1.188-2.755.937-.545-.152-1.107-.311-1.657-.211l-.398.072-.153-.374c-.151-.368-.065-.634.032-.792.267-.432.85-.475 1.413-.517.152-.011.374-.028.528-.056l-.145-.35.516-.185c.435-.135.748-.061.976.088l.483-.214c-.365-.034-.679-.107-.885-.282-1.319.76-3.031 1.45-4.388 1.679l.066.073h-.358c.08.383.06.787-.087 1.066a.787.787 0 0 1-.856.424l-.136-.043c-.499-.244-.721-.575-.854-.772l-.009-.013a4.195 4.195 0 0 0-.56.331l-.757.504-.021-.909c-.015-.677-.157-1.141-.42-1.378-.15-.135-.354-.206-.618-.216.006.081.019.207.027.292.037.392.115 1.208-.73 1.439l-.122.034-.123-.028a5.01 5.01 0 0 0-1.528-.14c-.363.014-.735.028-1.275-.107l-1.214-.303 1.089-.617c.191-.108.35-.234.478-.38a.77.77 0 0 1-.381-.223c-.259-.276-.261-.654-.167-1.023-.84-.06-1.618-.155-2.311-.372.089.202.184.393.277.582.351.708.712 1.436.478 2.374.807.254 1.205 1.029 1.512 1.628.164.319.318.62.506.836l.541.623-.802.192a41.777 41.777 0 0 1-3.168.624 1.871 1.871 0 0 1 .822 1.915c.181.013.363.024.545.036 1.171.073 2.383.148 3.292.718l.789.494-.848.385c-1.024.465-2.083.576-3.107.682-1.484.154-2.886.3-4.058 1.526l-.097.102-.136.036c-1.041.279-1.546-.309-1.881-.697-.331-.383-.469-.54-1.033-.328l-.32.121-.228-.254c-.446-.498-.208-1.074-.038-1.409l-1.481.012 1.265-.917c1.782-1.292 3.151-1.687 5.022-2.21-6.034.763-12.6.462-17.183-.898l-.534-.159.215-.514c.436-1.042.333-1.789-.363-2.392-.988 4.176-4.787 3.907-8.472 3.646-2.807-.2-5.708-.405-7.71 1.151-.043 1.041.2 1.477.556 2.116.275.494.618 1.109.863 2.12l.135.556-.569.059c-2.543.264-3.231 1.503-4.026 2.937-.215.388-.431.775-.681 1.141l-.073.107-.116.058c-1.451.725-2.496.994-3.602 1.278-.82.21-1.667.428-2.791.85.118.262.149.588.008.994l-.084.242-.245.073c-1.183.353-1.817 1.259-2.488 2.219-.668.956-1.411 2.018-2.755 2.25.767 1.586.426 2.85.189 3.725l-.573 2.342-.457-1.917c-.016-.002-.032 0-.049.001l.064.105-.147.352c-.086.156-.249.296-.459.406.102.108.19.226.265.356.163.287.24.609.23.963 1.141-.201 2.015.139 2.658 1.026l.191.264-.164.281a10.668 10.668 0 0 1-1.193 1.666c.25.22.551.397.864.582.319.188.648.382.95.635l.434.364-.415.386c-1.907 1.773-6.673 3.777-9.687 1.748-.363.277-.734.719-1.096 1.149a.794.794 0 0 1-.025.03c.795-.276 1.638-.424 2.34-.237a1.756 1.756 0 0 1 1.242 1.128l.29.781-.825-.111c-.828-.114-1.741.315-2.545.692-1.102.516-2.476 1.159-3.191-.264l-.125-.249c-.497-.086-.975-.393-1.454-.929l-.456-.51c-.801.337-1.671.374-2.505-.498l-.328-.343.325-.345a17.681 17.681 0 0 1 2.796-2.388c-.547.315-1.111.653-1.691 1.014l-.183.113-.208-.054c-1.837-.479-5.746.731-7.751 2.396l-.15.125-.195-.01c-.687-.035-1.136-.361-1.533-.649-.319-.231-.575-.417-.929-.454-.883.229-2.048.788-3.28 1.38-2.536 1.219-5.158 2.48-6.76 1.619a2.127 2.127 0 0 1-.914-.974.82.82 0 0 1-.161.464c-.153.202-.388.314-.698.333l-.074.004-.072-.017c-.819-.194-2.057-.487-2.115-2.155l-.007-.188.119-.146c1.983-2.434 4.631-4.508 7.191-6.513 1.899-1.487 3.856-3.021 5.514-4.683a23.635 23.635 0 0 0-.487-.192c-1.079-.417-2.287-.884-2.821-2.266-4.424.993-7.053 3.72-9.832 6.602-2.793 2.897-5.678 5.889-10.501 6.949.731 1.521.431 2.873.163 4.083-.32 1.443-.573 2.583.774 3.899l.713.697-.985.155c-.517.081-.911.215-1.176.4.106.276.212.544.315.805.924 2.342 1.667 4.224.477 6.445l.017-.001c.344-.023.986-.064 1.229.53l.229.56-.593.12c-.574.116-.64.394-.694 1.225-.014.219-.028.442-.067.662l.258-.029c.452-.05 1.292-.147 1.535.63 2.601 5.933 5.147 9.468 8.672 14.361a280.02 280.02 0 0 1 4.187 5.927c1.969.633 3.541 1.793 5.061 2.916 1.501 1.108 2.918 2.154 4.699 2.748l.518.173-.218.501c-.236.543.17 1.025.853 1.769.569.621 1.247 1.358 1.265 2.274 1.164-.142 1.595.468 1.753.899l.223.607-.643.063a4.07 4.07 0 0 0-.488.075c.109.041.208.097.298.17.596.485.443 1.437.362 1.948l-.015.089c.786 1.108 1.955 2.048 3.19 3.042 1.674 1.346 3.406 2.738 4.353 4.697l.208.431-.421.227c-2.301 1.24-4.807.848-7.23.469-2.362-.369-4.594-.718-6.222.62l-.233.191-.278-.117c-.498-.208-1.068-.333-1.672-.464-1.458-.317-3.112-.676-3.74-2.435l-.185-.516.53-.137c1.497-.387 1.934-.75 1.965-1.229-2.876-.747-6.304-1.447-10.68-.853l-.385.052-.146-.361c-.776-1.926-3.341-1.655-6.061-1.369-1.353.143-2.752.29-3.95.148l-.36-.043-.071-.355c-.116-.58.216-.925.448-1.138-4.198 1.252-9.79 1.772-15.166 1.395l-.25-.017-.135-.211c-1.178-1.837-3.996-2.175-6.721-2.501-2.918-.35-5.931-.71-6.832-3.051l-.396-.003c-2.053-.009-4.176-.02-5.386-1.42l-.14-.162.021-.213c.07-.733.272-1.374.467-1.994.368-1.169.716-2.274.125-3.922-.787-.872-2.204-1.022-3.701-1.18-.95-.101-1.925-.203-2.776-.508-.18.593-.618 1.181-1.249 1.644-.85.624-2.205 1.093-3.452.543l-.356-.158.066-.384c.108-.629.533-1.018.908-1.361.145-.133.286-.262.394-.393-1.096-1.075-1.628-2.161-2.144-3.214-.403-.823-.786-1.604-1.428-2.401l-.23.076c-1.407.464-3.534 1.165-4.274-.834l-.032-.087a.97.97 0 0 1-.059.05c-.524.412-1.235.079-1.923-.241a6.242 6.242 0 0 0-.717-.3c-.152.243-.091.447.067.879.193.527.458 1.249-.075 2.152l-.105.178-.201.052c-2.566.664-5.104-.349-7.341-1.244-2.671-1.067-4.481-1.687-5.824-.367.433-.02.978-.143 1.481-.256.231-.052.464-.104.691-.149l.222-.044.18.138c3.355 2.579 7.312 4.162 12.138 5.962l.339.126-.015.362c-.01.266-.085.478-.151.664a2.099 2.099 0 0 0-.082.266c.385-.192.719-.42 1.066-.658.601-.411 1.222-.836 2.144-1.105l.262-.077.206.179c.674.585 1.257 1.092 2.811.458l1.499-.611-.893 1.35c-.334.505-.291.684-.284.703.043.132.456.285.729.386.604.224 1.431.53 1.593 1.406l.06.324-.274.183c-.836.557-.836.557-.372 1.55l.42.91-.61.131c-.133.029-.154.059-.258.282-.158.34-.423.924-1.462.871a205.75 205.75 0 0 1-1.896-.067c-3.316-.126-7.036-.269-10.959.318 1.435.814 3.323 1.064 5.301 1.327 1.281.17 2.606.346 3.806.692l.354.102.008.368c.063 2.949 1.309 3.73 3.791 5.287.277.174.567.356.869.549a.796.796 0 0 0 .119.001l.008-.111c.012-.232.031-.583.332-.835.311-.26.738-.243 1.031-.207l.25.031.124.219a11.7 11.7 0 0 0 1.189 1.643zm-9.26-24.823c.006.16-.001.317-.032.464.176-.091.361-.129.546-.136-.181-.14-.338-.257-.514-.328zm519.28-4.829c.021.083.033.163.035.242a71.86 71.86 0 0 0 1.796-.687c-.564.174-1.167.327-1.831.445zm-13.574-.51c3.592 1.435 7.783-.193 11.524-1.648 2.103-.818 4.088-1.59 5.698-1.672l.021.411.077-.014c1.6-.29 2.708-.506 3.264-.829-.33-.039-.684-.121-1.022-.199-.463-.107-.992-.226-1.282-.202l-.145-.988c1.5-.303 2.074-.666 2.739-1.086.213-.135.436-.275.695-.418l.049-.175.022.136c.547-.295 1.263-.6 2.392-.891l.137-.035.135.042c3.448 1.067 11.494.574 13.047-2.551l.157-.316.351.042c1.826.22 6.993-.495 8.639-2.495l.224-.271.331.118c1.405.5 3.26-.2 5.223-.941 2.324-.879 4.726-1.786 6.735-.774a.041.041 0 0 0 .009-.004c.015-.029.031-.176.04-.263.033-.309.101-.951.821-1.136l.375-.096.187.34c.067.123.136.154.194.17.483.119 1.57-.55 2.289-.997.437-.272.85-.529 1.196-.678l.48-.207.185.49c.078.206.318.257.849.323.172.021.347.043.52.081 1.055-1.137 2.527-1.345 3.954-1.546 1.03-.145 2.084-.294 3.076-.769-.685-.033-1.365-.2-1.713-.88l-.274-.536.577-.172c2.026-.602 2.597-1.822 3.257-3.235.294-.628.612-1.31 1.083-1.965-.788.188-.903.639-1.102 1.417-.22.861-.493 1.933-1.816 2.834l-.591.403-.175-.693c-.134-.53-.054-.858.042-1.119-.864.274-1.511.229-2.088.189a9.118 9.118 0 0 0-.592-.028c.126.128.283.331.233.62-.065.379-.442.545-.603.617l-.375.165-.236-.334c-.063-.09-.317-.306-.502-.464-.621-.53-1.157-.988-1.053-1.526.029-.149.134-.417.517-.547.247-.055.444-.09.642-.125.671-.12 1.117-.221 1.341-.359-.618-.12-1.284-.183-1.98-.25a69.167 69.167 0 0 1-.881-.089c.365.786.222 1.575.115 2.16-.045.247-.087.481-.085.662l.006.529-.528-.023c-.717-.032-1.255-.142-1.688-.23-.94-.191-1.33-.271-2.47.642l-.419.336.139.22-.509.077-2.177 1.743 1.255-1.708c-.418-.072-.73-.269-.998-.438-.376-.237-.645-.408-1.193-.255.039.16.105.351.162.518.189.548.384 1.115.13 1.584-.09.166-.276.384-.652.479l-.46.116-.14-.454c-.344-1.111-.469-2.151-.384-3.227-.568.084-.76.357-1.021.729-.292.415-.653.928-1.531 1.11-.139.418-.645.538-.841.584l-.088.021-.09-.011a28.739 28.739 0 0 1-1.27-.201c-2.424-.418-4.075-.58-4.908.913l-.524.94-.38-1.007c-.092-.246-.324-.852-1.661-.519.471.982.044 1.548-.94 2.257l-.229.165-.26-.111c-2.058-.882-11.21 1.115-12.798 2.263l-.124.065c-.291.104-.55.095-.77-.03-.354-.2-.432-.598-.49-.888l-.027-.132a1.68 1.68 0 0 0-.175.102c-.457.279-.936.624-1.429.979-1.848 1.329-3.944 2.835-5.521 1.501l-.324-.274c-.157.066-.321.13-.495.189.239.789-.045 1.604-.57 2.054-.58.498-1.352.459-1.921-.098l-.634-.62 1.124-.286c.195-.045.51-.119.617-.192-.009-.012-.02-.048-.044-.1l-.036-.107-.083-.383c-1.304.051-2.54.61-3.95 1.248-1.395.631-2.934 1.328-4.808 1.635l.163.028c.845.141 2.003.333 2.3 1.624l.129.561-.573.049c-6.184.532-9.994 1.475-14.583 3.771 1.563-.119 2.657.031 3.469.457l1.151.603-1.258.324c-1.577.406-2.865.422-4.111.438-.636.008-1.253.016-1.899.072.13.104.287.3.295.648l.011.497-.497.015c-.272.008-.63.054-.795.231-.175.189-.177.572-.159.995.41.444.748.729 1.495.541.368-1.729 2.775-1.972 4.563-2.151.751-.076 1.604-.161 1.876-.336l.617.781c-.651.63-1.62 1.101-2.994 1.45zm22.869-3.366-1.995 1.48a23.545 23.545 0 0 1-2.678 1.745l125.5-35.804a5.995 5.995 0 0 0-.133.014c-1.857.196-3.777.398-5.325 1.031l-1.757.718.867-1.1c-1.84 1.642-4.556 1.941-7.407 2.254-1.665.183-3.386.373-4.945.849-.922.283-1.771.75-2.592 1.2-1.421.78-2.882 1.581-4.813 1.528l-.299-.009-.133-.269a1.657 1.657 0 0 1-.137-.376c-2.836 2.498-7.368 3.009-11.769 3.506-2.204.249-4.482.506-6.443 1.014-2.243.586-4.271 1.413-6.231 2.213-2.509 1.023-4.878 1.99-7.165 2.172l-.211.017-.159-.14c-.055-.048-.176-.092-.294-.134-.196-.07-.49-.176-.71-.419-.819.507-1.765.505-2.722.506-.299-.001-.6 0-.9.015l.062.183c.18.528.151.985-.087 1.357-.3.469-.902.745-1.842.843l-.441.046-.099-.432c-.046-.201-.089-.404-.132-.607l-.236-1.066.98-.202-.059-.078a2.99 2.99 0 0 1-.35-.585c-.224.083-.549.199-1.025.342l-1.428.428.881-1.203c.205-.28.205-.28-.006-.57-.157-.217-.372-.514-.486-.964l-.005-.019c-.069.144-.136.288-.203.431-.594 1.27-1.205 2.577-2.881 3.389.231.021.512.02.834.011.328-.007.656-.014.957.015l1.13.108-.842.761c-1.554 1.404-3.325 1.654-4.887 1.875-1.455.205-2.712.382-3.527 1.433l-.231.297-.35-.14c-.163-.065-.389-.093-.629-.124-.433-.054-.987-.124-1.361-.493-.211.119-.45.268-.697.421-1.017.633-2.168 1.353-3.07 1.116a1.252 1.252 0 0 1-.33-.138c-.035.331-.118 1.1-1.083 1.182l-.153.013-.134-.076c-1.637-.921-3.883-.071-6.055.751-1.92.727-3.902 1.475-5.586 1.047-2.029 2.075-6.855 2.751-8.965 2.629-2.135 3.417-10.197 3.881-13.93 2.799-1.169.312-1.814.629-2.338.942l.167 1.044c.122.758-.17 1.26-.759 1.624zm-29.929 1.527c-1.554.229-2.941.528-3.36 1.331l.274-.053c1.697-.326 2.836-.598 3.086-1.278zm27.438-2.957c.263.051.513.089.65.069l.143-.504a7.44 7.44 0 0 1-.793.435zm58.46-15.459.019.084.029.137c.472-.102.619-.25.663-.319a.227.227 0 0 0 .025-.052c-.215.045-.431.089-.647.132zm-25.258-.937c-.001 0-.001 0 0 0zm7.93-1.497a1.827 1.827 0 0 0-.094.779l.118-.161c.213-.29.213-.29 0-.583l-.024-.035zm17.217-.264.012.006c.229.117.288.333.32.448.02.074.047.171.12.308.738-.179 1.47-.182 2.137-.178 1.077-.01 1.94.001 2.562-.659l.813-.862.05 1.184c.007.169.008.187.344.308.129.046.28.1.426.187 2.082-.206 4.322-1.119 6.689-2.085 1.991-.812 4.049-1.652 6.357-2.255 2.03-.526 4.345-.787 6.583-1.04 4.818-.544 9.801-1.107 12.187-4.31l.215-.289.342.113c.448.147.811.031 1.163-.082.388-.125.919-.295 1.33.17l.152.172-.032.228a.915.915 0 0 1-.428.661c.629-.256 1.234-.588 1.854-.928.865-.475 1.76-.966 2.779-1.279h.001c.142-.043.285-.084.428-.124l-.116-.555c-5.236 1.019-11.626 2.212-17.736 1.699-.264.547-.661.786-.975.89-.863.287-1.826-.157-2.387-.498-.319.283-.78.427-1.176.552-.087.027-.17.054-.248.08a.75.75 0 0 1 .346.479l.087.33-.275.201a1.174 1.174 0 0 1-.198.118l.579.435-.734.358c-.801.39-1.548.14-2.136-.12-.008.24-.147.509-.524.673l-.207.09-.204-.095c-1.112-.519-2.348-.096-3.438.277-.8.274-1.565.535-2.156.315.062.144.255.393.369.539.311.4.662.854.542 1.367-.071.302-.287.543-.644.716l-.309.149-.25-.234c-.173-.162-.319-.275-.439-.369-.486-.38-.676-.634-.647-1.27-.304.037-.605.062-.901.076l-1.516.07 1.433-1.164c1.301-1.047 1.89-1.647 1.56-2.504-.629.487-.906.59-1.468.199a3.174 3.174 0 0 0-.556-.321c-1.707 1.496-4.291 1.623-7.02 1.757-2.673.131-5.426.267-7.472 1.708.272.135.474.334.621.536.065-.062.133-.123.204-.184l.353-.303.328.33c.664.669 1.773.543 2.845.418 1.049-.12 2.133-.244 2.827.429l.583.566-.768.266c-.235.081-.32.228-.475.524-.174.334-.413.792-1.033 1.006l-.145.05-.148-.04c-.492-.131-.831-.426-1.129-.686-.165-.143-.31-.27-.464-.36-.198.565-.56 1.014-.888 1.422-.101.129-.202.255-.299.384zm-10.25-.469c.077.074.163.151.246.225.04-.102.101-.203.183-.302-.106.02-.21.039-.311.056-.039.007-.078.015-.118.021zm4.179-.701.217.152c.33.232.554.448.619.722.292-.433.418-.884.532-1.329a1.304 1.304 0 0 1-.898-.253c-.2.435-.777.573-1.154.663-.121.029-.242.057-.349.093l-.743.248.088-.778c.021-.191.011-.302-.032-.389.005.596-.366.945-.865 1.167.131.006.259.015.385.023.613.042 1.145.079 1.951-.227zm-10.097.23c.263.105.513.18.848.146-.279-.196-.563-.244-.848-.146zm14.577-.721c.589 0 .88.445 1.046.735l.065-.082c.392-.487.732-.91.804-1.461-.555-.035-1.092-.167-1.565-.491-.454.458-.782.961-1.059 1.475.275-.125.509-.176.709-.176zm3.469-.885c.16.113.301.235.43.348.199.173.376.328.577.419.138-.089.216-.229.335-.458.065-.124.139-.266.238-.405-.389-.038-.889.019-1.404.077l-.176.019zm-7.207-1.714c-.087.351-.067.94.132 1.332l.011-.161-.008.002.009-.009c.01-.116.023-.229.035-.339.032-.278.075-.659-.006-.751-.023-.026-.078-.054-.173-.074zm1.174.927-.001.01a9.844 9.844 0 0 0-.035.341 1.9 1.9 0 0 1 .41-.439zm-485.21-.162c.258.074.688-.077 1.575-.492.523-.245 1.085-.508 1.676-.665-.964-.032-2.39.595-3.251 1.157zm-1.562-1.272c.196.135.365.203.553.199.564-.009 1.175-.736 1.766-1.438.508-.604 1.032-1.229 1.646-1.554l.29-.153.256.204c2.298 1.826 6.248.383 8.197-1.084-.102-.063-.208-.125-.316-.189-.508-.299-1.033-.608-1.436-1.138l-.259-.341.297-.309c.289-.3.559-.622.809-.964l-1.721.047c-4.682.127-9.889 2.346-13.147 5.566.588.314 1.22-.053 2.298-.829.656-.472 1.334-.959 2.065-1.103l.798-.157-.221.783c-.316 1.114-1.184 1.975-1.875 2.46zm.032-1.328-.217.156c-.354.255-.752.541-1.174.761l.328-.139c.212-.09.649-.365 1.063-.778zm531.019-1.505-.006.001-.219.039a5.27 5.27 0 0 0 .225-.04zm17.378-5.125a82.08 82.08 0 0 1-2.236.397c-2.099.353-4.111.691-6.087 1.488.644-.087 1.29-.159 1.927-.229 2.438-.268 4.771-.524 6.396-1.656zm-538.054.323 1.578.653c.079-.115.156-.232.231-.351-.343-.353-.848-.57-1.809-.302zm551.362-3.092c-.581.095-1.205.183-1.845.274-2.364.337-5.129.731-7.135 1.618.952-.165 1.936-.269 2.903-.37 2.341-.247 4.58-.482 6.077-1.522zm-554.874-.503.238.048c.287.058.582.118.874.188-.333-.162-.743-.282-1.067-.243a.533.533 0 0 0-.045.007zm586.411-7.954.021.034.002-.039a.155.155 0 0 0-.023.005zm-434.067-7.672c.019.218.043.377.064.518.023.156.042.288.048.426a11.13 11.13 0 0 1 2.263-.617 11.211 11.211 0 0 1-2.375-.327zm35.644-1.281.214.974-.343.1c-.464.133-1.07.307-1.528.537.759-.313 1.561-.28 2.299-.249.104.004.207.009.312.012.074-.255.055-.6-.058-1.029l-.133-.503.509-.112c2.373-.523 2.909.274 3.407 1.453l.049.115c2.174-1.334 3.728-1.464 6.627-1.708l.67-.057c-.297-.251-.667-.655-.473-1.247l.152-.461.466.138c.269.08.601.107.952.136.839.068 1.953.16 2.339 1.221.255-.053.397-.168.584-.32.139-.113.293-.238.497-.344a2.084 2.084 0 0 0-.532-.139l-1.035-.136.755-.721c.691-.662 1.813-.436 3.001-.197.943.19 2.01.405 2.552.039.231-.157.381-.43.457-.836l.103-.553.537.167c2.642.822 7.096.558 10.625-1.422l-.284-.506c-.374-.664-.773-1.043-1.221-1.161-.81-.215-1.917.402-3.175 1.166l-.563.342-.178-.634c-.38-1.354-.399-2.216-.421-3.129-.023-1.017-.047-2.069-.609-3.999l-.109-.374.335-.197c.749-.44 1.192-1.082 1.662-1.76.138-.199.275-.398.42-.592l.179-.239c-1.609.133-3.55.689-5.347 1.204-1.372.393-2.668.765-3.759.938l-.535.084-.059.249-.521-.176c-.918-.311-1.041-.275-1.841-.042-.356.104-.82.24-1.496.389l-.386.085-.172-.355c-.319-.66-.788-.631-1.95-.39-.858.179-1.903.396-2.827-.154a1.507 1.507 0 0 1-.25.231c.093.143.307.192.801.249.307.035.623.071.916.198l1.975.854-2.149.104c-.953.046-2.138.199-3.393.361-3.476.448-7.777 1.003-10.784-.215-.173.155-.283.372-.427.673-.17.355-.363.757-.762 1.072l-.473.372-.279-.533c-.129-.247-.274-.393-.441-.444-.349-.108-.856.161-1.227.357-.391.208-.796.421-1.14.134a.417.417 0 0 1-.048-.045c-.177.106-.353.208-.527.308-1.015.583-1.892 1.087-2.518 2.305l-.098.189-.205.061c-.545.162-1.101.286-1.385-.118-.189-.27-.112-.547.035-.803l-.256.077-.146-.476c-.108-.352-.011-.603.089-.752.149-.223.384-.345.659-.418-1.432-.32-2.912-.019-4.771.935.361.087.802.106 1.258.125.59.024 1.2.05 1.731.234l.279.097.05.291c.133.767-.303 1.214-.622 1.541-.342.352-.471.483-.25.949l.337.713h-.789c-1.733 0-1.93.45-2.104.848-.03.069-.062.138-.097.204.083-.007.17-.016.261-.028l1.037-.138-.544.894c-.307.504-.81.856-1.433 1.122l-.015.189c-.032.393-.232.662-.4.878 1.773.177 3.334.424 4.85.664 2.204.349 4.292.679 6.728.739.16-.535.417-.883.777-1.06.706-.347 1.52.073 2.461.561.962.491 2.048 1.059 3.141.894zm-28.723.065c-.16.301-.447.632-.958.909-.32.173-.693.308-1.101.409l.447-.018a25.706 25.706 0 0 0 2.009-.13l-.02-.271c-.039-.534-.168-.749-.27-.836a.294.294 0 0 0-.107-.063zm30.693.549c.029.209.037.406.024.589.077-.058.152-.124.227-.188.203-.175.426-.369.703-.419-.228-.053-.531-.05-.954.018zm-28.678-.235a.731.731 0 0 1-.025.175.89.89 0 0 1-.289.441c.153-.04.306-.085.458-.135l.172-.144a5.4 5.4 0 0 1-.316-.337zm3.813-.298c1.176.167 2.002.264 3.015-.329a13.655 13.655 0 0 1-.041-.196c-.86.365-1.714.428-2.486.485-.166.013-.33.025-.488.04zm-114.356-1.244c.698 0 1.084.446 1.362.768.286.331.418.464.743.412 1.401-1.391 3.011-1.559 4.57-1.72.447-.046.882-.092 1.306-.165-.445-.063-.921-.092-1.391-.122a22.966 22.966 0 0 1-1.263-.103l-.853-.102.51-.691a.834.834 0 0 0 .137-.667.86.86 0 0 0-.242-.442l-.729.206c-1.608.449-2.75.769-4.086 1.604.176.344-.007.689-.142.944l-.042.081.12-.003zm118.34-1.029c-.548.125-.984.445-1.382.739-.083.061-.166.122-.248.179a3.69 3.69 0 0 0 .718-.342l.615-.377.06.306c.049-.2.141-.366.237-.505zm-2.478.254c.021.028.033.038.034.039a.472.472 0 0 1 .068-.059l-.102.02zm2.681-2.27c-.011.191.013.412.072.664.255-.075.494-.156.708-.248a1.819 1.819 0 0 1-.78-.416zm-1.696.034c.191.087.335.209.45.305.114.096.187.157.274.177a2.895 2.895 0 0 1-.022-.638 8.38 8.38 0 0 0-.702.156zm56.057-2.506-1.027 1.649c-.107.172-.391.628-.382.745.024.068.205.211.379.338 1.294-.806 3.174-1.43 4.737-1.12.708.141 1.306.466 1.753.951.793-.528 1.723-.968 2.625-1.396l.548-.261c-.382.011-.753-.054-1.033-.334-.256-.257-.36-.639-.31-1.136l.079-.775c-1.924-.042-3.559.117-4.639 1.451l-.313.388-.389-.312c-.324-.261-1.164-.321-2.028-.188zm-.431.082c-.191.043-.38.097-.561.159-.741.256-.988.542-1.016.658l-.069.299c.116-.073.23-.148.343-.226zm12.543-1.4c.546.338 1.087.699 1.157 1.459l.485-.209a44.52 44.52 0 0 1 1.755-.729l-.073.006c-.358.028-.8.065-1.157-.24a1.213 1.213 0 0 1-.365-.591c-.602.153-1.205.248-1.802.304zm-4.514-.014.514.44c.361.309 1.201.399 1.872.2.237-.07.632-.231.8-.557-.776.013-1.532-.019-2.25-.048-.318-.013-.63-.026-.936-.035zm-165.223-1.412c.045.052.09.11.135.176.044.065.087.129.14.191a1.298 1.298 0 0 0-.086-.327 1.622 1.622 0 0 1-.189-.04zm5.443.156.033.009c.35.098.61.163.812.183a1.937 1.937 0 0 1-.334-.454l-.047-.08a.903.903 0 0 1-.464.342zm1.545-.517c.003 0 .086.012.298-.088l.683-.322-.252.009-.969.035c.027.043.05.084.071.12.048.084.129.223.169.246zm203.17-1.651a3.196 3.196 0 0 0-.215.06l.215-.06zm-9.654-1.013c-.151.201-.223.486-.309.876-.007.03-.013.061-.021.091a3.89 3.89 0 0 1 .177-.049c-.107-.257.003-.533.082-.728.029-.071.052-.134.071-.19zm16.846.22c.242 0 .463.02.675.039.354.031.67.06 1.047-.001a1.66 1.66 0 0 1 .155-.357l.05-.095c-.555-.079-1.459.074-2.127.42a2.72 2.72 0 0 1 .2-.006zm-9.39-3.686c-.671.37-1.355.509-1.979.636-.758.154-1.426.291-2.003.79.646-.17 1.331-.286 1.969-.395.624-.106 1.349-.229 1.842-.392-.034-.238.083-.466.168-.633l.003-.006zm-106.572 1.21.03.04c.098.02.669-.107 1.05-.19.447-.097.966-.209 1.469-.216a1.154 1.154 0 0 1 .066-.562l.136-.385-2.14-.323.229.059.237.063.095.226c.137.325.072.57-.007.718-.198.374-.637.461-.989.532l-.176.038zm40.482-1.036c-.323.111-.378.264-.381.492.105-.196.247-.356.381-.492zm-37.111-.183.12.164c.011.011.1.049.293.032a1.7 1.7 0 0 0 .371-.078zm72.122-.276c.041.154.114.252.22.294.204.079.542-.019.768-.227a.664.664 0 0 0 .208-.337c-.394-.099-.89.011-1.196.27zm85.361-.007c.533.025 1.192-.047 1.303-.218l-.004-.018c-.262-.096-.623-.072-.978.069a1.9 1.9 0 0 0-.321.167zm-192.219-1.226c.173.048.328.146.465.292a6.601 6.601 0 0 0 1.205-.9l-.21.071c-.515.174-1.019.344-1.46.537zm162.275-1.122c-.184.39-.428.721-.719 1.004.261-.136.523-.285.786-.448a4.333 4.333 0 0 1-.067-.556zm36.627.848c.555 0 1.18.031 1.958.092a1.25 1.25 0 0 1-.214-.438c-.532.116-1.1.208-1.655.297l-.312.05.223-.001zm-184.876-.45c.075.033.152.07.232.111a.951.951 0 0 0 .189-.186c-.103.016-.273.047-.421.075zm187.07-1.347c-.425.166-.874.381-1.324.604.497-.089.975-.189 1.387-.316l.048-.015a.87.87 0 0 1-.11-.269zm-175.168-1.415a3.949 3.949 0 0 1-.223 1.312c.695-.125 1.46-.168 2.252-.214 1.348-.078 2.729-.157 3.816-.644-.26-.177-.439-.425-.58-.618a.485.485 0 0 0-.02-.028c-1.042.517-2.145.396-3.216.278-.659-.071-1.337-.147-2.029-.086zm77.936-.147c-.526 0-.732.108-.767.165-.014.023-.022.082-.001.183 1.437-.354 1.897-.334 3.413-.269l.396.017c-.554-.254-1.254-.355-1.979-.46a26.584 26.584 0 0 1-.469-.07l.216.434zm-13.237-2.425c-.351.105-.696.204-1.038.298.458-.049.792-.156 1.038-.298zm-57.443-.583c.036.033.07.047.09.055.18.076.445.021.581-.12a.284.284 0 0 0 .061-.086l-.358.074-.374.077zm15.406-2.821c.17.218.238.515.202.886l-.04.401-.4.046a5.273 5.273 0 0 0-.46.078c1.444-.1 2.81-.299 3.282-.824a.557.557 0 0 0 .149-.44l-.029-.473.47-.055c.185-.022.367-.029.55-.021a4.829 4.829 0 0 1-.63-.64c-1.082.52-1.996.78-3.094 1.042zm206.92-.788c-.287 0-.592.08-.758.227a.367.367 0 0 0-.069.075c.15-.024.304-.043.456-.061.247-.03.642-.077.801-.149a.34.34 0 0 1-.014-.023 1.153 1.153 0 0 0-.416-.069zm2.484-3.375.012.013.003-.016-.015.003zm33.79-3.691c.074.22.09.51.011.894l-.024.116c.304-.12.468-.283.619-.434.055-.055.109-.106.164-.152a5.958 5.958 0 0 0-.77-.424zm4.636-3.356c2.427.977 5.477-.158 7.792-1.018l1.478-.548a.708.708 0 0 1-.064-.07c-.288-.355-.169-.813-.043-1.181l-1.694.193c-.15.09-.3.181-.446.273l-.319.203-.282-.252a.931.931 0 0 0-.123-.091l-.62.071.426-.163c-.753-.273-2.113.034-3.333.31-.34.077-.681.154-1.015.221-.186 1.042-.766 1.72-1.757 2.052zm308.28.001.223.269c.135.042.874-.146 1.343-.61a7.576 7.576 0 0 1-1.566.341zm-288.068-1.446c.222.163.513.27.878.323 1.857.273 4.579-.973 5.112-1.563l.114-.126c-1.481-.159-3.485.502-5.772 1.257zm-9.934-1.6a2.694 2.694 0 0 1-.12.409c.459-.311 1.153-.414 1.79-.509.185-.028.403-.06.614-.1l-.053.002c-.788.037-1.596.074-2.231.198zm75.506-1.07c-.812.032-1.675.378-2.423.827l.292-.055c.918-.17 1.606-.298 2.131-.772zm-76.405.122c-.084.09-.173.177-.266.26l.247-.095c.217-.082.46-.146.72-.197-.233.018-.467.028-.701.032zm52.077-.378c-.779.035-1.193.124-1.392.381.171-.044.353-.099.533-.153.275-.082.569-.171.859-.228zm13.976-.418c1.619.559 3.395.117 4.378-.782l.825-.754c-.445.126-.909.24-1.396.359-1.144.282-2.413.593-3.807 1.177zm-2.048-.526c.017.153.001.295-.016.396l.667-.331c.504-.25.991-.461 1.463-.645a6.804 6.804 0 0 1-1.123-.188.927.927 0 0 1-.301.521c-.192.169-.432.239-.69.247zm-40.174-3.585 2.209 2.214c.377.395.621.644 1.177.541.218-.277.501-.552.821-.861.547-.53 1.167-1.132 1.638-1.922l.606-1.019-.219.024c-1.664.187-3.384.379-4.235 1.319l-.27.298-.349-.2c-.408-.233-.873-.356-1.378-.394zm72.242 1.933-.589.421a5.752 5.752 0 0 0-.292.22c.26-.014.594-.055.965-.113l-.057-.298a1.547 1.547 0 0 1-.027-.23zm3.244-.577c-.15.234-.342.435-.577.602.306-.066.587-.128.825-.181a87.34 87.34 0 0 1 1.109-.242.198.198 0 0 0-.029-.088c-.065-.074-.447-.065-.65-.063-.219.003-.452.008-.678-.028zm-29.126.298a6.675 6.675 0 0 1-.3.244c.171-.042.34-.084.505-.127a1.666 1.666 0 0 1-.205-.117zm28.344-.937a4.187 4.187 0 0 0-.225.069c-.452.154-.908.405-1.119.718.916-.158 1.221-.543 1.344-.787zm-68.091-1.783.159 1.229c.034.262.077.406.107.48.142-.072.375-.253.524-.37.51-.396 1.089-.848 1.731-.674.314.084.575.307.779.665.17-.029.192-.13.251-.407.073-.34.184-.854.769-1.092l.118-.048.126.015c.627.071 1.118.288 1.592.498.533.235 1.015.482 1.625.434 5.662-3.001 12.267-3.798 18.656-4.569 2.543-.307 5.005-.604 7.375-1.025-.575-.096-1.094-.283-1.523-.611l-.729-.558.583-.209a1.135 1.135 0 0 1-.064-.057l-.504-.485.622-.32a4.16 4.16 0 0 1 .654-.271 1.914 1.914 0 0 1-.066-.054c-.202-.164-.331-.262-.495-.29-3.146 2.979-7.906 3.712-12.512 4.422-3.446.531-7.01 1.08-9.848 2.56l-.487.254-.207-.508c-.183-.448-.419-.718-.574-.656-.183.073-.343.415-.25.65l.296.753-.806-.072c-1.902-.17-2.615-.784-3.369-1.434l-.019-.016c-.918 1.281-2.711 1.559-4.514 1.766zm34.599-7.546a8.68 8.68 0 0 1 1.148.197c.047-.214.169-.425.318-.623l-.117.025c-.4.089-.88.195-1.425.124.031.084.058.176.076.277zm264.79-9.071.005.04.03.256.451-.094a7.79 7.79 0 0 0-.22-.091 5.628 5.628 0 0 1-.266-.111zm-2.578-.878a12.01 12.01 0 0 0-1.762 1.007c1.166-.127 2.369-.265 3.205-.412a.24.24 0 0 0-.056-.05c-.13-.087-.389-.083-.729.013l-.471.133-.143-.468a1.096 1.096 0 0 1-.044-.223zm6.89-4.498c-.063.381-.329.624-.504.784-.229.208-.229.208-.112.423l.14.257c1.533-.313 2.834-.5 3.574-.594l.037-.174a.388.388 0 0 1 .007-.033l-.165.051c-1.55.487-2.348-.156-2.977-.714zm-2.484 1.021.042.008c.259.048.481.089.753.058-.044-.534.312-.86.509-1.041a.086.086 0 0 0 .014-.013c-.475-.04-1.19.024-1.605.162.169.2.269.474.285.806zm5.837-1.212.008.001c.002-.003-.003-.002-.008-.001zm-2.729-.593c.2.178.381.337.578.456.113-.374.625-.572 1.966-.846-.188-.042-.357-.096-.516-.146-.574-.182-.976-.309-2.028.536zm-29.678-1.184c.355.28.885.449 1.461.452h.014c.786 0 1.486-.307 1.863-.811-1.174.196-2.314.212-3.175-.061a1.394 1.394 0 0 1-.163.42zm-2.678-.038a1.508 1.508 0 0 1-.083.204c.094-.062.178-.136.264-.219zm3.893-1.191c1.002.088 2.306-.127 3.509-.488-1.184.133-2.387.268-3.509.488zm-357.212 132.878c-.469 0-.857-.064-1.041-.196l-.274-.198.053-.386c.093-.375.417-.578 2.143-.825.406-.378 1.006-.632 1.827-.775l.487-.084.091.485c.058.313.047.907-.683 1.37-.627.396-1.748.609-2.603.609zm-413.081-9.801c-.661 0-1.152-.216-1.603-.415-.285-.125-.554-.244-.852-.298l-.29-.052-.095-.279c-.999-2.948-.964-3.419-.587-5.754l.182-1.153.208-.12c.377-.217.849-.349 1.304-.476.527-.146 1.182-.329 1.308-.593.062-.131-.004-.342-.07-.495l-.499-1.148 1.152.488c.237.101.617.112.984.123.471.014.958.028 1.382.211l.187.081.077.188c.678 1.648-.547 2.336-1.357 2.792-.271.152-.529.297-.723.458.174 1 .502 1.693.794 2.311.525 1.111.979 2.07-.124 3.744l-.098.149-.17.053c-.42.133-.786.185-1.11.185zm-1.981-1.628c.286.08.536.19.781.298.571.251 1.029.454 1.842.241.674-1.097.427-1.618-.043-2.613-.329-.695-.738-1.561-.92-2.846l-.032-.226.149-.172c.309-.355.733-.595 1.145-.826.862-.485 1.176-.726.997-1.331-.235-.053-.534-.062-.825-.07-.171-.005-.344-.01-.515-.023a1.24 1.24 0 0 1-.121.486c-.322.676-1.146.905-1.943 1.126a7.369 7.369 0 0 0-.87.279l-.105.665c-.342 2.126-.396 2.459.46 5.012zm-5.14-.894-.204-.351c-.454-.783-.218-1.274-.061-1.6.104-.216.143-.297.054-.512l-.754-1.818 1.53 1.238c.159.129.338.232.515.337.616.365 1.383.82 1.477 2.088l.03.412-.398.108c-.501.136-.849.048-1.128-.022-.238-.061-.396-.1-.677-.007zm.696-1.182c.242 0 .439.05.612.093.049.012.095.024.138.033-.137-.313-.383-.492-.707-.689-.033.085-.07.161-.102.229-.067.14-.111.23-.102.341.056-.005.109-.007.161-.007zm50.121-15.447c-1.189 0-2.28-.646-2.957-1.815-.78-1.347-.914-3.405.636-4.742l.219-.188.272.095c.467.163.98.268 1.523.379 1.665.34 3.552.726 4.025 2.997l.071.338-.292.186a10.49 10.49 0 0 1-1.108.586c-.487.233-1.153.553-1.203.781-.012.058.033.19.196.385l.464.553-.681.24c-.39.138-.783.205-1.165.205zm-1.864-5.611c-.906.965-.771 2.357-.228 3.295.435.75 1.249 1.42 2.332 1.306a1.127 1.127 0 0 1-.029-.583c.153-.708.927-1.079 1.748-1.472.231-.111.468-.225.69-.346-.449-1.327-1.71-1.585-3.155-1.881a15.829 15.829 0 0 1-1.358-.319zm153.917-19.441c-.388 0-.752-.059-1.055-.194-.678-.303-.979-.947-.826-1.765l.12-.643.589.285c1.099.531 1.888.463 2.889.376.339-.029.694-.06 1.083-.071l1.055-.03-.645.835c-.46.594-1.957 1.207-3.21 1.207zm-26.565-1.447-.14-.481c-.142-.488-.015-.842.077-1.102.077-.215.115-.323.044-.521l-.47-1.31 1.196.711c.435.258.657.164 1.235-.151.394-.214.883-.48 1.542-.549l.461-.048.083.456c.324 1.792-1.495 2.289-2.956 2.688-.198.054-.396.108-.59.166zm.978-1.566a2.504 2.504 0 0 1-.082.271c1.115-.308 1.802-.548 2.054-.945-.187.078-.36.172-.531.265-.399.217-.867.472-1.441.409zm97.471-8.272-.645-.131c-1.138-.231-1.484-1.359-1.599-1.729l-.091-.296.225-.213c.601-.571 1.393-.892 2.42-.979l.372-.032.136.347c.383.976-.185 1.525-.524 1.853-.256.248-.353.357-.34.523zm-1.178-1.846c.098.235.202.395.307.504.132-.23.316-.409.47-.557.175-.169.282-.278.327-.391-.441.083-.802.229-1.104.444zm5.328 1.606c-.052 0-.106-.001-.162-.004l-.209-.011-.154-.173c-.271-.304-.396-.426-.643-.414l-.434.009-.07-.428c-.14-.846.547-1.239.957-1.475.46-.264.494-.331.473-.457l-.09-.556.562-.024c.562-.016.802.291.839.566a.655.655 0 0 1-.055.355c.059.007.121.01.169.013.255.013.586.03.858.205.098-.181.239-.348.42-.494.727-.587 1.957-.73 2.685-.314l.209.12.037.238c.205 1.335-1.259 1.601-2.328 1.794-.182.033-.363.066-.536.103l-.083.018-.005.06-.433.022c-.327.017-.429.113-.615.287-.254.239-.595.56-1.392.56zm-.497-1.457c.244.118.431.291.585.457.327-.013.439-.118.62-.288a2.31 2.31 0 0 1 .39-.312c-.236-.013-.632-.044-.92-.276-.137.101-.278.181-.396.249-.12.069-.211.124-.279.17zm4.642-.978c-.357 0-.782.107-1.055.328a.98.98 0 0 0-.056.049c.641-.12 1.055-.226 1.248-.371a1.52 1.52 0 0 0-.137-.006zm3.505-1.767c-.334 0-.722-.082-1.122-.167a6.415 6.415 0 0 0-.691-.116l-.584.034.058-.583c.084-.843.481-1.162.799-1.28.907-.34 2.01.612 2.327.911l.125.118.026.171a.747.747 0 0 1-.217.677c-.184.174-.433.235-.721.235zm-1.097-1.184.146.031a.619.619 0 0 0-.146-.031zm-1.371-3.89.027-.6c.031-.681.495-1.363 1.181-1.738.67-.366 1.415-.368 2.043-.003l.352.205-.129.386c-.298.896-1.24 1.442-2.879 1.668zm2.16-1.608a1.244 1.244 0 0 0-.473.148 1.482 1.482 0 0 0-.266.188c.308-.092.555-.205.739-.336zm204.628-18.851c-.045 0-.089-.001-.133-.005-.792-.058-1.297-.619-1.318-1.463l-.008-.338.311-.134c.885-.382 1.463-.28 1.929-.198.305.054.546.096.881.024l.726-.156-.127.731c-.154.867-1.333 1.539-2.261 1.539zm-.375-1.155c.067.107.176.143.315.153.226.017.468-.047.688-.147a.185.185 0 0 1-.023-.004c-.322-.057-.591-.105-.98-.002zm-15.264-.785-.314-.06c-.466-.089-.643-.444-.612-.756.079-.791 1.719-1.864 2.842-1.864h.016c.83.007 1.368.552 1.441 1.456l.043.535-.536.005c-.229 0-.465-.01-.708-.022-.969-.049-1.632-.045-1.986.446zm309.962-13.614-.011-.57c-.021-1.138.96-1.652 1.749-2.065.283-.148.55-.289.764-.445l.729-.533.064.901c.016.216.05.219.143.225l.623.04-.174.599c-.337 1.16-1.796 1.533-3.322 1.764zm2.531-1.925c-.11.06-.22.118-.33.175-.351.184-.639.34-.846.504.533-.121 1.021-.285 1.313-.523a.981.981 0 0 1-.137-.156zm-93.492-9.1c-.171 0-.328-.013-.463-.04-.637-.129-1.003-.554-.981-1.135l.018-.452.451-.028c1.605-.1 2.483-.606 3.413-1.143a14.58 14.58 0 0 1 1.084-.585l.371-.175.245.33a.813.813 0 0 1 .157.667c-.066.315-.304.546-.572.732l-.162.428c-.271.715-2.31 1.401-3.561 1.401z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M1492.694 1442.57c-10.97 2.795-19.788 4.182-30.802 6.322.799.422 2.163.1 2.884.632-.322.155-.865.189-.799.566.355.022.865-.166.965.211-1.697-.033-4.026 1.32-2.839 1.808.477-1.442 2.617-.932 3.96-.81.954-.965-1.342-1.852.388-2.529 3.095.81 7.188-2.684 9.051-.632-1.353 1.342-6.578-.033-7.154 3.095 2.507-.499 5.38-2.041 7.642-.754.355-.488.71-.965 1.076-1.442 1.764.355-.211.788.688 1.076.61-1.165 4.459-.044 2.041-1.231 4.004.61 7.276.266 10.726-1.386-2.973.555-3.394-.355-5.169-.566 2.762-1.719 5.025.754 6.6-1.353-.71.033-.488-.799-.244-1.176-1.165.233-2.551.754-2.806-.233.342-.833 3.836.176 3.792-1.598zm-10.26 5.779c.266-.776 1.198-1.154 2.473-1.331.388 1.231-1.63 1.819-2.473 1.331z\",\n fillRule: \"evenodd\",\n stroke: \"#c0d625\",\n strokeMiterlimit: 10\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1541.287 994.859a88.415 88.415 0 0 0-2.096 7.221c.288-.011.532-.078.743-.189l-63.512 328.285-12.301 47.085c-.765.621-1.686.932-2.773-.078.555-.954 1.121.344.876-1.453-1.819-.776-1.697 1.752-1.653 2.595-.377-.544-.566-.311-1.142-.366-.621 3.028-3.073 4.537-1.043 7.321 1.231.344 1.498-.81 2.684-.544.998.089.566.765.799 1.165.055.122.177.222.421.277-.067.666-.488 1.253-.965 1.797-1.021 1.176-2.285 2.174-.876 3.328.155.122.333.244.543.366-.067.632-.599 1.176-1.054 1.608-.422.422-.788.754-.599.987-1.509-.898-.899.643-.366 2.717l-8.574 32.799c-2.329 2.684-5.535 3.505-7.187 6.589-.466.222-1.442-.344-1.442.588-1.653-.621-2.263-1.664-2.451-2.873-.366 1.608-1.642 2.052-3.106 4.57-.022-1.619-1.985.499-1.22-1.431-1.01.067-.921 1.996-.311 2.329-.954 1.198-1.564.776-1.941 2.163-1.109-.366-1.93.754-2.473-.1-.233.555.255.81-.022 1.386-.954-.166-.643-.843-1.797-.932 1.386-1.764 4.337-1.087 5.568-3.084-1.386-.444-1.143 1.675-2.773.854.422-.632-.588-.688-.466-1.187-3.694.266-6.234 2.573-6.089 6.045-1.742.943-1.486-.222-3.893-.898.133-.421.255-.854.388-1.264-.632.455-1.353.499-1.031-.688-2.252-.188-3.693.843-5.457 1.386-2.052-1.619-10.848 1.265-9.217-3.993-1.065-.588-1.009-3.061-1.586-2.939-.044-3.106-1.042-5.823-2.862-8.208 1.764-2.962-4.559-4.914-2.008-8.297.51.166 1.021.333 1.52.488.188-4.426 6.455-4.98 5.845-10.637-3.084.366-4.004 4.093-8.042 2.984.122-.51.555-1.142.011-1.386-1.142-.677-.854.865-1.542.898-.843-.366-.599-1.12.022-1.386-3.25.244-2.573-3.317-6.356-3.771.666-1.098 1.464-1.963-.444-2.573 1.076-1.298 1.497-2.906-.532-3.638 1.597-3.572 7.886-2.041 8.463-5.635.721-.288 1.786-.055 2.296-.654.288.344.399.754.466 1.187 2.817 0 3.039-4.037 5.868-4.037-.067-2.363-.166-4.348 1.497-6.112-1.719-1.309-1.176 1.93-2.196.333.211.377.188.843-.011 1.386-.621.288-1.907-.455-2.196.344-.943-.355.222-1.109.388-1.265-1.142-.488-2.052.144-2.662-.854-1.01 1.597 1.298 1.864 1.109 3.128-1.209.532-2.718-1.83-3.05.422-.865-.111-.588-.688-.466-1.198-.355.078-.732.133-1.242-.044.51.832.621.477-.022 1.386-.743-.388-1.065-.111-1.619-.177-1.01-1.187-3.583-.832-3.627.921-1.32-1.453-3.061-.233-3.927.488-.732-.432-.655-.754-.078-1.065-5.934-.821-5.901 6.289-8.042 10.97.422.2.699.155.854-.067-.366.788-.854 2.474-1.952 3.549-.055.388.61.488 1.042.677-1.164 6.433-.688 11.513-3.161 18.102-.055.388.61.488 1.043.688-1.02 5.147.455 8.618-1.298 13.477.932.366 1.342-.1 1.808-.455.788.61-.665 2.107.943 2.385-.71.788-1.597 1.276-1.753 2.906.643.222 1.054.089 1.331-.266-2.096 2.507-4.215 12.057-10.914 12.146.588 4.215 4.98 5.457 5.901 9.195-1.652 1.497-4.758.743-6.511 2.085-.599-1.386-3.294-1.708-4.004-.588-1.242-2.618.61-6.5.488-9.572-3.76-1.165-3.882 3.35-8.585.721-.322-.787-.466-1.653-1.409-2.185-.621.155-1.021.61-1.819.466-1.298-.765-1.253-2.074-2.928-2.673 1.653-3.893-2.84-5.291-1.331-9.118-4.392-2.229-8.274-.188-12.401-.488-.787.865 1.154.632.366 1.497-2.995 1.043-4.392 1.886-7.631.344-2.241 1.686-3.671 4.636-6.644 5.169 1.242-3.671 3.55-6.522 5.346-9.062.555-.776-.555-.876-.366-1.497-1.631-.244-1.841-.166-2.074-1.364-1.386-.466-2.008 1.819-3.35-.033-.078 1.442-.943 1.664-1.83 1.852-.244 1.198.388 2.041.255 3.206-.843-.122-.943-.543-1.431-.799-3.228 2.008-6.478 4.004-10.36 5.025-.266.832-.421 1.852-1.076 2.085-2.762-3.882 5.424-4.348 6.4-8.385-.932-1.154-2.285-.41-2.851-1.597.3-.61 3.139-1.076.599-1.897.411-.921 1.742-.422 2.108-1.409 1.031.621-.544.943-.488 1.575 1.83.366 1.83-1.386 2.03-2.474 2.607-.222 4.392.677 7.055.166.555.51.443 1.298 1.131 1.753 1.464-.788.854-3.095-.532-3.638 1.897-.81 2.595-3.494 4.914-3.649 2.873.588 3.549 2.052 5.302 3.095 1.719-.144 2.54-1.697 3.472-3.061 4.526 1.242 5.845-6.145 10.659-5.978 2.385-3.017 4.47-7.01 4.98-10.571 1.12.111.577.876 1.331 1.12 1.808-2.03 2.074-6.489 5.601-5.845 1.276-3.039 3.294-4.914 5.413-6.611 1.254.41 1.176 1.364.932 2.385 2.207.466 3.006-1.287 4.414-2.063-1.142-3.483 4.803-5.169 4.492-8.995-3.605-.466-6.811 1.364-10.038 1.309-.155 0-1.941-1.619-2.096.022-.643-.288-.699-.821-.366-1.508-.699-.133-1.043.266-1.154 1.02-1.431-1.42-3.871.333-5.147-.943-2.651 1.808-6.5 1.786-9.106 3.682-9.872-.122-14.73.455-23.559-.932-.721-.177-.566.998-1.153 1.021-.643-.654-2.23-.932-1.886-1.997-.577-.1-.432.899-1.065.71-1.586-2.174-3.882-2.318-7.021-2.939-.211-.377-.188-.854.011-1.398-3.749.577-4.381-2.884-8.263-2.984 2.529-7.077-5.812-12.556-3.505-19.544 1.985.577 2.861-.566 4.115-1.109 2.096 4.293 2.573 9.251 5.002 13.41 1.154.532 1.675.1 2.207-.344.377-.699-1.797-.377-.854-1.309 4.392 1.653 2.518-4.914 3.139-7.332.488-.654 1.531-.444 2.019-1.098-.688-2.085-.178-5.202 1.12-6.245-.577-3.649-.909-8.53 1.93-10.16-2.03 3.394-1.886 7.997-.222 11.402 2.274-.277.399-2.662.81-3.916.987.799 1.331 2.041 1.309 2.507 3.017-.277.144-2.729.044-4.159 3.139-.776 3.183-4.714 2.462-6.511-.798.178-1.419.632-2.307.655a9.462 9.462 0 0 0-1.12-1.741c-.899 0-1.586.344-1.742 1.531-1.741-1.553-3.017.222-4.115 1.109-1.63-.876 1.342-2.396 1.741-1.531.344-.555.1-1.22-.188-.754-.455-.222-.2-1.098.299-.943-.754-.577-1.808-1.619-4.082-1.653 1.475-1.797-1.985-3.483-1.564-5.712-1.021-.909-1.919.677-1.997-.299.033-.577.488-.499.965-.388.188-2.196.81-2.884.721-4.98-1.054-1.497-2.862-2.695-1.753-5.08-2.252-.654-2.695-.022-4.67-1.142-1.73-5.014 8.463-8.408 1.863-12.611 1.364-.577 2.496-.222 3.527.776 4.149-3.073 7.576-8.774 8.829-13.499-1.043.089-2.54-.521-3.05.41-1.12-1.242-2.318-.754-4.182-1.342.987-.344 1.653-1.176 2.307-2.041.3.311 1.176 1.187 1.242.056.488.344.776.787.843 1.309.643-.532.432-.865 1.353-1.653.122-.599-1.231-.61-1.32-1.12.399-.788 1.264-.843 2.573-.222-.277-1.375.277-.588 1.165-1.009.333-.322-.787-.776-1.287-.721.699-.898.832-3.25.488-4.747.577 1.664 1.753-2.407 1.719-.144 2.318-3.96 2.751-5.99 5.635-8.629 0-.776-.721.2-1.043-.677 1.753-.876 2.352-3.538 5.08-2.895.666-2.152.965-3.095 1.02-4.536-.621-.322-.799.011-.965.388-1.065-1.242 1.364-.987 2.019-1.098.155-2.474 1.919-4.026 1.12-6.245 1.386.743 1.597-.333 2.573-.211-.244-.366.055-.943-.466-1.198-1.154-.033.299 1.02-.765 1.142.444-2.595 2.484-6.389.765-9.14.621-.81.677-.166 1.619.177.422-1.553-1.231-2.263-.432-3.96.776.876.51 2.185 1.586 2.939.566-1.32 2.174-.998 2.518-2.673.033-.666-1.253.166-.466-1.187-1.187-.444-1.531.432-2.862-.222.754-.41 2.218-1.109 2.961-.1.067-.677.388-.965 1.054-.699-.444-.932-.677-1.93-.721-3.017-1.198-.089-.1 1.087-.499 1.575-1.531-1.02-.432-3.128-.61-4.714.588.865 1.076 1.775 1.198 2.828.976-.355 1.198-1.131 1.076-2.096.255.266.521.532 1.042.677.277-2.008.677-2.828.732-4.98.466-.2.943-.388 1.431-.577-.222-1.087-.699-1.398.599-1.897-.089-.333-.155-.677-.566-.876-.821-.166-.532 1.353-1.253 1.342-.577-.333.599-1.852 1.076-2.096-1.076-.244.377-1.509-.399-2.651 2.352-3.483.1-10.404 3.45-13.743-.078-.799-.422-1.486-.067-2.462.411-.133.954-.056 1.619.177.178-.488.188-1.264.765-1.142 0-.41-.71-1.863-1.309-1.12-.81-.433 1.009-1.375 1.331-.266 1.198.311 1.131-1.364 1.553-2.285-1.142-.677-.854.865-1.542.898.577-2.252 1.054-3.039.543-5.734.843-.843-.155 1.309.366 1.508 2.096-.033 3.405-1.276 4.614-2.695.432 1.63-2.529 2.008-3.195 3.494 1.952.865-.532 3.915-1.398 5.812-.011.277.277.433.177.754.621.322.799-.022.965-.399.543 1.664-3.549 3.205-.732 4.991 1.187-.499-.832-2.13 1.741-1.531.1-.532-.765-2.041.211-2.019 1.553 5.069-3.261 9.938-2.54 13.432.932-1.52 2.019-2.806 3.294-3.805.954.166-.666 1.364.843 1.309.832-.1.399-2.529 2.03-2.474-.044-1.043-.799.544-1.619-.177.921-.011.765-2.163.011-1.386.943-1.753 5.358-6.178 4.015-8.796.921-.787 1.009 1.043 1.708 1.242-.488-1.553-.1-3.45-.044-5.224.444-.643.477.577 1.242.056.288-.677 0-1.109-.843-1.32 1.087.122 1.974-1.486 2.673-.532-.255-1.276-.533-2.54-.422-3.96.466.266.422.743.943.998-.998-2.862 1.142-4.67.932-6.999.288.155.288.444.666.555 1.597-6.078 3.749-8.973 4.559-14.519.732.521 1.098 1.209.544 2.252 2.651-.377 1.708-4.082 2.74-6.067.222-.432 1.32-.488 1.542-.898.233-.432-.954-.954-.943-.998.266-.865 1.187-3.694 2.429-3.738-.244 1.198-1.209 2.684-.71 3.594 1.885-.355 2.363-2.895 4.614-2.695-1.431 2.008-1.575 1.908-1.952 3.549-1.054-.133-1.331-.566-.854-1.32-.433-.055-.444.544-.954.388 3.206 4.692-7.01 8.519-2.451 14.508-2.507.876-2.507 5.845-3.438 8.286-.743-.344-.477-1.098-1.22-1.431-.81 1.664.277 1.508 1.02 2.063-1.065.721-.699.765-1.164 2.407-2.218-.288-.987 2.44-2.995 2.862-.011.277.277.444.178.754 1.154.532 1.331-.455 1.919-.776-1.342 2.374-2.54 7.265-5.724 8.94.056.71.921 1.087 1.12 1.753-2.307-.233-.399 2.662-1.73 1.531.322 1.309.022 2.44 1.287 3.882-.344 1.808-.998-1.542-1.342.266-.843-.211.188-1.165.122-1.697-2.041.898-2.784 2.318-2.451 5.124 1.142-.1 1.475-1.475 2.307-2.041 1.12.388.466 1.475 1.997 1.686-1.509 2.318 1.198 1.974-.133 3.083.577-.044.921-.455 1.154-1.021.821 1.043-.089 2.795-.521 4.348 2.374.566-.044-1.309 1.264-2.717.466.266.422.743.954.987 2.34-2.862 4.57-4.47 6.466-7.309-2.496-1.708 2.008-1.608 2.817-3.616-.2 1.009-.676 2.618 1.154 2.806-.887-1.364 0-2.074.61-3.006-.011.022-.033.033-.055.056-.255-.355-.743-.621-1.42-.799.555-1.908 1.542-1.298 2.884-1.176-.477-2.363.144-3.272 1.398-5.801.044-1.021-.91.044-1.52-.488.754-.555 1.032-1.83 2.496-1.287.577-.876-.366-1.131.211-2.019-.599 0-1.087.2-1.431.588-.555-1.32 3.893-2.695 1.386-4.426 2.141-1.531 3.793-4.958 3.05-8.408.688.91.821.954 1.897.61-.388-1.753.222-4.126 2.529-4.06-.377-1.32-.167-2.873-.333-4.27-.921-.022-.544 1.974-2.019 1.087.987-.211 1.775-1.73.799-2.529.987-.322 1.442-.732 2.474.1.066-1.12.022-2.207.233-3.394-1.619.055-.621 1.741-2.396.965-.599 3.572-4.781 5.49-3.05 8.408-1.142.277-1.996 2.795-1.098 3.472-2.573-.211-2.507 1.165-2.229 3.117-2.817-.754-3.028-1.553-6.744-2.507-.133-.954-.798-1.697-1.309-2.507 2.452-.732 1.664-2.163 2.529-4.06 2.185 2.285 3.061-3.239 1.275-2.717 1.032-.898 2.673-.854 3.827-1.553.444-.921-1.209-.976-1.12-1.753 1.531.355 1.719-1.409 2.13-2.795-.61-.322-.787.022-.954.388.51-2.141 1.021-6.134 3.228-7.653.056-.388-.61-.488-1.043-.677 3.538-2.651 4.104-5.823 5.757-10.327.255.266.51.521 1.043.677.621-1.398.166-2.474 1.952-3.538-.721 2.595.621 4.403-.765 7.753 2.107-.521 1.286-3.438 3.516-3.96-2.362.499-.488-1.63.843-1.952-.843-1.597.677-2.462.056-4.148.998-.155 1.165 1.265 1.519.488.721 1.176-2.451 4.659.211 5.979-.277 1.32-.499-.222-1.62-.177-.233 1.109 1.442 1.442 1.786 2.307-.499-1.963 2.108-3.505.732-4.98 2.44-3.339 4.503-8.008 3.084-11.169 1.087.743 1.076-.211 1.719-.155-.432-3.028 2.928-6.267-.288-8.43.155-.699 1.398.288 2.008.299.876 4.392-2.363 6.611-.699 10.204 1.032.222 1.065-2.119 1.919-.776.266-4.47 3.527-10.204 3.505-13.832 1.653-.022-.3 1.409.743 1.63.344-4.891 4.736-9.506 2.64-13.754 1.309.111.188 1.209 1.22 1.431-.355-2.74 4.293-2.984 2.363-6.189.51-.311 1.209-.311 1.819-.466.211-1.375-.377-3.56.521-4.348.433.2.144.688.089 1.076.366.1.41-.3.577-.51 3.927 3.516 3.117-8.807 3.472-11.059.299-.399.321.144.754.244 1.575-4.714 2.118-9.35 4.459-14.22 0-.477-.666-.233-.865.078.388-.976 4.625-3.738 2.362-6.2.466.277.422.754.943.998.144-1.154-1.453-1.62-1.209-2.817.843.122.943.544 1.42.81 2.152-1.764.277-4.481 2.063-5.257.033-.643-.566-1.054-.266-1.819-1.287-.91-.998.632-2.097.022.433-.266.765-.688.876-1.453.222.366.987.521.943.998.821.155-.299-1.043 1.054-.71-.422-.654-.255-1.542-1.021-2.063.255-.388 1.032.044 1.62.166 2.052-3.605 1.908-6.977 2.218-11.103 2.496-.211 3.882-3.527 3.993-6.023 1.187 1.398 1.497-1.83 2.684-1.919.011-.277-.277-.432-.177-.754-1.298-.91-.998.632-2.096.022.854-1.009 2.085-1.453 3.449-1.675-1.653.555.078.721-.688 2.218 1.253-.444.799-2.518 1.087-3.483-.765-.322-1.065.078-1.331.532.765-1.653 1.009-6.333 3.205-6.533-.543-1.575-1.364.089-2.462-1.486-.211 2.185-.466 5.38-3.594 6.156.776-1.331.188-2.108-.832-2.695.488-1.442.699-3.305 1.952-3.549-.133-.776-.156-1.597-.555-2.263 1.941-2.962.976-7.276 4.392-8.674-.122 1.054-1.564.41-.876 1.453 1.198-.41.987-1.231 1.176-2.396-.421-.2-.699-.155-.854.067.998-2.063-.244-7.332 2.673-8.53-1.209-2.363 2.795-5.302.654-7.432 1.076-.277 1.952-.244 2.973-1.486-.965-.177-1.641-1.619.4-1.253-.377-5.823 5.357-11.524 2.862-17.159.322-.61 1.231-.288 1.542-.898-.677-.255-.921.133-1.619-.166 1.819-.466 1.087-1.764 1.93-2.174.122-.044.765 2.252 1.52.499.421.821-1.963 1.309-1.841 3.228.721-.122.832-1.209 1.353-1.653.965.666-.521 1.309-.599 1.897 1.553-.41 2.041-2.462 2.906-3.938-1.331 7.398-7.298 14.43-6.644 22.55-.521.909-1.586.987-2.218 1.719-.033.665 1.398.721.743 1.63-2.518-.455.843 2.873-1.83 1.841.899 1.142 1.131 2.296 1.586 2.95-.177.81-.898.799-1.531.898 2.396.211-1.542 5.723-.366 6.478-1.154.976-1.331 3.061-1.686 5.368 2.562.333 2.884-3.76 2.351-4.803 2.23-1.32 2.507-4.392 3.017-5.635 1.309.111.2 1.209 1.231 1.431.355-.067.71-.133 1.231.044.311-1.497 1.286-3.272.056-4.148 1.919-3.083 1.664-5.701 5.424-7.997.033-1.021-.699-1.73.133-3.084.766-.876.167.987-.011 1.386 1.397-1.131 2.374-2.64 2.44-5.124-.887-.133-.643 1.508-1.065 2.085-2.141-1.076.522-2.407.522-4.337.444.377.499.898.366 1.497 1.841-1.675 3.206-4.004 3.217-6.267-1.109-.787-.61.932-1.719.144.322-.233 2.207-1.087.499-1.575 1.464-.965 2.097-2.307 1.287-4.115.898 0 1.242-.876 1.453-1.963.355 1.985-.965 3.638-.843 6.677 1.874-.665 2.629-2.396 2.052-3.86 1.886 1.032.721-5.868 4.636-5.468.311-4.692 3.594-5.28 3.749-10.615.732 3.039 1.897-2.141 2.429-3.738-1.375-.887-1.253.543-1.919.776.555.51.71 1.187.166 2.141-1.852-.621-.732-4.015 1.187-3.793 1.364-4.792 2.229-7.731 5.757-10.326-.078-.965-1.131.377-1.442.588.699-1.619 2.119-7.676 3.749-10.626.288-3.782 1.919-5.213 3.727-9.228-.366-.111-.411.288-.577.51 2.584-8.984 6.101-17.092 7.82-24.957.754.255.222 1.02 1.331 1.12 1.642-.71.699-3.139-.355-2.895 2.928-1.486 2.318-12.401 5.635-16.616.033-.044.732.288.754.244.067-.122-.433-2.218.677-.821-.721-2.995 1.331-5.99 1.531-8.896.333-.699 1.242-.399 1.63.166a90.14 90.14 0 0 1 .588-1.886c.166-.843-.787.222-1.52-.488 1.564-2.363 3.86-3.838 3.705-6.467.743.388 1.065.111 1.619.166-.2-1.497 1.165-3.405 1.386-4.415 1.187.244.277 1.353 1.12 1.753 1.031-3.549 5.258-6.222 5.191-11.203 2.185-.355-.632 2.008.821 2.695 1.985-2.74-.122-7.687 2.973-9.472.344-.699-.987-.71-.843-1.32a6.977 6.977 0 0 0 1.253-1.165l16.305 122.321c-.173.503-.35 1.013-.528 1.523zm-846.195-169.45-24.546 82.479-119.437 243.322-74.604-42.071c.355-.632.599-1.154.843-1.819-.333-.333-.555-.078-.765.211-.399-1.12 1.187-.654 1.664-.677.765-1.996 2.374-3.072 2.407-4.936.743.743 1.176-.111 1.819.089-.078-.322.277-.754-.011-1.021-.787-.144-.067.865-.832.854.987-2.063 3.383-4.925 2.928-7.332.632-.588.51-.067 1.054.311.699-1.209-.244-1.952.754-3.25.288.787-.233 1.819.31 2.551.732-1.009 1.742-.588 2.407-1.908.2-.532-.887.011 0-1.009-.699-.477-1.165.189-1.897-.477.621-.255 1.808-.666 2.052.222.222-.532.51-.732.898-.455-.067-.787.044-1.63.299-2.518-.799-.2-.355.876-.754 1.231-.776-.998.521-2.584.81-3.882.188.754.277 1.542.089 2.407.754-.188 1.109-.787 1.276-1.575.111.233.222.477.532.654.721-1.608 1.209-2.218 1.808-3.96.377-.111.754-.222 1.131-.322.133-.91-.111-1.209.899-1.475.033-.277.078-.555-.155-.765-.51-.222-.721 1.043-1.198.954-.311-.322.887-1.442 1.275-1.586-.665-.311.655-1.187.422-2.185 2.518-2.573 2.795-8.419 5.956-10.781.155-.654.111-1.253.599-1.996.322-.067.677.055 1.065.311.255-.377.455-1.009.821-.843.111-.333.011-1.586-.599-1.054-.444-.422 1.054-1.009.976-.067.743.377 1.131-.987 1.653-1.686-.599-.677-.799.599-1.275.566.976-1.764 1.508-2.363 1.874-4.592.787-.588-.455 1.043-.155 1.253 1.442.2 2.662-.677 3.86-1.697-.133 1.375-2.252 1.364-3.095 2.507 1.098.898-1.386 3.106-2.485 4.548-.078.233.077.388-.067.632.333.333.543.067.754-.211-.067 1.398-3.261 2.218-1.797 3.96.932-.288-.022-1.808 1.586-1.054.2-.421.011-1.73.666-1.619-.266 4.27-4.825 7.72-5.258 10.626 1.043-1.142 2.119-2.063 3.25-2.751.599.244-.81 1.043.233 1.154.588.011.932-2.008 2.03-1.797.244-.843-.688.366-1.054-.311.621.089 1.087-1.675.366-1.109 1.098-1.331 5.28-4.448 5.047-6.711.832-.543.41.943.832 1.187.078-1.309.843-2.817 1.342-4.237.477-.477.177.51.843.166.366-.51.288-.898-.233-1.154.71.211 1.73-.998 1.963-.155.155-1.054.299-2.107.743-3.25.244.266.089.654.388.91.067-2.429 2.008-3.66 2.473-5.568.144.155.077.377.299.51 2.684-4.758 4.903-6.877 6.921-11.292.355.51.432 1.098-.222 1.886 1.908-.033 2.241-3.117 3.461-4.625.255-.333 1.02-.255 1.287-.566.266-.333-.399-.876-.388-.91.41-.677 1.786-2.862 2.64-2.784-.477.954-1.531 2.063-1.431 2.851 1.386-.1 2.374-2.108 3.86-1.708-1.497 1.486-1.575 1.387-2.263 2.673-.688-.211-.754-.599-.233-1.154-.289-.089-.455.399-.754.211.954 4.137-7.021 6.167-5.479 11.502-1.941.444-3.239 4.47-4.514 6.356-.421-.366-.044-.943-.455-1.298-.987 1.264-.211 1.253.155 1.786-.92.466-.676.543-1.431 1.819-1.442-.455-1.309 1.875-2.795 2.019-.078.222.077.377-.067.621.643.555 1.02-.222 1.508-.421-1.542 1.775-3.638 5.612-6.256 6.644-.144.577.355.976.311 1.531-1.509-.433-.965 2.119-1.586 1.054-.122 1.098-.621 1.997-.133 3.294-.71 1.431-.277-1.353-.987.078-.522-.266.432-.932.521-1.375-1.62.51-2.496 1.586-3.006 3.904.799.033 1.386-1.043 2.108-1.42.655.433-.067 1.242.921 1.575-1.642 1.719.299 1.73-.898 2.485.399.022.743-.266 1.054-.699.277.932-.799 2.252-1.497 3.461 1.464.71.311-1.065 1.575-2.063.244.266.089.643.388.898 2.352-2.074 4.293-3.15 6.323-5.246-1.242-1.653 1.797-1.098 2.873-2.64-.399.799-1.154 2.052.044 2.407-.244-1.176.51-1.664 1.165-2.34-.089-.311-.355-.577-.765-.799.876-1.486 1.398-.887 2.274-.643.299-1.963.954-2.64 2.473-4.559.299-.821-.632-.056-.91-.555.655-.366 1.187-1.375 2.041-.776.621-.654.055-.965.676-1.608-.411-.067-.787.044-1.131.311-.033-1.12 3.361-1.764 2.107-3.427 1.864-1.021 3.882-3.616 4.282-6.5.233.81.311.854 1.131.699.2-1.464 1.231-3.328 2.795-3.028.089-1.109.643-2.34.887-3.494-.621-.122-.887 1.542-1.653.665.721-.067 1.664-1.209 1.198-1.963.754-.155 1.176-.444 1.664.344.333-.909.599-1.797 1.054-2.729-1.121-.122-.876 1.342-1.897.532-1.342 2.828-4.692 3.938-4.281 6.489-.854.111-2.096 2.063-1.653 2.706-1.708-.444-2.019.677-2.34 2.285-1.719-.899-1.664-1.575-3.938-2.74.155-.787-.1-1.464-.233-2.163 1.852-.333 1.697-1.586 2.784-3.028.887 2.074 2.939-2.307 1.575-2.074.943-.621 2.052-.399 3.028-.854.543-.699-.577-.921-.311-1.531.954.444 1.542-.965 2.185-2.041-.333-.333-.544-.078-.754.211.91-1.686 2.307-4.858 4.215-5.868.144-.311-.288-.455-.532-.654 3.106-1.775 4.326-4.281 6.622-7.764.111.244.222.477.532.665.799-1.076.766-1.996 2.263-2.673-1.164 2.03-.732 3.638-2.551 6.2 1.531-.2 1.763-2.496 3.294-2.817-1.497.055.266-1.398 1.231-1.509-.155-1.386 1.098-1.93 1.12-3.361.721-.022.466 1.154.91.555.177 1.032-2.895 3.527-1.42 4.869-.543 1.043-.288-.233-1.065-.311-.444.865.61 1.32.621 2.052.166-1.642 2.351-2.618 1.797-3.96 2.54-2.451 5.18-6.023 5.036-8.729.544.721.787-.044 1.209.067.51-2.507 3.638-4.781 2.019-6.866.288-.555.876.377 1.287.444-.555 3.649-3.35 5.113-3.15 8.197.643.288 1.287-1.597 1.509-.422 1.353-3.594 5.08-7.897 6.012-10.837 1.142.144-.566 1.109.089 1.398 1.519-3.938 5.712-7.21 5.402-10.87.865.233-.188.998.455 1.287.477-2.263 3.716-1.974 3.239-4.769.421-.2.91-.122 1.353-.177.51-1.098.688-2.928 1.508-3.472.233.2-.089.566-.222.876.222.122.355-.2.521-.355 1.764 3.261 4.437-6.81 5.269-8.596.311-.288.178.144.455.277 2.307-3.649 3.893-7.354 6.766-11.047.122-.399-.388-.266-.61-.033.522-.754 4.138-2.54 3.239-4.77.244.266.089.643.377.91.399-.932-.566-1.475-.089-2.418.543.189.499.532.765.799 1.919-1.198 1.353-3.605 2.784-4.037.188-.521-.111-.91.288-1.497-.632-.876-.843.41-1.431-.211.366-.166.699-.466.976-1.087.056.322.532.532.377.91.521.222.078-.865.91-.455-.111-.577.233-1.287-.155-1.786.277-.288.699.144 1.065.311 2.34-2.706 3.128-5.457 4.426-8.763 1.753.089 3.572-2.462 4.292-4.47.444 1.253 1.509-1.32 2.341-1.276.077-.222-.078-.377.077-.621-.643-.887-.854.399-1.442-.211.854-.721 1.808-.954 2.795-.987-1.276.266-.133.588-1.054 1.719.976-.233 1.209-1.963 1.653-2.706-.422-.322-.71-.078-.998.244.932-1.298 2.318-4.969 3.86-4.903.033-1.342-.954-.078-1.298-1.464-.71 1.741-1.719 4.304-4.06 4.603.876-.998.676-1.686.133-2.274.71-1.109 1.353-2.607 2.263-2.673.111-.632.322-1.298.222-1.886 2.107-2.196 2.573-5.79 5.269-6.566-.366.843-1.176.177-.976 1.087.92-.211.998-.898 1.431-1.819-.244-.211-.444-.2-.61-.033 1.231-1.564 1.763-5.967 4.06-6.633-.2-2.041 3.305-4.004 2.396-5.956.81-.111 1.398.011 2.418-.887-.61-.244-.699-1.486.599-.976 1.276-4.758 6.677-8.774 6.456-13.61.377-.455.91-.1 1.287-.566-.388-.277-.665.011-1.054-.299 1.353-.189 1.198-1.309 1.875-1.553.1-.033-.067 1.897.909.555.067.71-1.675.854-2.107 2.418.532-.011.887-.887 1.364-1.198.488.643-.699 1.009-.91 1.475 1.165-.166 2.041-1.775 3.017-2.884-2.85 5.857-8.762 10.925-10.448 17.581-.588.688-1.331.632-1.963 1.154-.188.532.765.732.089 1.409-1.597-.643-.188 2.407-1.741 1.298.311 1.02.177 1.974.311 2.551-.333.632-.821.555-1.275.566 1.575.422-2.551 4.481-1.952 5.224-1.043.665-1.708 2.329-2.551 4.17 1.653.532 2.95-2.751 2.862-3.649 1.863-.843 2.862-3.294 3.538-4.259.865.233-.188 1.009.455 1.298.266-.022.521-.033.832.166.61-1.187 1.742-2.518 1.12-3.361 2.119-2.296 2.64-4.448 5.801-5.901.288-.832-.022-1.486.898-2.496.754-.632-.144.821-.377 1.131 1.254-.776 2.318-1.897 3.017-3.904-.577-.2-.832 1.154-1.275 1.586-1.176-1.109.987-1.897 1.497-3.472.2.344.1.776-.144 1.253 1.697-1.165 3.228-2.906 3.838-4.736-.555-.754-.665.688-1.22-.067.288-.144 1.797-.643.754-1.22 1.253-.621 2.03-1.653 1.963-3.194.61.089 1.076-.588 1.497-1.442-.277 1.642-1.608 2.84-2.318 5.324 1.453-.344 2.418-1.664 2.407-2.917 1.02 1.032 2.03-4.681 4.603-3.938 1.431-3.771 3.827-3.904 5.335-8.208-.299 2.529 1.852-1.542 2.64-2.784-.71-.854-1.009.311-1.52.433.244.466.178 1.031-.444 1.741-1.098-.688.555-3.328 1.808-2.939 2.185-3.738 3.539-6.034 6.622-7.764.2-.788-.865.177-1.131.322.91-1.242 3.461-5.99 5.335-8.208 1.198-3.05 2.684-4.026 4.969-7.099-.222-.122-.355.2-.532.355 4.126-7.01 8.652-13.199 11.879-19.4.455.288-.122.854.61 1.054 1.309-.41 1.309-2.473.521-2.385 2.385-.898 4.836-9.805 8.197-12.878.033-.033.421.311.455.277.078-.089.288-1.841.677-.599.129-1.189.706-2.321 1.35-3.419z\"\n }))), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1094.784 820.049a5.001 5.001 0 0 1-4.989-5.421l16.654-197.258a5.004 5.004 0 0 1 5.403-4.562 5.001 5.001 0 0 1 4.562 5.403l-16.654 197.258a5.001 5.001 0 0 1-4.976 4.58z\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1494.036 864.552-13.188 114.424-23.515 204.145-70.833-5.979-183.736-15.517 26.965-319.389z\",\n fill: \"#dfeb77\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1480.848 978.976-23.515 204.145-70.833-5.978c.743-1.642 1.287-3.516 2.096-5.69.255.266.51.521 1.043.677.621-1.398.166-2.474 1.952-3.538-.721 2.595.621 4.403-.765 7.753 2.107-.521 1.286-3.438 3.516-3.96-2.362.499-.488-1.63.843-1.952-.843-1.597.677-2.462.056-4.148.998-.155 1.165 1.265 1.519.488.721 1.176-2.451 4.659.211 5.979-.277 1.32-.499-.222-1.62-.177-.233 1.109 1.442 1.442 1.786 2.307-.499-1.963 2.108-3.505.732-4.98 2.44-3.339 4.503-8.008 3.084-11.169 1.087.743 1.076-.211 1.719-.155-.432-3.028 2.928-6.267-.288-8.43.155-.699 1.398.288 2.008.299.876 4.392-2.363 6.611-.699 10.204 1.032.222 1.065-2.119 1.919-.776.266-4.47 3.527-10.204 3.505-13.832 1.653-.022-.3 1.409.743 1.63.344-4.891 4.736-9.506 2.64-13.754 1.309.111.188 1.209 1.22 1.431-.355-2.74 4.293-2.984 2.363-6.189.51-.311 1.209-.311 1.819-.466.211-1.375-.377-3.56.521-4.348.433.2.144.688.089 1.076.366.1.41-.3.577-.51 3.927 3.516 3.117-8.807 3.472-11.059.299-.399.321.144.754.244 1.575-4.714 2.118-9.35 4.459-14.22 0-.477-.666-.233-.865.078.388-.976 4.625-3.738 2.362-6.2.466.277.422.754.943.998.144-1.154-1.453-1.62-1.209-2.817.843.122.943.544 1.42.81 2.152-1.764.277-4.481 2.063-5.257.033-.643-.566-1.054-.266-1.819-1.287-.91-.998.632-2.097.022.433-.266.765-.688.876-1.453.222.366.987.521.943.998.821.155-.299-1.043 1.054-.71-.422-.654-.255-1.542-1.021-2.063.255-.388 1.032.044 1.62.166 2.052-3.605 1.908-6.977 2.218-11.103 2.496-.211 3.882-3.527 3.993-6.023 1.187 1.398 1.497-1.83 2.684-1.919.011-.277-.277-.432-.177-.754-1.298-.91-.998.632-2.096.022.854-1.009 2.085-1.453 3.449-1.675-1.653.555.078.721-.688 2.218 1.253-.444.799-2.518 1.087-3.483-.765-.322-1.065.078-1.331.532.765-1.653 1.009-6.333 3.205-6.533-.543-1.575-1.364.089-2.462-1.486-.211 2.185-.466 5.38-3.594 6.156.776-1.331.188-2.108-.832-2.695.488-1.442.699-3.305 1.952-3.549-.133-.776-.156-1.597-.555-2.263 1.941-2.962.976-7.276 4.392-8.674-.122 1.054-1.564.41-.876 1.453 1.198-.41.987-1.231 1.176-2.396-.421-.2-.699-.155-.854.067.998-2.063-.244-7.332 2.673-8.53-1.209-2.363 2.795-5.302.654-7.432 1.076-.277 1.952-.244 2.973-1.486-.965-.177-1.641-1.619.4-1.253-.377-5.823 5.357-11.524 2.862-17.159.322-.61 1.231-.288 1.542-.898-.677-.255-.921.133-1.619-.166 1.819-.466 1.087-1.764 1.93-2.174.122-.044.765 2.252 1.52.499.421.821-1.963 1.309-1.841 3.228.721-.122.832-1.209 1.353-1.653.965.666-.521 1.309-.599 1.897 1.553-.41 2.041-2.462 2.906-3.938-1.331 7.398-7.298 14.43-6.644 22.55-.521.909-1.586.987-2.218 1.719-.033.665 1.398.721.743 1.63-2.518-.455.843 2.873-1.83 1.841.899 1.142 1.131 2.296 1.586 2.95-.177.81-.898.799-1.531.898 2.396.211-1.542 5.723-.366 6.478-1.154.976-1.331 3.061-1.686 5.368 2.562.333 2.884-3.76 2.351-4.803 2.23-1.32 2.507-4.392 3.017-5.635 1.309.111.2 1.209 1.231 1.431.355-.067.71-.133 1.231.044.311-1.497 1.286-3.272.056-4.148 1.919-3.083 1.664-5.701 5.424-7.997.033-1.021-.699-1.73.133-3.084.766-.876.167.987-.011 1.386 1.397-1.131 2.374-2.64 2.44-5.124-.887-.133-.643 1.508-1.065 2.085-2.141-1.076.522-2.407.522-4.337.444.377.499.898.366 1.497 1.841-1.675 3.206-4.004 3.217-6.267-1.109-.787-.61.932-1.719.144.322-.233 2.207-1.087.499-1.575 1.464-.965 2.097-2.307 1.287-4.115.898 0 1.242-.876 1.453-1.963.355 1.985-.965 3.638-.843 6.677 1.874-.665 2.629-2.396 2.052-3.86 1.886 1.032.721-5.868 4.636-5.468.311-4.692 3.594-5.28 3.749-10.615.732 3.039 1.897-2.141 2.429-3.738-1.375-.887-1.253.543-1.919.776.555.51.71 1.187.166 2.141-1.852-.621-.732-4.015 1.187-3.793.632-2.195 1.153-4.003 1.863-5.578z\",\n fill: \"#d2e23d\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1017.176 824.289-26.975 319.389-275.333-23.248 26.964-319.389h.012z\",\n fill: \"#dfeb77\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1093.913 1579.208a5.001 5.001 0 0 1-4.989-5.421l80.569-954.296a5.001 5.001 0 0 1 9.965.841l-80.569 954.296a5 5 0 0 1-4.976 4.58z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1201.37 587.618 18.838-170.576-129.073-15.03-19.174 173.455 73.181 35.626z\",\n fill: \"#ffc197\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1213.124 481.187c-59.699 14.337-103.309-16.224-126.585-39.708l4.596-39.467 129.073 15.03z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M985.544 274.871s-27.467-27.715-54.43.906c-20.51 21.763 3.465 55.917 22.797 61.696 19.333 5.779 44.28-.35 48.405-13.612 4.126-13.262-16.772-48.99-16.772-48.99z\",\n fill: \"#ffc197\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M992.297 315.52c.585-.117 1.137-.402 1.672-.77 1.889-1.422 2.306-4.114.884-6.004-10.958-14.762-46.028-24.431-47.499-24.832-2.291-.584-4.632.754-5.233 2.962-.584 2.291.754 4.632 2.962 5.233 9.298 2.572 35.237 11.375 42.883 21.757 1.054 1.354 2.743 1.973 4.331 1.654z\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M958.254 323.124c.836-.168 1.705-.603 2.341-1.339l17.334-19.387c1.554-1.79 1.453-4.465-.337-6.02s-4.465-1.453-6.02.337l-17.334 19.387c-1.554 1.79-1.453 4.465.337 6.02a4.322 4.322 0 0 0 3.679 1.002z\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1311.679 244.221s14.669-36.158 50.577-20.135c27.311 12.181 18.346 52.935 2.732 65.716s-40.996 16.737-49.913 6.088c-8.916-10.648-3.396-51.669-3.396-51.669z\",\n fill: \"#ffc197\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1321.108 284.334c1.589-.318 2.909-1.539 3.276-3.178 3.072-12.442 23.601-30.643 31.19-36.599 1.889-1.422 2.223-4.098.717-5.97s-4.098-2.223-5.97-.717c-1.204.937-29.841 23.371-34.266 41.215-.584 2.291.838 4.615 3.129 5.199.72.117 1.338.167 1.924.05z\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1355.536 278.218a4.32 4.32 0 0 0 3.009-2.342c1.053-2.124.115-4.632-2.009-5.685l-23.549-11.195c-2.124-1.053-4.632-.115-5.685 2.009s-.115 4.632 2.009 5.685l23.549 11.195c.87.434 1.84.501 2.676.333z\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 1152.393,\n cy: 264.745,\n fill: \"#ffc197\",\n rx: 174.795,\n ry: 182.469,\n transform: \"matrix(.9805 -.1965 .1965 .9805 -29.554 231.5643)\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M983.146 240.232c7.87 1.856 24.206-9.734 22.688-30.985 6.043-4.027 25.212-18.309 20.392-47.403-20.448 1.517-34.41 25.482-34.41 25.482l-12.837 17.404z\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1063.326 146.098c-24.925 11.047-82.189 36.908-83.527 127.807-6.543-29.464-4.865-84.005 26.841-120.024 31.705-36.017 56.686-7.783 56.686-7.783z\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1105.222 270.632s-24.46-81.712-92.669-34.13c0 0 2.255 40.333 30.72 50.891 28.297 10.591 61.949-16.761 61.949-16.761zm93.053-12.123s8.465-84.917 84.461-51.099c0 0 5.399 39.964-20.465 55.842-25.795 15.778-63.996-4.743-63.996-4.743z\",\n fill: \"#fff\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1026.446 198.181c6.35-11.708 48.9-32.408 63.857-12.882 7.779 10.181-20.979 20.291-35.36 20.999-14.364.791-32.942.078-28.497-8.117zm235.313-29.382c-9.364-9.455-55.977-17.518-64.97 5.434-4.705 11.879 25.773 13.654 39.803 10.361 14.029-3.292 31.643-9.14 25.167-15.795zm-213.71 54.329c6.772-1.357 13.494-.791 19.582 1.381 4.532 1.788 8.58 4.194 12.193 7.036 6.005 5.232 10.389 12.354 12.064 20.714 2.312 11.537-.995 22.809-7.932 31.156-11.804 5.322-26.785 9.106-40.6 3.961-13.246-4.912-20.724-16.196-25.042-26.897-.592-17.709 11.76-33.749 29.735-37.351zm157.446 24.107c-1.055-5.267-.89-10.518.195-15.518 4.127-9.349 10.461-18.966 20.057-25.324a36.972 36.972 0 0 1 8.878-2.996c20.149-4.037 39.718 8.999 43.755 29.148.603 3.01.788 6.103.689 9.08-3.041 8.262-8.221 16.257-16.815 21.544-15.03 9.186-34.261 6.082-47.724 1.823-4.431-4.765-7.644-10.818-9.035-17.757zm-53.481 106.369c-11.776 0-22.37-2.075-27.544-5.611a5 5 0 1 1 5.642-8.256c7.773 5.312 41.35 6.154 56.533-4.501a5 5 0 1 1 5.744 8.186c-10.188 7.15-26.145 10.182-40.375 10.182z\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1104.172 94.49c117.547-26.167 186.955 36.972 199.4 74.02 31.309.019 31.754 58.212 16.165 76.724-4.573-19.901-7.92-36.427-21.708-57.489-54.885-83.84-156.796-59.948-200.16-50.02-75.186 17.212-76.74-24.749 6.303-43.235z\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M981.575 284.259 969.9 269.643c-10.446-156.604 78.447-188.272 178.598-209.135 8.249-1.716-8.275.573 0 0-82.37 42.308-191.059 104.003-166.923 223.751z\",\n fill: \"#ef4a6b\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1125.905 285.474a5 5 0 0 1-3.658-8.407l25.069-26.928a4.996 4.996 0 0 1 3.604-1.592 4.946 4.946 0 0 1 3.639 1.513l24.047 24.717a5.002 5.002 0 0 1-7.168 6.974l-20.383-20.952-21.489 23.083a4.99 4.99 0 0 1-3.661 1.592z\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M987.916 199.404c81.896-103.19 236.77-106.746 315.655-30.894 23.87-54.409 34.92-139.758-45.662-158.528-53.954-12.568-108.63-15.66-163.696 4.899-60.046 22.418-87.698 128.049-106.297 184.523z\",\n fill: \"#fcae1d\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1043.991 152.379c14.21 5.771 59.791 10.027 87.146-7.266 22.751 11.35 90.527 22.371 114.23-11.848 28.982 11.085 44.392-12.269 38.931-31.257-8.01-27.851-59.11-40.034-87.526-19.87 11.978-28.446-46.453-25.433-59.058-.876-29.014-18.796-76.902 40.822-93.723 71.117z\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m975.465 1767.247 943.777-229.132 76.117 269.891-924.365 231.645z\",\n fill: \"#7584d7\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M1014.825 1736.026c.51-.488.721-.965.699-1.431-.234.466-.467.965-.699 1.431zm-204.134 55.226c.333.233.666.455 1.02.688-.266-.255-.665-.455-1.02-.688zm-50.39-31.19c.066.144.133.277.233.41a.658.658 0 0 0-.233-.41zm808.549 194.074c-.932 2.019-2.363.322-3.516-.311-3.072 3.816-11.369 1.154-14.275-.688.488-1.154 5.069 1.386 3.727-.311-1.664-.499-3.416-.932-2.773-2.895 1.087-.055 3.028 1.741 3.516.344-1.486-1.442-5.457-1.331-3.305-5.124-2.185-1.165.033 2.662-2.418 2.052.022-.521-.255-.865-.932-.954.166-3.15 1.941-2.795 3.006-3.971-1.985-2.44-2.917.144-3.35 1.087-1.22-2.218 2.174-1.985 1.131-3.827-2.052-1.753-4.492-2.806-5.723-3.061.588.322.654.965.721 1.597-.865-.665-2.862 1.187-2.773-.81.677.089 1.553.577 1.863-.155-2.584-2.651-8.119-2.607-9.062-6.145-1.63.444.421 2.218-1.331 2.385-3.472-.067-2.218-3.095-4.259-4.048-.588.832-.333 3.483-1.508 3.017-1.897-.887-5.712-.566-4.459-3.405.732-.288 4.426.688 3.183-.444-3.516.299-5.291-1.775-7.498.543-2.018-1.453 1.453-3.305-.51-4.326-.899.144-.832 2.418-1.897 2.207-.399-1.375-5.49-5.845-3.538-2.451-2.196-1.309-2.684-1.342-6.001-2.496-.377.91-.51 2.407-1.342 2.374-8.729-5.191-17.802-4.769-25.866-9.217-.555 1.043.366 1.908-.588 1.908-2.939-1.985-5.435-3.716-8.441-1.852.233-.876.688-1.309 1.176-1.73-2.596.322-4.193-1.198-6.089-3.239 2.107-2.119 3.904.81 5.69-3.128-3.405-.654-6.511 4.16-10.005 1.797-1.12 1.253.477 2.762-.799 2.54-1.22-1.253-1.719-1.054-3.105-.244.721-2.163-.621-2.762-1.409-3.927-4.747 1.065-7.132-4.47-12.09-1.83-8.541-4.925-20.42-7.864-26.964-7.742.089-1.697-2.64-1.708-1.464-4.049-3.783 1.231-4.026-3.206-7.166-1.142.61.299 1.154.632.588 1.62-1.431.1-1.52-.078-3.849-.655.299-.998.854-2.141-.355-2.229-3.139 3.461-5.845-2.085-8.086-3.649-.61 1.165.244 1.498.355 2.252-2.152-.422-6.089-1.386-5.335-4.792 1.586-.189.821 3.35 2.373 1.575-.666-.422-.089-1.586-.344-2.24-6.999 1.486-14.43-2.551-17.913-4.515-1.287-.721-2.751 1.154-3.339.876-1.586-.754-1.808-4.004-5.036-4.037.599 0-.71-.333-2.096-.81-.522-.177-6.522-.943-6.855-4.015.388-1.619 4.437.688 3.35-.854-1.963-.488-2.895-.011-4.192-1.619-.843 3.372-3.76 1.508-4.159-.2 2.041-.266 4.425.532 5.934-1.253-3.605-.277-10.692.033-8.219-5.224-.311.499-1.165.266-.998-.51 2.74-.71 2.418-2.374 4.847-3.106-8.862 2.673-10.815-8.141-20.032-2.828.355-1.22 1.143-1.131 1.52-2.263-1.608-.721-2.274 1.342-4.159-.244.577-1.12-.044-1.608.466-2.684-1.464-.3-3.006-.832-4.171-.233 2.429.665 2.906 2.351 2.418 4.559-3.117-2.34-5.956-.211-7.886-4.603 1.863 1.453 2.34-1.209 4.181.244.089-1.664 1.409-3.982-.588-4.537-.477.876-.743 2.352-1.531 2.252 1.486-2.651-5.002-6.245-7.908-7.476-1.52 2.085.577 2.274-.466 4.115-.333-.954-1.564-1.442-2.895-1.874 1.708-1.065 1.287-1.009 2.041-3.483-1.453-1.22-1.542 1.741-2.85.998 1.02-2.307-2.229-2.407-1.864-4.359-3.15 1.109-3.094-.865-2.107-2.307-2.706.865-3.239-.044-5.468 1.342-.355-1.575.377-.765 1.031-2.462-2.507-.277-2.163-.477-3.405-2.119-1.087.366-2.018 1.242-3.117 1.608-.411-1.642-1.952-1.287.244-2.063-5.224-3.605-10.105 2.573-12.279-.022-2.252 4.381-3.893 1.586-5.213-.765-1.32 1.087.366 2.873-1.043 2.44-.865-1.963-2.163-2.285-4.448-2.595.388-2.152 1.63-1.542 2.351-2.618-1.597.521-2.784-1.331-3.405-.71.61.655.876 1.486.787 2.485-1.22-.532-1.985.399-3.405-.71.266-.61.532-1.231.787-1.83-5.857 1.475-10.737-4.204-13.887-2.252-1.908-.177-.388-2.052-1.287-2.729-.388.832-.344 1.453-.277 2.052-1.908.854-6.001-6.522-4.182-1.808-2.374-1.331-2.052-4.037-4.171-3.261 1.131.721.499 2.185-.799 1.83 1.142-.566 1.242-1.753-.255-2.285-.954.832-2.218.621-3.405.699 2.13-1.054-1.93-2.152-2.873-1.963.344.311 1.01.466.776 1.054-1.153-.188-4.548-.166-4.714-2.03.699-.71 2.063.776 2.629-.311-1.286-1.852-2.684-.189-4.714-.61.799-3.982-6.422.466-4.947-4.304 3.15 4.148 9.328-2.474 9.683 3.461 1.608-3.394 2.451-.577 5.258-.632.233-2.174 1.464-1.12 2.096-1.974-2.185-1.531-1.786.022-2.618.311-.211-.854-1.841-1.021-.765-2.507.654.166 1.442.743 1.841.067-2.374-.455-3.139-1.675-2.851-3.394-3.35.211-4.514-2.329-10.703-3.926-1.453.643-.122 2.196-2.119 1.974-5.535-5.779-14.131-3.194-18.778-6.877-1.886 1.364-.621 3.915-3.205 2.939-.898-1.431.022-2.496 1.131-3.871-5.868.255-7.31-4.725-12.744-6.422-4.503 4.171-9.351-4.093-14.419-1.442 2.806.244 5.923 1.642 6.211 4.281-2.973 1.309-9.395-.799-6.733-4.514-3.838.843-4.126-4.891-6.799-1.641 1.187-4.082-4.758-6.6-8.718-6.921.499 0-.499-1.054-1.83-1.575-7.066-2.762-15.074-7.598-22.905-7.731.399-.987 1.065-2.063-.178-2.307-.787 1.52-1.564 3.061-2.984 2.285.288-1.464 2.374-1.22.333-2.052-.965.787-2.462 1.02-2.873-.599-1.553.333-.044 1.775-1.375 1.553-.92-.532-1.542-1.209-1.497-2.185.51-.921 1.542.166 1.897-1.298-2.518.377-2.706-.344-5.513-.433-1.076 2.019 1.763.788.909 3.394-14.586 2.229-27.009-6.123-39.376-10.781.178-1.808 3.66.599 2.429-1.031-5.779-.843-7.786.466-10.094-4.215-1.885-.91-3.017 1.142-4.581 1.486-1.076-2.396-8.519-.865-8.685-5.746-1.386 2.052-2.429-1.464-4.503.022 1.031-2.218-.089-2.185-1.264-1.353 1.486-3.527-2.407-2.229-2.097-4.769-1.841 1.586-3.072.421-4.403-1.464-1.575.277-.089 1.764-1.42 1.531-1.808-2.662-7.121-1.464-6.489-6.245-2.828 2.052-9.228-2.285-9.461-5.468-2.097 3.15-7.542-.422-6.755-1.919-2.706.643-5.446 1.009-8.275 1.032.71-.743 1.52-1.109 2.241-1.852-9.073-5.479-18.324-5.979-28.628-14.697-.499 1.032-1.187 1.309-1.952 1.231-1.12-6.234-13.499-2.518-9.838-9.65-2.573-1.364-1.309 1.941-3.583 1.874-5.491-3.693-10.737-3.938-12.589-8.141-4.06-.067-5.191-1.464-9.905-2.218.555-1.42 1.808.133 2.462-.954-5.058-2.24-8.385-2.13-10.504-7.132-1.298 2.862-3.738.521-5.247 2.462 2.651 1.675 6.079 3.649 5.679 7.609-2.795-.067-1.952-3.86-3.727-2.773 2.806 6.611 8.075 3.705 13.709 7.321-.411.81-.932 1.153-1.453 1.486 1.42 2.096 4.47 1.875 6.733 2.041 7.542 8.785 23.016 8.441 29.682 17.78 4.415-1.109 9.805 1.963 14.852 3.893-2.274 2.374-6.245-2.329-8.508.133 2.163 1.143 10.637 3.86 10.759 6.711.588-1.109 1.209-2.008 2.152-1.586 1.62.3.433 1.708 1.442 2.241 2.596-2.762 9.739 3.061 12.933 5.069-.322-.333-.344-.799.1-1.442.366 1.597 5.49.011 6.167 3.095-1.087-.743-2.008-.832-2.651.155 1.02 3.206 2.95-1.486 5.024.277-.555 1.453-1.83-.078-2.451 1.009 4.736 1.398 11.813 6.633 16.25 7.409 1.608-1.608-1.431-1.298.177-2.895.577.699 3.006.643 2.263 1.886-.544.788-1.342.577-1.919 1.265 7.742 4.315 16.083 6.866 25.312 12.456-.078 3.394 7.82 3.128 10.337 5.058 3.316 2.584 10.16 4.037 15.64 6.034 8.741 3.128 16.25 9.306 24.746 9.561-.399.965-1.065 2.041.188 2.296.51-.865.865-2.307 1.664-2.163 2.196 1.542 3.405 3.538 3.483 6.023 1.098-.943 2.318-1.497 3.516-2.03-.832-.577-3.405.488-3.117-1.453 1.109.211 1.753-1.287 3.172.011.31 4.825.3 1.764 3.028 4.359-.876-.455-1.553-.166-2.141.477 3.283-.787 5.391 4.182 8.629 3.272-2.262-2.24-3.394-2.03-4.88-4.481 2.906.854 3.35 1.542 6.3 1.475-.044 1.342-2.507 1.287-1.154 2.407 3.649-1.398 4.581 7.11 9.328 5.823-1.287 0-2.396-2.296-.987-1.93 1.353.51 1.176 1.686 2.063 2.396 3.927-3.205 5.978 2.285 9.484 1.398.909 1.431.444 2.274.455 3.128 1.808-1.619 6.932-.022 7.909.688-.621 2.008-2.607-.643-3.461.621 5.446 1.996 8.163.71 11.081.654 1.286.366-.222 1.997.732 2.529.366-3.028 4.57-1.775 7.41-1.031-1.154 2.052-1.453 3.106-2.185 3.405-.233-.943-2.296-1.32-3.416-.821.965 1.875-2.551 1.486-3.217 2.917-.92-.832-.676-1.442.299-2.052-4.503-.355-8.596-4.137-13.099-4.514.399-.677 1.564-.943.843-1.808-.178 2.518-1.952-.444-2.418 1.098.954 1.875-2.396 2.03-3.483 2.074.987-.61 1.242-1.22.311-2.052-2.917 3.161-3.749-2.207-6.078-.566-.799-1.453 1.919-1.464-.2-2.296l-1.12 2.418c-2.03-.555-7.609-2.862-9.173-3.494-1.176-.921.066 3.66-2.163 1.919 1.653-2.573-6.322-1.553-4.858-5.945-5.768-.299-6.378-4.06-11.813-3.305.266-1.12-2.107-3.438-3.372-2.296 1.054-.055 1.708 2.241.477 1.686-6.4-6.267-17.403-9.594-24.879-14.763.521.388.488 1.043.455 1.675-.688-.322-1.386-.654-2.074-.976.377-.843.887-1.209 1.386-1.553-2.54.632-3.405-4.381-5.135-3.927 1.154 1.398-1.176.288-1.043-.499-1.154 1.486-.754 1.32-2.717 1.653.721.477 2.03.699 1.786 1.586-5.657.355-10.77-5.546-15.273-8.141-2.163.299.754 2.873-1.464 2.995-.532-2.973-5.435.91-4.659-2.285 1.176-1.309 5.812 1.619 4.858-2.063-3.217.344-6.844 3.339-8.718-.577-2.462 6.101-8.141 0-11.78 1.653-.643-1.786-3.194-5.235-6.156-4.492 3.416 2.496 5.934 5.369 5.646 9.417-.665-.211-1.442-.821-1.863-.155 2.451 2.407 3.172-1.741 5.568.499 1.187-2.229-2.596-2.374-1.642-4.514 4.282 1.719 8.186 3.239 10.571 5.901-1.375-1.231-1.653 1.653-2.917.81-.211-.765-2.085-3.15-2.828-2.119-2.274 2.762-9.239 2.085-11.047-2.451-3.25 2.629-4.57-2.274-5.191-2.551 1.131 1.242-1.542 1.974-2.229 1.863 1.42-2.717-4.281-4.625-2.895-.71-2.152-1.031-1.808-2.751-1.386-3.671-2.285.466-4.636.71-6.755 1.819.821-1.453 1.93-1.353.677-2.64-1.653.177-.91 1.031-1.941 1.276-.333-.344-.344-.81.089-1.453-4.026 3.305-5.213-5.147-7.232-3.638.588.377 1.131.799.422 1.708-2.218-1.453-4.725-2.773-4.492-5.224-2.141 2.252-1.276-1.875-3.316-2.418-2.751 3.594-11.713-.466-9.384-3.261-2.507.566-4.526 1.864-5.757-1.475-2.263 2.784 3.094 2.529 2.895 4.492-2.229.71-5.546-3.061-7.82-2.529-.432-2.307-.776-3.915.377-5.79-1.575-.322-2.673 1.375-4.104 1.642.555.399 1.508.654 1.231 1.375-2.984 1.22-6.489-1.786-4.437-5.28.965 1.22 3.095-1.775 2.263-1.819-2.041 2.13-5.146-.144-7.298 1.475 1.841 2.052 2.473-.91 4.215.677-.299 2.185-1.763 2.152-.81 4.071-2.95-1.941-4.47-2.54-7.021-2.862.632-1.165 1.808-.022 2.263-1.819-1.586-1.619-2.052 1.464-3.294 1.298-.577-1.176-1.886-2.063-1.342-3.694-5.99.954-8.186-2.385-14.286-5.213-2.096 2.207 3.072 1.63 2.152 3.383-7.409.177-13.044-3.616-20.287-3.915.577-.765 1.386-.543 1.974-1.22-4.514 1.02-5.18-3.15-7.42-.898-5.801-6.589-23.714-13.687-28.473-20.586-3.938-2.03-11.047-1.209-11.425-6.932-3.283 1.22-6.821-4.004-9.594-3.039.71.577-.455 1.009-1.154.887-6.655-6.932-13.72-3.649-21.984-10.659-1.398 3.117 6.977 2.751 3.627 6.578 4.814 3.206 5.213 5.99 9.894 8.53-.655-.244-1.386-.909-1.841-.277.311.355.987.566.688 1.142-2.141-1.642-4.015-1.952-5.557-.788 3.915 1.553 8.984 3.671 11.059 7.653-2.385 2.041-7.387-4.526-8.807-3.361 2.562 2.806 4.603 5.801 8.075 8.286-2.673.921 1.409 1.065-.255 2.895-3.106.222-3.572-1.852-5.435-2.252.71.166.832 2.651-.455 2.03-1.176-1.697-1.642-1.087-3.583-1.985.355-.821 3.05-.61 1.808-2.041-2.806.377-7.986.854-7.798-2.806-.732 1.043-.144 1.597-.787 2.606-1.22-.776-2.407-1.453-3.394-1.109l.976-1.752c-3.771-.532-5.801-.366-8.419.654-1.398-1.497-6.877-6.023-9.029-4.237 2.174 2.352 7.52 1.52 7.21 6.278 7.043 3.616 14.542 9.328 19.455 10.792 3.139.932 6.2 4.736 8.885 5.69 2.706.921 7.298 1.497 7.088 5.335-.887-2.074-4.037-.91-4.836-3.372-1.608.222-.133 1.775-1.475 1.475-22.883-17.403-59.164-22.062-83.998-39.642-2.828 5.313-9.439-1.32-11.136-4.193-3.172 2.418-4.37-2.973-6.422-.666.488 1.985 4.869 2.718 3.716 5.258-.876.832-1.353 3.727-2.529 3.15-6.788-2.573-7.509-9.373-12.013-8.585 3.25 1.808 3.195 7.62 8.297 10.249-.765-.344-3.494 4.27-1.697 2.873 1.797-4.259 2.762.71 5.258-.787 1.664 1.153 1.209 3.006.522 4.925-2.995 1.597-6.899-1.42-10.005-.455-1.331 2.462-.155 4.381 2.218 4.381 5.169 9.162 21.695 11.502 29.338 17.725 1.009.577-.255 1.93 1.386 2.318 4.902 2.008 14.12 3.117 16.094 9.927 3.738.876 5.99 3.083 9.273 5.224 1.065-1.442 2.429-1.398 4.093-.022-1.508.677-.355.754-1.298 2.318-1.475-.521-3.017-1.276-4.281-.854.2 1.187 2.706 1.553.754 3.472-3.45-1.974-6.089-.044-9.395-1.442.843.81-.011 2.207 1.93 2.629 4.093-2.085 9.373 1.253 13.055-2.651.887 1.142.211 4.071-1.254 4.636 2.252 5.235 9.883 5.712 12.689 10.071-1.187 2.152-3.094 1.043-4.536 2.052 3.572 2.407-1.42 1.231-2.152 2.618 3.86-.388 8.485 2.706 12.711 4.004 22.361 21.452 55.836 30.026 79.783 47.096 8.308 2.363 16.327 6.311 21.796 8.208 4.437-1.098 11.413.754 13.354 3.849 2.196-.599 8.441 2.34 11.791 3.804-.865-.144 1.031 1.664.921 2.584-4.514-2.096-7.154-4.547-9.683-1.885-.477-.61-.876-1.242-.976-1.985.477.078 1.043.51 1.353-.055-3.05-2.595-1.22 4.215-4.237 3.083 1.209-3.339-4.004-1.276-1.364-5.158 1.819.532 1.453 2.484 2.951.743-4.614-2.651-9.439-4.104-12.223-4.758.721 3.039 5.857 2.163 7.908 4.071.144 1.065-.599 2.451-.455 3.494 2.052 2.862 5.635 2.207 5.69 5.834-8.297-1.686-4.769-4.836-9.694-7.132.299.166.355.799-.299.599-3.627-1.242-4.659-2.995-8.23-3.483-.743-1.486-2.396-7.099-4.758-2.44 2.34.543 4.98 1.675 4.381 4.492 3.96 3.46 8.918.211 10.637 3.982-2.385-.965-4.514-.943-6.278.51 2.085 1.553 2.95-1.542 5.135.388-.555.787-1.375.555-1.963 1.242 3.039.166 8.13 1.431 7.654 4.603-4.969-1.165-9.073-2.884-12.878-3.549.466-.81 1.054-2.329.078-1.453-.2.399-.399.787-.599 1.176 3.405 5.025 8.042 1.154 9.162 6.899-2.207-1.564-5.38-.654-6.378-3.217-2.562 2.751-8.075.621-10.515-1.675 5.124 8.03 14.608 3.804 21.441 6.444-.621 2.363-4.803.233-3.705 3.35 9.084.233 16.238 10.682 23.06 13.809-7.387-1.065-13.41-2.962-17.947-6.777-1.575-1.009.488 2.385-1.442 1.509-3.195-4.337-12.967-6.722-20.298-8.774.643-.743 1.142-.677.921-1.775-5.446 2.651-9.772-3.827-13.965-4.193.333.344 1.031.566.754 1.142-7.176-5.435-17.769-10.892-26.909-11.713.411-.776.832-1.564 1.242-2.341-9.328-2.074-22.827-5.912-30.525-13.865-.588 1.331-1.431 1.641-2.518.91-20.83-13.221-50.279-21.84-70.555-35.505.333.322.433.732-.1 1.342-7.886-8.718-17.059-12.201-26.066-17.115-.621-1.497-.167-3.361-.599-4.936-1.453 2.496-.011 1.764-1.287 4.625-2.551-4.847-8.297-7.842-13.365-9.173.333-.577.665-1.142 1.009-1.73-4.348.322-8.873-1.264-10.77-4.47.044.455-.344 1.032-.732 1.608-2.951-1.087-5.357-2.13-4.492-4.171-1.708-.288-3.339-1.697-3.106-4.148-2.274-.643-1.597 2.839-3.072 2.839-18.046-14.142-47.196-30.491-67.394-41.328 16.028 10.937 33.375 23.115 53.263 32.288-1.065 1.575 3.793 1.298 1.564 3.217 11.17 3.915 21.396 16.294 32.577 19.067-.311.721-1.043 1.586-.499 2.03.865-2.44 2.407-1.575 3.749-1.675-.41 3.161 4.869 2.74 5.613 7.032 2.185-2.119 7.032 4.093 7.997 5.324.976-.466 1.73-1.875 2.895-1.42-.91 2.296 2.684 1.231 2.64 3.805 3.017-1.708 4.869 1.442 7.764 2.119-1.553 3.738 2.618 3.738 5.258 5.302 1.63-.189.155-1.786 1.509-1.442 12.467 8.973 26.199 14.652 39.531 25.012-.477-.089-1.043-.555-1.364 0 1.375 1.32 1.886-1.054 3.272.266-.921 1.564.222 1.642-1.287 2.329 3.15.189 5.712 3.294 8.108 5.147 1.619-1.52-.033-1.875.233-2.895 1.143.921 1.73-.466 2.961.832-.654 1.165-1.852-.033-2.341 1.753 2.03 2.107 2.828-.976 4.858 1.12-1.83 2.607 2.307 2.074 2.94 4.614 2.229-1.586 2.462-1.497 2.961-2.928 1.142 1.298 1.974 2.263 3.472 1.12-.311.588-.632 1.176-.954 1.764 1.32.033 6.722.067 5.812 3.128-1.908-1.952-5.845-.055-7.387-3.993-2.351 4.858 10.892 4.703 10.227 10.071-12.09-5.59-20.464-11.402-32.377-18.268-.765.887-.044 1.919-.965 1.752-.754-.832-3.494-.987-2.84-2.307 1.398-1.098 1.398 2.607 2.74-.011-2.496-1.708-7.642-4.048-9.24-4.359 1.021.632 2.485 3.494-.033 3.782-7.753-7.897-20.11-12.245-28.229-17.17-11.702-7.243-22.882-15.562-35.372-23.958l.688-1.154c-6.444-.089-8.341-6.555-13.976-5.812-1.131-1.364-2.229-2.729-1.42-4.703-1.109-.189-2.651-2.462-3.45-1.231 2.396 1.109 3.095 2.751 1.941 4.991-3.039-1.442-10.482-6.267-13.31-9.328-6.122-.699-12.456-6.932-17.913-7.487 1.985 3.527 11.125 3.727 8.297 9.572-2.485-3.25-7.32-.854-9.661-4.958-1.043 2.041-2.196 1.32-3.76-.721-5.158 3.117-10.182-6.256-16.172-5.834-.377-2.052-1.609-3.86-2.906-5.635-1.431 1.63 1.375 1.897-.865 2.584.699.876 3.439 1.131 2.729 2.429-10.97-5.302-19.832-8.729-30.536-14.73-3.228 5.335-6.178-2.418-8.596-2.174.676 4.026-4.57-2.163-6.522-3.261-4.758-2.706-10.936-4.193-14.076-4.836.61 4.171 5.834 2.163 7.842 5.679-.987 1.209-2.041 2.096-3.306 1.852.189-1.198-3.405-2.196-4.148-.222 3.305 1.031 4.192 2.806 5.978 5.28-4.026-.222-10.171.81-11.347-4.714-3.794 1.087-6.744-2.418-11.669-4.27-1.065 3.627-5.269-.344-8.596-2.318-4.148.921-2.562 3.738-6.977 1.863.599 1.952 2.74.932 2.717 2.518-2.706 1.985-5.368 4.093-8.873 1.442.632-.71 1.442-.399 2.096-1.021-2.862-1.386-6.844-1.841-7.964-1.131-1.442-2.884-2.018-.976-3.971-1.73-3.106-1.176-5.934-5.945-9.273-3.638 1.054 2.507 4.98 2.052 3.649 5.579-2.939.255-2.362-3.727-3.938-1.786.433 2.551 6.999 3.45 5.224 6.544l-3.095-1.963c-1.154 1.653 1.675 3.272-1.143 4.004.954.166 2.241 2.34 2.939 1.076-1.187-.61-1.342-1.508-.466-2.662 1.364.799 3.927 2.939 5.834 4.503-5.734 1.031-13.743-4.148-18.268-7.842-1.098.776-2.141 1.83-3.361 1.797 2.34 1.608 4.681 3.194 2.784.222 2.085 1.021 1.553 2.706 1.608 4.259-5.446.2-2.44-2.573-6.156-4.048 1.586 1.608 1.675 3.05-.787 3.461 3.838 4.026 9.328 8.885 13.177 10.138-.91 5.324 11.258 5.557 8.152 12.29 1.952 1.531 2.895-2.729 4.914-.81.455.799.81 1.63 1.154 2.473 5.956 3.738-37.734-21.762 658.233 381.625l59.597-114.031 124.35-33.901c.399-.177.799-.31 1.165-.322l1.498-.422c.222-2.34-2.407-1.131-3.783-.543.111-.81-1.209-3.161-.266-2.862.566-2.03 2.64.765 4.636.022-.876-2.296-6.167-1.486-6.666-2.74-.144 1.653.033 3.583-2.063 2.851 1.708-4.326-.643-5.912-3.461-7.365.599-.421 1.043-1.242 1.364-2.351 4.903 3.938 18.379 3.328 26.299 7.354-.178.788-.632 1.021-.976 1.486l33.741-9.295c-1.553-1.054-2.329-2.662-1.42-4.98-10.97-7.099-25.367-8.341-36.259-13.732-4.814 1.941-9.483-.189-12.633-2.485.399.355-1.586 1.087-2.296-.044-2.551-4.082 3.549-3.727 6.644-2.817-1.786-.865 1.83-4.126 2.762-5.413 5.724.111 11.225 1.675 16.871 1.675 1.442.721 1.198 2.429 2.906 2.961 3.194-1.753 4.747 2.784 7.864 3.083 1.797.166 3.849-2.218 5.557-1.808 1.886.477 2.751 3.638 4.337 4.093.965.288 2.95-.344 3.793-.233-.1 0-.754 1.098-.943 1.098 1.697.488 3.061-1.021 4.547-.71.255.056-.133 1.952-.022 2.074 1.719 1.686 5.246-.909 7.554-.499 1.076 2.318-2.795 2.318-.399 3.35.81-2.13 3.084-1.043 4.348-2.174.521 4.004 6.444 1.608 4.67 4.869 4.182-.022 11.358.444 14.819 1.653-.61-.299-.311-1.187.022-2.074 3.228 1.009 4.792 1.442 6.556 1.298l16.615-4.57c-1.109-1.198-2.607-2.407-3.328-1.974.621.3.311 1.187-.011 2.085-1.498-3.538-5.235-3.361-8.175-5.191 3.405 1.386 2.252-.643 5.036-.588-2.185-1.575-3.316-2.806-5.779-1.02.188-.632.388-1.265.577-1.908-5.89.566-12.8-6.056-20.165-6.001.144-.766.643-1.786.022-2.074-6.6.599-13.92-6.3-17.658-4.614.51-2.451 3.572-2.518 4.537-.721.965-4.525-3.305-2.107-4.881-2.174.078 0 .255-1.143.355-1.253-2.451.011-4.337 2.529-6.81 2.096-3.183-.555-3.061-4.148-7.398-4.326.277 3.361-4.281-1.087-6.345.166 6.123 2.218-7.842.91-6.589-3.372 1.897.788 2.662-.743 4.093-.843-3.261-.71-1.508-1.187-1.364-3.893-2.828-.089-2.606-1.974-4.337-2.695-.344 2.107 2.096 2.607 2.573 4.237-.799-.266-1.386-.089-1.963.111-1.109-1.187-1.131-4.67-3.106-2.329.377-1.098.499-1.997.288-2.695 12.722 1.398 15.795 2.839 21.352 6.455 5.734-.377 9.872 5.357 16.272 3.527-.311 1.198 1.73.998 1.098 2.396 7.576.277 13.044 9.129 20.209 6.067-1.542-.577-3.993-.599-3.527-2.429 1.697.688 10.238.821 7.065 4.88 1.464 0 2.828-.166 4.659.677 1.675-2.429-2.851-.954-2.207-2.729 2.618.455 8.607.887 9.472 4.88 10.205 2.873 18.146 4.204 23.726 9.694.81-1.974.876-.81 1.087.388l1.719-.477c.033-.621.056-1.12.532-1.02.555.155.821-.322 1.298-.322.666.022 1.076.2 1.342.466l7.642-2.096c-2.771-.291-6.42-.412-8.04-3.64zm-329.316-148.531c.3 1.12 1.997 1.575 3.394 2.196-.499 1.031-.311 1.741.222 2.274-.654 1.298-1.886.743-3.139.078 1.453-.843.133-1.353 1.597-2.207-.865-.699-3.516-.533-2.074-2.341zm-3.139.089c-2.196 1.165-2.263-.366-3.649-1.586 2.185-1.176 2.251.344 3.649 1.586zm-283.363-111.728c1.519-1.841 2.141.277 2.54 1.364-.876 1.309-2.407-.865-2.54-1.364zm86.028 40.186c-1.409-.865-2.673-1.165-3.683-.366-.477-.422.266-1.353-.411-1.697.832.111 3.439.377 5.524.543-.509.333-1.031.688-1.43 1.52zm42.659 27.829c.688 1.93 3.205.887 3.328 2.374-.766 2.34-5.224-.588-3.328-2.374zm-183.802-53.995c1.031-1.753 4.082.466 4.392 1.664-1.941 1.697-3.682-1.121-4.392-1.664zm-36.825 117.074c1.154-2.573 2.562.732 3.472 1.131-.877 1.587-3.239.045-3.472-1.131zm-280.845-85.618c-.488.599-.521 1.054-.211 1.442-1.087.987-3.483-1.553-3.594-2.351.732-1.098 1.863.211 2.496-1.553 1.786.776 1.143 2.196 3.228 2.884-.51.599-1.254-.133-1.919-.422zm30.402-4.303c.499-.599.522-1.076.211-1.453 1.231-.821 2.751.044 4.315 1.176-1.275 1.43-2.984.365-4.526.277zm42.216 1.408c-1.753-1.841-2.107-1.22-4.625-2.851 1.331-.898 6.71.234 4.625 2.851zm426.592 39.143c-1.187.466-3.316 1.109-3.694-.322.987-1.275 3.228-1.508 3.694.322zm.388 3.151c-2.007 2.041-5.357-1.664-7.043-2.706 2.384.898 4.88.665 7.043 2.706zm-11.636-6.434c.743-1.142 1.974-.477 2.74-1.619.677.654-.488 2.085 1.475 2.207-.92 1.664-2.706.022-4.215-.588zm-5.834 133.901c-.765 1.054-2.484-1.12-2.762 1.631-3.727-2.229-6.722-1.952-10.249-3.439 5.58-.444 7.754.543 13.011 1.808zm-56.346-25.789c-1.619 2.019-2.374-.621-4.06-1.242 1.298-1.897 3.039.344 4.06 1.242zm-32.333-3.46-.909 1.775-2.13-1.065c.632-1.653 1.73-1.576 3.039-.71zm-92.472-38.855c5.934-2.507 10.914 5.08 16.837 6.633-5.346 1.797-12.545-4.614-16.837-6.633zm89.843 54.672c-1.764-1.575.821-2.584 1.564-4.426 1.542.787-.432 3.982-1.564 4.426zm3.827.421c-1.431-.721-.543-2.352-.965-3.461.444-.643 1.242 0 1.919.222-1.298 1.464-.022 1.908-.954 3.239zm101.479 35.006c-3.549-1.542-4.891-4.026-8.63-5.513.621 1.83 2.662 3.416 6.189 5.102-9.395-.51-14.752-2.341-22.783-7.786-1.276 2.773 2.318 3.538 1.753 6.023-5.113-4.026-10.77-2.207-14.076-5.269l.577-1.209c.366-1.398 1.32-.776 2.196-.41-.089-2.263-3.039-1.031-3.317 1.353-1.786-.832-3.172-.277-5.146-1.73.71-1.264 1.974-.632 3.272.1-.377-3.328-5.701-2.008-8.973-2.085-2.374 0 .666-2.185-.754-2.573-2.706.211-14.453-5.113-15.861-8.452-1.775.078-2.307.4-2.54 2.451-2.119-.599-2.928-1.708-2.352-3.372-3.56 1.963-5.668-2.096-7.775-4.559-1.941-.876.166 2.54-1.431 1.52-1.386-.632-.432-.754.056-1.442-1.985-1.032-2.895 1.752-5.191-.333 1.187-1.264 2.285-2.839 3.205-5.102-1.22-.499-1.486 2.429-2.318 3.316-2.596-.566-1.242-2.684-2.873-3.627-.51 2.962-6.123 5.313-5.49.255 2.085.444 1.93 1.797 2.629 2.773.688-1.497-.089-2.329 1.486-2.973-3.416.377-2.884-1.153-5.069-3.261-.898 1.276-3.106 2.385-2.673 5.346-1.242-1.741-3.072-3.261-4.159-5.069.821-1.486 2.385-.288 3.804.433 1.009.333.311-2.618.432-3.516-1.386-.277.178 1.253-1.453 1.52-1.154-.821-1.52-1.952-3.439-2.484-.288-1.619.432-.732 1.198-2.385-4.27.067-4.77 4.947-8.053 2.662-.133.854.067 1.564.998 1.997-8.474 2.019-13.51-9.428-20.198-7.908-1.02-2.152.277-2.218-2.362-1.952.51-3.394 2.995-3.405 5.479-3.66a13.862 13.862 0 0 0-1.675-1.131c1.531-1.553 1.043-1.442.976-3.217-2.118-.366-.321 4.126-2.651 3.86.055-2.074-5.036-1.187-6.322-4.747-.854-.188-.577 1.009-.078 1.453-1.642 1.031-1.02-2.762-3.117-3.095.1.743.51 1.386.987 1.997-1.265 1.597-.843-1.154-2.141-1.098-.266.588.433.787.765 1.142-.987 1.464-2.984-.865-4.104.133-.222-1.608-1.231-4.348-3.438-2.529-5.568-6.278-13.155-10.326-20.287-14.231l.932-1.764c-6.278-.488-10.226-4.259-15.462-6.655 6.101-2.374 10.77 4.281 16.838 6.622 3.328 1.298 7.165.244 9.96 2.928-.732 2.551-3.05-1.021-4.115.122-.055.976 1.564.444 2.34 1.952 8.585-3.206 16.582 6.189 24.646 9.705 6.6 2.895 13.477 2.973 17.747 6.023.044.776.932 1.22.177 2.307 2.673-.688 3.816 2.396 6.411 3.228-.255 2.296-1.376 1.187 1.531 2.252-1.575.643-.799 1.475-1.486 2.973-1.653-.311-.421-1.73-.71-2.584-1.242.543-2.596.699-3.649 1.897-.854-.943-.311-2.418-.943-3.461-1.176-.355-1.863 1.087-3.039.721.078 2.496 4.903 2.717 4.914 6.167 4.725-.666 7.032-5.501 11.935-3.671.421-1.586-1.353-2.329-2.307-3.394 5.435-.91 7.587 4.592 11.879 2.984.411.954 1.697 1.575 1.242 2.862 1.708.366 6.222-.433 5.657 2.041 1.054.433 1.364-1.786 2.507-.998 1.63 5.624 11.613 3.716 13.887 8.308 3.982-1.386 10.094 2.318 11.857 4.315 5.08-3.139 14.098 3.46 16.693 8.019 4.282 1.73 4.603-.022 8.408 1.819-1.065-.721-2.252-3.827-3.195-3.006 1.165-2.174 3.56-.599 7.321 1.287-.144 0-.921.422-1.364.089 5.002 3.66 19.178 2.141 21.806 12.512-2.196-1.131-4.259-1.786-5.978-1.32 1.719-.388 6.489 5.324 8.962 1.985 1.841.499 1.852 1.775 1.852 3.061-.843 1.32-1.675 2.662-3.294 1.398-.897 1.338 2.619.816.767 2.558zm.832-.355c1.464-2.873 4.403-.821 7.076.388-1.818 2.862-5.068.71-7.076-.388zm6.566-147.921c1.708-.732 3.527-.954 4.736.821-.543 1.353-1.974-.61-2.884-.654-.732 1.253 1.697 1.176 2.296 1.852-2.295 1.154-2.572-.699-4.148-2.019zm5.18 146.812c-.71.244-1.52.067-2.452-.41 1.465-2.984 8.531 3.904 2.452.41zm19.522-140.866c-2.307 1.764-3.106-1.142-5.79-1.287 1.919-2.718 4.148 2.152 5.79 1.287zm-2.607 5.39c-.388-1.253-1.42-2.229-2.252-3.294 1.176-.932 4.359 1.242 4.692 2.24-.499 1.542-2.218-1.464-2.44 1.054zm9.317-.71c-1.098-2.396-4.614-2.196-6.766-3.239 1.453-.299 7.232-.876 6.766 3.239zm-6.477 2.807c.943-1.398 3.117-1.908 3.483-.555-.988.821-1.986 1.619-3.483.555zm5.213 2.495c-1.198-.266-1.176-1.065-1.786-1.608 1.131-.144 2.884-1.331.333-2.041 2.263-.1 5.224 2.141 8.097 3.139-2.518 2.573-4.925-3.128-6.644.51zm27.474 12.146c-6.256-3.305-11.48-3.694-16.172-9.018 4.57.754 9.55 4.137 16.538 5.513.821-2.762-2.784-.621-3.095-2.906 1.131-1.908 3.461.455 5.28.987 0 2.684-2.162 2.629-2.551 5.424zm8.774-1.054c.654-2.496 2.828.388 4.215.51-1.575 1.365-1.697.022-4.215-.51zm5.435 4.725-2.107-.965c.932-1.52 2.329-1.409 3.749-1.22-.655.355-1.198 1.109-1.642 2.185zm16.427.155c-1.808-.288-1.065-1.741-2.873-2.03.411-.488 2.884-1.142 2.385.344.521.211.743-.555 1.076-.965 1.275 1.209.166 1.165-.588 2.651zm2.085.954c.577-.388 1.131-.799.566-1.209.521-1.353 1.985.566 2.895.588-.976.843-1.952 1.653-3.461.621zm15.063.278c1.409-1.875 2.03 1.087 4.215.422-.632 2.484-2.829-.322-4.215-.422zm3.993-1.853c1.198-.621 4.426-.41 1.619-2.196 1.908-2.285 3.46 1.209 5.513 1.719-2.684 1.265-3.638.688-7.132.477zm4.16 3.295c.876-1.83 4.082.111 4.47 1.264-1.809.532-1.997-.943-4.47-1.264zm4.226-14.852c-.233-2.274-2.318-3.693-1.442-6.478 1.719 1.575 3.405 3.161 1.442 6.478zm4.98 1.464c-1.652-1.331-3.139.255-3.649-1.608.565-2.873 5.423-.722 3.649 1.608zm1.918 11.047c.699-1.852 2.817-1.309 3.161-.056-.853.711-1.907.733-3.161.056zm10.482 3.206c3.205-2.928-2.484-.71-1.265-4.204 1.908 1.464 1.764.898 4.182 1.852.433 1.409-1.164 3.76-2.917 2.352zm9.429 2.706c-.311-1.453-3.638-1.453-2.063-3.804-1.719 1.852-3.427-1.364-5.224-2.329 3.317 1.963 7.276.643 9.439 2.706-.455 2.03-1.698 1.397-2.152 3.427zm41.949 13.665c2.496 1.564 2.939 3.328 5.757 2.44l-1.298 3.061c-2.529-2.019-6.921-2.13-9.716-4.825 2.162-1.596 3.194 1.698 5.257-.676zm3.172 14.353c.422-.854.821-1.697.255-2.063.765-1.775 3.583-.189 3.949.954-1.032 1.519-2.474 1.786-4.204 1.109zm8.419 4.969c-1.486-1.187-3.128-2.285-3.96-3.804 1.309-2.085 2.052 1.009 4.47 1.142-.521 1.054.111 1.553-.51 2.662zm7.298-8.507.776-1.841c.876.355 1.753.71 2.618 1.076-.577 1.929-2.24.565-3.394.765zm-3.671-1.52c-3.971-2.773-7.931-3.339-9.45-5.413 3.028-2.351 7.121-.299 8.13 2.706 3.217-2.041 6.056-3.383 8.896.788-2.097 1.198-4.803-2.573-7.576 1.919zm4.913-8.762c.654-1.331 2.34.655 3.405.688-1.686.854-.411 1.364 1.054 1.852-1.663 2.229-3.061-1.675-4.459-2.54zm18.834 6.311c-.211.765.743.921 1.32 1.276.022 1.342-2.418 1.398-1.02 2.462-.91.743-1.298-2.873-1.342-4.171 1.941.566 1.985-1.154 3.405.688-.51.765-1.531-.033-2.363-.255zm24.68 27.863c.887.654 2.163 1.109 1.353 2.673l-2.107-.821c.243-.61.498-1.22.754-1.852zm-4.426.388c1.309.444 2.562.932 2.895 1.886-.688 1.553-2.24.51-3.649-.033zm-11.78-17.625c-.322-.577-.643-1.131-1.054-.421-.51-.388.144-1.364-.555-1.653.488-.388.965-.787 1.298-1.642.51.455.865 1.62.022 1.442.067.765.933 1.12.289 2.274zm.788 1.032c-.277-1.586.089-4.903 2.296-4.104-.643 2.506-.61 2.717-2.296 4.104zm2.695 20.442c5.146-1.353 14.219 3.605 18.623 3.782-3.127 3.316-13.31-2.274-18.623-3.782zm18.335-9.184c.399-.854.799-1.719.222-2.063.377-.654.666-.133.521.222 2.939-2.141-.255 1.797 1.597 2.041-.488.776-1.508.01-2.34-.2zm5.036 14.818c.943-2.108 3.339.011 4.947-.222-1.819 2.574-2.806-.332-4.947.222zm183.68 81.803c-1.32 3.56-1.819-.355-4.104-.521.666-1.354 2.84.565 4.104.521zm-6.455 11.28c-.521 1.741-3.095.71-3.55-.366.489-1.387 2.463.432 3.55.366zm-39.576-27.874c.899-1.331 3.727.444 2.474 2.141-.665.333-1.508.288-2.485-.055.333-.899.655-1.786.011-2.086zm-17.58-10.881c-1.065 2.119-1.952.211-2.451-.754.587-1.442 2.273.31 2.451.754zm-31.623-16.349-.666 1.963c9.051 1.187 18.978 4.126 26.41 9.106 1.298.022-.022-2.895 3.916 1.209-.71 1.93-2.762.322-4.315.056-.322.887-.632 1.775-.1 2.063-5.657-.211-13.443-4.659-22.095-3.538-1.431-1.209-2.695-2.518-3.028-4.481-1.686.011-.377 2.13-1.065 3.15-1.486.033-1.542-3.272-2.884-1.697-1.32-1.065-.266-1.131.344-2.684-2.928.066-5.113.177-6.633-.854-1.264 1.93 1.265 1.531 2.152 2.13-2.385 1.653-5.745-.443-6.722-2.285.455-2.518 3.871-3.305 1.021-4.559 3.039-1.42 7.443 4.869 9.495 2.518-3.372-2.862-11.092-2.995-11.78-7.531 6.478-.844 9.761 4.325 15.95 5.434zm-4.404 23.104c-.1 7.243-11.735 1.542-15.029 1.231-1.609-2.429-1.109-5.125 2.285-4.858-.277.477-.743.444-.954 1.076 6.622 2.329 7.653 1.708 13.698 2.551zm-6.344-12.001c.854-1.342 2.307-1.087 3.161-2.44.044 2.13 4.426 1.564 3.793 4.115-1.63-2.618-4.769.609-6.954-1.675zm5.457 6.078c-1.775-.788 2.107-1.908.344-2.695 1.164-1.752 1.652.887 1.863 1.331-.343 1.519-1.741.199-2.207 1.364zm-7.32-7.409c-2.695 2.163-4.692-1.309-8.23-1.409.688-1.409 1.664-2.063 2.085-4.204 2.706 1.453 3.427 3.261 6.145 5.613zm-13.688-12.512c-.477 1.098.166 1.542-.377 2.695-2.307-.133-.899-2.429-3.206-2.551.899-.854 2.463.1 3.583-.144zm-25.766 6.999c.921-1.275 3.061.832 4.47.91-2.085 2.706-2.374.077-4.47-.91zm1.73-7.875c-.754 1.73 3.727.499 1.941 2.828-2.074-1.885-4.193-2.019-6.566-1.697.377-1.497.987-2.351 1.686-2.917-1.309-.699-2.052.222-2.518 1.908-2.928-.311-2.806-2.34-3.272-4.037 4.547-3.605 12.212 4.648 16.959 2.673 5.701 3.904 11.458 5.38 17.669 8.419.333-1.176-1.642-.998-1.642-1.985.776-1.93 3.627-.078 2.917 1.73 1.93-.743 2.218-1.231 2.607-4.004 2.74 5.845-1.165 7.554-6.955 4.592.111 1.087 1.364 1.486 2.174 2.185-.455 2.052-2.573-.388-3.294.943-.643-.443.133-1.73.377-2.684-5.324-1.176-5.812-.998-11.469-2.64.177-2.629-2.673-.998-2.773-3.86-1.641.044 1.087 1.997-.921 2.496-3.514-1.865-2.516-3.44-6.92-3.95zm29.394 23.903c-.421 1.719-1.675 1.242-2.762 1.187.632-1.686 2.251-2.618 2.762-1.187zm-18.679-5.868c-1.298 1.298-2.229.466-3.394-.488.976-2.828 1.497.843 3.394.488zm-4.592 20.964c.355-.865.721-1.742.144-2.063 6.755-.599 14.863 4.182 21.496 6.811 1.553-.189.543-2.939-.721-3.061 1.154-1.586 2.185.943 3.183 1.076-.333 1.165-1.109 1.109-1.398 2.34-.266 1.486 2.518 1.142 3.483 1.897-9.394 3.659-15.262-3.673-26.187-7zm33.819 33.364c-.765-.499.832-.976-.111-1.453 1.997-2.507 4.559 1.364 6.378 2.096-1.719 3.073-4.548-2.285-6.267-.643zm7.997 2.595c-.51.455-1.009.921-.41 1.265-.411.876-1.653-.299-2.008.754-.887-.477-.865-1.498-.244-2.873.888.278 1.775.566 2.662.854zm-5.091-21.95c-.355-1.608.787-3.549 1.264-3.782.244-2.285-1.131-.455-1.675-1.952-1.73.344 1.22 1.83 0 3.494-4.071-1.265-4.67-2.374-7.276-.998-1.375-1.509.444-.998-2.973-1.708 1.242-4.459 3.716.255 5.635-.887-.865-3.261-7.709 0-6.234-4.248 6.422 3.006 16.139.965 21.829 7.919-1.531.91-1.164-2.196-3.25-2.451-.177.621.488.688.843.976-.41.865-1.63-.288-1.974.743.067 1.63 3.206 1.32 4.492 2.174-3.172 2.228-8.23-.423-10.681.72zm14.519-28.162c-1.675-3.505-6.089-1.875-9.384-5.857 4.304-.277 12.523 3.505 9.384 5.857zm4.004-.112c1.131-1.741-.776-1.486-1.642-1.93 3.616-.488 10.936 3.505 16.915 3.893-4.902 3.827-9.427-1.286-15.273-1.963zm17.359.511c-2.562-1.608-3.383-1.364-6.234-2.607 1.808 3.904-6.866.177-6.932-2.13 5.579-1.198 10.87 4.048 15.129 1.863-.199 2.164-1.375 1.72-1.963 2.874zm5.745-1.043c-.089 1.875-1.564.932-1.952 2.196 4.182 3.283 9.461 2.773 9.728 7.798-3.749-2.218-5.724-1.154-9.306-.721-.588-.876-.632-2.063-1.775-2.618 1.331-1.209 1.741-.532 3.139.255.233-2.573-.976-4.315-3.549-5.246.299-2.485 1.786-2.529 3.715-1.664zm-24.767 59.253c.1.177.244.333.421.444l.743-.2c-.377-.078-.765-.167-1.164-.244z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M975.461 1772.248a5.001 5.001 0 0 1-1.176-9.86l943.777-229.133a5 5 0 1 1 2.36 9.718l-943.777 229.133a5.034 5.034 0 0 1-1.184.142z\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1235.444 2175.53 137.942-256.276-997.467-381.034-57.849 121.768z\",\n fill: \"#7584d7\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1310.388 595.42-112.326 106.548-52.92-90.875 84.165-64.51z\",\n fill: \"#d2e23d\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1145.142 611.093-71.165 84.542-117.362-150.35 101.179-23.071z\",\n fill: \"#d2e23d\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1198.062 706.968a5.001 5.001 0 0 1-4.321-2.484l-52.919-90.875a5 5 0 0 1 1.805-6.837 4.999 4.999 0 0 1 6.837 1.805l49.74 85.417 107.744-102.201a5 5 0 1 1 6.881 7.255l-112.327 106.548a4.999 4.999 0 0 1-3.44 1.372z\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1073.978 700.635-.092-.001a5.002 5.002 0 0 1-3.849-1.922l-117.363-150.35a5 5 0 1 1 7.883-6.153l113.568 145.488 67.193-79.824a4.999 4.999 0 0 1 7.045-.605 4.999 4.999 0 0 1 .605 7.045l-71.165 84.542a5.003 5.003 0 0 1-3.825 1.78zm239.867 1334.23a5 5 0 0 1-4.398-7.37l56.84-105.601-992.152-379.003a4.999 4.999 0 0 1-2.886-6.455 5.002 5.002 0 0 1 6.455-2.887l997.467 381.034a4.997 4.997 0 0 1 2.618 7.04l-59.537 110.611a4.999 4.999 0 0 1-4.407 2.631z\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1083.811 2256.166a5 5 0 0 1-4.398-7.37l197.57-367.056a5 5 0 0 1 8.805 4.739l-197.57 367.056a5.002 5.002 0 0 1-4.407 2.631z\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M710.411 1645.09h685.404c27.428 0 50.806-19.895 55.194-46.969l62.259-384.174c4.409-27.205-16.595-51.887-44.155-51.887h-832c-27.56 0-48.564 24.682-44.155 51.887l62.259 384.174c4.388 27.074 27.766 46.969 55.194 46.969z\",\n fill: \"#f3ead9\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M713.201 1663.09h679.825c27.205 0 50.393-19.733 54.745-46.587l61.752-381.047c4.373-26.984-16.46-51.465-43.796-51.465H640.499c-27.336 0-48.169 24.481-43.796 51.465l61.752 381.047c4.353 26.854 27.541 46.587 54.746 46.587z\",\n fill: \"#e9d9bb\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 845.096,\n cy: 1306.452,\n fill: \"#fff\",\n r: 82.482\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 845.096,\n cy: 1306.452,\n fill: \"#fdc93a\",\n r: 64.278\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M845.174 1356.316c-16.075 0-31.641-7.785-41.13-21.542a5 5 0 0 1 8.232-5.678c10.177 14.754 29.1 20.917 46.017 14.986 16.916-5.931 27.848-22.561 26.584-40.44a5 5 0 0 1 4.635-5.34c2.753-.203 5.146 1.88 5.34 4.635 1.581 22.363-12.092 43.164-33.25 50.582a49.625 49.625 0 0 1-16.428 2.797zm-16.857-37.319-1.511.53a7.334 7.334 0 0 1-9.347-4.494l-8.854-25.252a7.334 7.334 0 0 1 4.494-9.347l1.511-.53a7.334 7.334 0 0 1 9.347 4.494l8.854 25.252a7.334 7.334 0 0 1-4.494 9.347zm39.23-13.755-1.511.53a7.334 7.334 0 0 1-9.347-4.494l-8.854-25.252a7.334 7.334 0 0 1 4.494-9.347l1.511-.53a7.334 7.334 0 0 1 9.347 4.494l8.854 25.252a7.333 7.333 0 0 1-4.494 9.347z\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1053.113,\n cy: 1423.54,\n fill: \"#91a0e2\",\n r: 61.749\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1338.593 1404.025-260.816-66.398a8.916 8.916 0 0 1-6.441-10.84l14.753-57.952a8.916 8.916 0 0 1 10.84-6.441l260.816 66.399a8.916 8.916 0 0 1 6.441 10.84l-14.753 57.952a8.916 8.916 0 0 1-10.84 6.44z\",\n fill: \"#f36a8d\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1294.095 1517.457c-25.333 0-75.639-15.037-93.376-42.445-8.715-13.461-9.891-31.99-3.143-49.561.48-1.251.224-2.752-.653-3.823-29.249-35.693 2.79-88.947 48.398-78.821 8.894-8.355 20.744-13.183 33.399-13.183 14.475 0 27.842 6.281 36.972 16.768 27.573-2.292 52.035 19.488 52.86 47.165 38.246 25.016 24.175 85.273-22.233 89.647-1.603.151-3.049 1.292-3.773 2.979-14.424 33.583-48.564 31.305-48.451 31.274z\",\n fill: \"#fff\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1370.636 1446.299c7.107-17.379-2.703-37.329-21.213-42.026 7.701-25.252-17.638-47.988-41.887-37.812-10.17-24.249-44.175-25.786-56.377-2.376-16.475-10.205-38.04-3.042-45.292 14.692-4.483 10.962-2.246 23.027 4.78 31.601 4.903 5.983 6.268 14.214 3.495 21.435-5.001 13.024-3.655 25.635 1.475 33.558 13.638 21.074 52.728 31.029 67.901 33.441 17.199 2.733 34.264.056 42.719-19.631 3.249-7.565 10.218-12.874 18.415-13.646 11.19-1.054 21.443-8.132 25.984-19.236z\",\n fill: \"#e9d9bb\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1295.741 1479.219c-14.697 1.518-14.796-14.572-27.338-19.701s-27.029 4.674-33.371-5.126c-2.076-3.208-3.635-13.777 5.753-25.214 9.011-10.978 27.5-21.006 45.294-12.971 18.324 6.735 24.489 26.845 23.226 40.992-1.317 14.738-8.142 21.46-13.564 22.02z\",\n fill: \"#f796af\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1319.596,\n cy: 1395.2,\n fill: \"#f796af\",\n r: 13.434\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1278.795,\n cy: 1378.515,\n fill: \"#f796af\",\n r: 13.434\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1341.774,\n cy: 1434.497,\n fill: \"#f796af\",\n r: 13.434\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1234.729,\n cy: 1390.579,\n fill: \"#f796af\",\n r: 13.434\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 834.773,\n cy: 1478.428,\n fill: \"#fff\",\n rx: 98.751,\n ry: 44.803,\n transform: \"matrix(.9287 -.3709 .3709 .9287 -488.8479 415.1202)\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m873.867 1473.071 81.855 16.978-16.978 81.855-81.855-16.977z\",\n fill: \"#fcae1d\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M670.547 912.89a5 5 0 0 1-4.794-6.428l32.821-110.275a5 5 0 0 1 9.585 2.854l-32.821 110.274a5.004 5.004 0 0 1-4.791 3.575zm871.732 88.955a5 5 0 0 1-4.95-4.342l-17.724-132.942a4.999 4.999 0 0 1 4.292-5.619 4.996 4.996 0 0 1 5.619 4.292l.954 7.121 16.772 125.831a5 5 0 0 1-4.963 5.659zm130.016 267.382a5 5 0 0 1-1.728-9.693l80.123-29.486a5 5 0 0 1 3.454 9.384l-80.123 29.486a4.975 4.975 0 0 1-1.726.309zM551.104 1156.211a4.972 4.972 0 0 1-2.451-.646l-77.908-43.934a5 5 0 1 1 4.911-8.711l77.91 43.935a5 5 0 0 1-2.462 9.356zm-117.933 408.878a4.998 4.998 0 0 1-4.302-2.445l-31.658-53.226a5 5 0 0 1 8.594-5.113l31.658 53.226a5 5 0 0 1-4.292 7.558zm1418.968-5.684a5 5 0 0 1-3.776-8.275l56.124-64.76a5 5 0 1 1 7.557 6.549l-56.124 64.76a4.988 4.988 0 0 1-3.781 1.726z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(947.1428571428571 447.85714285714283) rotate(0.0 218.57142857142856 279.1071428571429) scale(1.071975068522328 1.0722826929594316)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 407.792,\n height: 520.585,\n viewBox: \"0 0 407.792 520.585\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _clipPath || (_clipPath = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M195.286 112.058s-5.67-66.999-65.987-41.307c0 0-4.777 31.484 15.48 44.23 20.123 12.745 50.507-2.923 50.507-2.923z\"\n }))), _clipPath2 || (_clipPath2 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"b\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M235.223 109.951s3.537-67.145 64.64-43.384c0 0 5.775 31.316-14.066 44.7-19.707 13.377-50.574-1.316-50.574-1.316z\"\n }))), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m399.458 273.85-80.933 123.828c-13.92 21.308-42.466 27.303-63.785 13.416-13.512-8.804-20.954-23.55-20.954-38.67 0-7.732 1.941-15.55 6.016-22.724l50.649-89.33c-30.649 34.617-118.177 81.726-166.22 92.804l61.866 95.743c13.351 20.676 8.268 48.172-11.593 62.702-8.279 6.048-17.877 8.965-27.389 8.965-14.541 0-28.89-6.81-37.952-19.614L9.378 359.984c-11.614-16.397-12.504-38.08-2.316-55.399 23.317-39.619 55.418-87.982 91.561-128.593 45.348-50.954 116.706-70.19 181.59-49.145 1.857.602 2.839.955 2.839.955 14.359 5.051 27.464 11.335 39.356 18.359a204.87 204.87 0 0 1 5.844 3.571c32.622 20.611 55.56 46.552 69.941 66.434 12.353 17.084 12.793 40.044 1.265 57.684z\",\n fill: \"#fcae1d\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M290.448 265.371a5 5 0 0 1-3.741-8.314c.349-.394.779-.872 1.282-1.429 5.429-6.017 19.852-22.001 30.283-44.011a4.999 4.999 0 0 1 6.659-2.377 4.999 4.999 0 0 1 2.377 6.659c-11.06 23.337-26.197 40.112-31.895 46.428-.478.53-.887.983-1.219 1.358a4.99 4.99 0 0 1-3.746 1.686zm-166.213 92.804a4.995 4.995 0 0 1-4.189-2.263l-18.206-27.826a5 5 0 0 1 8.368-5.474l18.206 27.826a4.999 4.999 0 0 1-4.179 7.737z\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M315.594 59.889c45.062 65.516 2.01 137.562-102.936 139.237-106.691 1.704-150.436-73.737-106.143-135.923C149.389 3.01 270.329-5.922 315.594 59.889z\",\n fill: \"#fcae1d\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M209.049 204.156c-28.361 0-53.191-5.299-73.854-15.769a5 5 0 0 1 4.52-8.92c19.808 10.036 45.012 15.113 72.865 14.66 43.52-.695 78.561-13.854 98.667-37.053a5 5 0 0 1 7.556 6.55c-21.994 25.377-59.662 39.761-106.064 40.502-1.236.02-2.467.03-3.69.03z\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.769 33.973S131.15 13.074 109.612 6.721c-3.859-1.138-7.885 1.104-9.07 4.949-9.9 32.126-8.714 93.389-8.714 93.389zm80.832 13.59S290.324-6.279 307.944.608c21.453 8.386 14.329 91.015 14.329 91.015z\",\n fill: \"#fcae1d\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M195.286 112.058s-5.67-66.999-65.987-41.307c0 0-4.777 31.484 15.48 44.23 20.123 12.745 50.507-2.923 50.507-2.923z\",\n fill: \"#fff\"\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n clipPath: \"url(#a)\",\n cx: 167.59,\n cy: 97.168,\n r: 27.696\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M235.223 109.951s3.537-67.145 64.64-43.384c0 0 5.775 31.316-14.066 44.7-19.707 13.377-50.574-1.316-50.574-1.316z\",\n fill: \"#fff\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n clipPath: \"url(#b)\",\n cx: 267.934,\n cy: 92.43,\n r: 27.696\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.142 126.517c.079 4.994-13.518 10.732-13.518 10.732s-13.773-5.303-13.852-10.297 5.983-9.14 13.541-9.26c7.559-.12 13.75 3.831 13.829 8.825z\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M192.719 155.819c-5.372 0-10.707-1.743-15.848-5.225a5 5 0 0 1 5.609-8.279c6.646 4.502 13.213 4.628 20.075.387 5.44-3.362 8.931-8.258 8.964-8.306a4.998 4.998 0 0 1 7.785-.531c.03.032 4.115 4.371 10.093 6.977 7.405 3.229 14.109 2.43 20.496-2.445a4.998 4.998 0 0 1 7.008.94 5 5 0 0 1-.94 7.008c-15.252 11.645-30.969 5.199-39.888-1.898-2.025 2.11-4.829 4.641-8.261 6.762-4.975 3.073-10.05 4.609-15.093 4.61z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1415.357142857143 137.14285714285714) rotate(0.0 268.92857142857133 268.92857142857144) scale(1.0730552547929086 1.073055254792909)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 501.239,\n height: 501.239,\n viewBox: \"0 0 501.239 501.239\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#7083d9\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M496.239 501.239h-122.81a5 5 0 0 1 0-10h117.81v-117.81a5 5 0 0 1 10 0v122.81a5 5 0 0 1-5 5zm0-368.429a5 5 0 0 1-5-5V10h-117.81a5 5 0 0 1 0-10h122.81a5 5 0 0 1 5 5v122.81a5 5 0 0 1-5 5zM5 132.81a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h122.81a5 5 0 0 1 0 10H10v117.81a5 5 0 0 1-5 5zm122.81 368.429H5a5 5 0 0 1-5-5v-122.81a5 5 0 0 1 10 0v117.81h117.81a5 5 0 0 1 0 10z\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2074.285714285714 137.14285714285714) rotate(0.0 391.6071428571429 205.71428571428572) scale(1.0718611282450314 1.0735112951652854)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 730.705,\n height: 383.255,\n viewBox: \"0 0 730.705 383.255\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#fff\"\n },\n d: \"M725.705 5H82.643v279.941L5 378.255h720.705V5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#c0d625\"\n },\n d: \"M725.705 383.256H5a4.999 4.999 0 0 1-3.843-8.198l76.486-91.924V5a5 5 0 0 1 5-5h643.062a5 5 0 0 1 5 5v373.256a5 5 0 0 1-5 5zm-710.04-10h705.041V10H87.643v274.941c0 1.168-.409 2.3-1.156 3.198l-70.822 85.117z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#576cc0\"\n },\n d: \"M556.32 219.299a5 5 0 0 1-5-5V100.198c0-7.088 5.3-13.129 12.328-14.051l79.633-10.445a13.097 13.097 0 0 1 14.795 12.981v116.445a5 5 0 1 1-10 0V88.682c0-1.218-.66-1.979-1.053-2.323a3.068 3.068 0 0 0-2.441-.742l-79.633 10.446a4.181 4.181 0 0 0-3.628 4.135v114.101a5.002 5.002 0 0 1-5.001 5z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#576cc0\"\n },\n d: \"M662.982 344.59a5.002 5.002 0 0 1-4.901-4.036l-31.893-162.23a5 5 0 0 1 9.813-1.93l31.893 162.23a5 5 0 0 1-4.912 5.966zm-32.629.002a5 5 0 0 1-4.917-4.129l-13.265-74.867 2.342 73.837a5 5 0 0 1-4.839 5.155c-2.766.108-5.068-2.079-5.156-4.839l-4.545-143.298a5.002 5.002 0 0 1 4.481-5.132 5.005 5.005 0 0 1 5.44 4.102l25.389 143.298a5 5 0 0 1-4.93 5.873zm-48.184-.003a5 5 0 0 1-4.995-4.853l-5.277-178.271a5.001 5.001 0 0 1 4.85-5.146c2.736-.038 5.063 2.09 5.146 4.851l5.277 178.271a5.001 5.001 0 0 1-4.85 5.146l-.151.002zm22.56-264.981c-8.386-.052-15.926-8.288-17.601-19.158-.944-6.071.698-12.107 4.507-16.555 3.36-3.923 8-6.084 13.061-6.084h.002c5.062 0 9.702 2.161 13.062 6.085 3.807 4.444 5.449 10.478 4.506 16.555-1.674 10.869-9.214 19.105-17.537 19.157zm-.032-31.797c-2.686 0-4.455 1.408-5.467 2.59-1.878 2.192-2.708 5.377-2.219 8.52.967 6.279 4.844 10.67 7.718 10.688 2.812-.018 6.688-4.408 7.654-10.681l.001-.007c.488-3.142-.341-6.327-2.219-8.52-1.011-1.182-2.781-2.59-5.468-2.59z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#576cc0\"\n },\n d: \"M488.56 71.405H131.47a5 5 0 1 1 0-10h357.09a5 5 0 1 1 0 10zm-99.827 62.393H131.469a5 5 0 1 1 0-10h257.264a5 5 0 1 1 0 10zm0 62.391H131.469a5 5 0 1 1 0-10h257.264a5 5 0 1 1 0 10zm-133.102 62.393H131.469a5 5 0 1 1 0-10h124.162a5 5 0 1 1 0 10zm55.459 62.392H131.469a5 5 0 1 1 0-10H311.09a5 5 0 1 1 0 10z\"\n }))))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(987.8571428571428 398.57142857142856) rotate(0.0 191.25000000000006 191.25) scale(1.0737053078937695 1.073705307893769)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 356.243,\n height: 356.243,\n viewBox: \"0 0 356.243 356.243\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#7083d9\"\n },\n d: \"M351.242 356.242h-86.561a5 5 0 0 1 0-10h81.561v-81.561a5 5 0 0 1 10 0v86.561a5 5 0 0 1-5 5zm0-259.681a5 5 0 0 1-5-5V10h-81.561a5 5 0 0 1 0-10h86.561a5 5 0 0 1 5 5v86.561a5 5 0 0 1-5 5zM5 96.561a5 5 0 0 1-5-5V5a5 5 0 0 1 5-5h86.561a5 5 0 0 1 0 10H10v81.561a5 5 0 0 1-5 5zm86.561 259.681H5a5 5 0 0 1-5-5v-86.561a5 5 0 0 1 10 0v81.561h81.561a5 5 0 0 1 0 10z\"\n })))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMfaImg);\nexport default __webpack_public_path__ + \"static/media/mfa-img.5108e84ec5b34757dad65eca53f732b7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _g, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _g2, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _ellipse, _path75, _path76, _g3, _path77, _path78, _path79, _path80, _path81, _path82, _path83;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgJuicyManAndWomanTalking(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 3000 2040\",\n width: 3000,\n height: 2040,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1495.2 543.6) rotate(0.0 674.9999999999999 592.8) scale(0.6058683057723092 0.6058661084958209)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 2228.207,\n height: 1956.868,\n viewBox: \"0 0 2228.207 1956.868\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m142.794 1920.805 226.552-40.009s435.864-752.401 439.565-753.781c154.789-57.41 124.074-345.221 50.783-428.16 0 0-184.815-.66-237.189 30.133-33.688 19.339-60.262 44.139-83.241 78.266-.016.015-.03.046-.046.061-14.22 21.127-514.024 893.962-514.024 893.962s19.841 191.576 117.601 219.529z\",\n fill: \"#fdc93a\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M380.206 1632.122a4.974 4.974 0 0 1-2.953-.968l-91.84-67.349a5 5 0 1 1 5.914-8.064l91.84 67.349a5 5 0 0 1-2.961 9.032z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m938.007 1733.21-693.895-114.4-.005-.004c-102.708-11.929-191.387 40.29-217.72 82.384l-.132.088-.119.323C9.492 1728.377 0 1760.473 0 1793.915c0 86.291 65.706 160.131 151.997 160.131H984.48l-46.473-220.835z\",\n fill: \"#fdc93a\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M497.091 1665.517a5.09 5.09 0 0 1-.792-.063l-209.81-33.395a4.998 4.998 0 0 1-4.151-5.724 4.986 4.986 0 0 1 5.724-4.151l209.81 33.395a5.002 5.002 0 0 1-.781 9.939z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m678.358 1051.973 297.752 902.071 955.927 1.789-470.579-1266.441-614.133 9.538z\",\n fill: \"#fdc93a\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m731.333 1257.983-5.94 10.22m13.97-26.53.52 1.62-1.98 3.4m-.87 1.5-4.91 8.44-.01.02c-.05.13-.12.25-.23.38l-.55.95-5.94 10.22-9.46 16.25-.75 1.29-.56.96-9.68 16.63-.63 1.09-1.92 3.3-4.51 7.74m-4.33-216.65-.85-2.64m0 0-.38-1.18m46.39 144.64-45.16-140.82m-.85-2.64-.38-1.18-1.94-6.04v-.01m-.2-.63-3.68-11.47m-3.04-9.5-5.37-16.73m-.33-1.03-15.13-47.18-120.61 297.26-.47 1.15-11.39 92.13m-26.24 212.27-3.88 31.33v.01m-.32 2.61-1.14 9.19m169.15-281.08-3.67 6.3m30.61-52.6-1.59 2.74m4.33-7.44-1.99 3.41v.01m6.97-11.97 1.92-3.3c.02.09.07.17.15.22.3-.62.44-1.04.48-1.31l9.68-16.63m-21.88 37.6-1.42 2.44-13.87 23.84-.01.01-1.94 3.32-5.58 9.59m-171.41 285.45-.17 1.4m-.6 4.85-.66 5.31 1.76-3.02m30.6-258.76-.84 6.82m-5.02 40.61-.31 2.49m1.53-12.39-.82 6.65m162.06-367.51-1.52-4.73m54.61 170.29-.18-.56m-45.4-141.59 45.16 140.82.08.25\",\n fill: \"none\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M503.173 1629.553c.08 3.68-1.67 6.66-3.45 9.61l.32-2.61v-.01c1.04-2.25 2.13-4.55 3.13-6.99zm.833-.143c-1.022-.237.836-2.809-.041-3.166.51-.876 1.028-1.713 1.678-1.623.068 1.555-1.582 3.64-1.636 4.789zm20.267-66.248c.581-1.346 1.113-3.049 1.913-2.887-.575 1.382-1.086 3.223-1.913 2.887zm38.236-71.232c-.217.445-.539.178-.829.137.306-1.324.836-1.079 1.226-1.792.749.4-1.091 1.583-.396 1.654zm5.424-6.526c-.01-.73-.393-1.571.325-2.131.224.084.45.167.674.255-.289.935-.633 1.492-1 1.876zm-1.667-5.577c-.408.225.674-3.023 1.256-4.483.227.973-.571 2.772-1.256 4.483zm6.094-6.273c-.332-.796-.836-1.454-.038-3.167.158.938.509 1.722.038 3.167zm.599-6.079c-.421-.282.366-1.541-.056-1.82.092-.352.235-.336.38-.309.163.144.273-.074.379-.309.3.496-.072 1.949-.703 2.437zm5.614-16.806c-.835-.428 1.132-4.123 1.635-4.789.076.746-1.706 3.39-1.635 4.789zm-46.398-29.528c-.352-.513-.415-1.265.253-2.605.457.43-.083 1.667-.253 2.605zm8.787-24.174c-.617-.828 1.442-3.308 2.018-5.1.644.098-1.082 2.121.052 1.825-1.213.697-1.086 1.523-2.07 3.275zm16.499-65.862c-.426-.276.619-1.745.327-2.13-.326.212-.623.588-.917 1.009-.393-.945.958-2.041 1.521-1.231-.719 1.286-.235 1.812-.93 2.353zm31.906-76.752c-.524-.368.225-1.972.721-3.782.324.287.546-.145.76-.614.016 1.088-1.364 2.74-1.481 4.396zm15.976-40.393c-.34-.436-.187-1.272.1-2.215 1.082-.165.303 1.175-.1 2.215zm12.555-37.622c-.121-.303.092-1.219-.293-.559.048-1.952 1.344-4.504 2.481-6.276-.678 2.414-1.27 3.856-2.189 6.835zm3.234.308c-.285-1.008.11-2.574-.107-3.644 1.135.857.72 1.778.107 3.644zm.908-6.862c-.289-.036-.47.643-.689 1.091-.464-.686.385-2.444-.039-3.164.409-.612.613-.051.295.559.933-.045.573.157 1.502.115-.485 1.459-.569 2.592-.72 3.782-.422.508-.901.633-1.435.358-.297-1.421 1.323-1.734 1.086-2.741zm-1.246-2.716c-.651-.842.452-1.928.633-2.914.291-1.586-1.43-.084.623-1.569-.103 1.833-.835 2.565-1.256 4.483zm4.81-12.161c-.433.247.82-3.142 1.255-4.48.044 1.118-.529 2.738-1.255 4.48zm4.674-7.253c.717-.587.415-.976.777-1.963 1.053-.042-.027 2.687-.777 1.963zm5.373-2.491c-.115-.824.441-1.014.705-2.437.969-.051-.409 2.22-.705 2.437zm27.244.294-.677-.252c-.145-1.174.912-2.312 1.397-3.53-.325 1.331-.078 2.196-.72 3.782zm-2.046-18.326c-.36-.24-.245-.864.17-1.737.236.164.435.065.605-.221.49.295-.549 1.77-.774 1.958zm-.657-1.595c-.081-.8.643-1.402.859-2.83.896.071.224 1.413-.256 2.604-.235-.162-.434-.061-.604.225zm-4.658-7.15c.047-1.407.318-2.005.498-3.865.266-.095.535-.192.759-.618.599.051-.832 1.74.207 1.432-.765 1.069-.603 1.344-1.463 3.051zm29.708-4.636c-1.288-.321 1.062-2.607.876-4.171-.945-.565-1.337 1.603-1.534 2.578-1.527-1.131 2.433-3.743.428-4.345.506-.888 1.029-1.668 1.465-3.051.962-.069-.298 1.661-.481 2.521 1.451-1.129.255 1.611 1.953.281-1.268 1.917-1.96 3.561-2.706 6.188zm-7.56-48.75c-.18-.877.264-2.575 1.226-1.795-.312 1.271-.914.521-1.226 1.795zm.411-14.387c-.14.29-.29.57-.48.85-.43-.05-.23-.95.15-1.88z\",\n fill: \"#fcae1d\",\n fillRule: \"evenodd\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M739.133 1240.963c-.13.04-.28.03-.43-.04.11-.22.19-.39.25-.52l-.16-.52c-.07-.01-.12-.06-.08-.25l-45.16-140.82c-.23.38-.43.78-.55 1.19 1.63 1.71-1.63 4.06-2.41 6.75.64.1-.42 1.58.43 1.51.73.14 1.23-1.28 1.97-1.06.61 2.98-1.47 5.17-2.73 8.88-.39.03-.57.33-.68-.26-.21 1-.83 3.99-1.85 3.37.34-2.11.36-.66 1-1.88-.5-1.1-1.29-.43-2.03.58.02-1.35-1.17-1.71-.72-3.42-.32.73-.66 1.26-1.07 1.41-.39-.48.1-1.68-.5-1.99-.31 1.55-1.2 3.31-2.47 4.93 1.2.43-.19 2.74-.56 3.39-.44-.73-.11-1.89.63-2.91-1.31.34.31-1.68-.66-1.6-.95 1.43.14 6.78-2.65 8.01 1.76-3.38.76-4.53 1.14-6.78-1.12-1.06-1.94-.63-2.68.35.22.08.42.16.64.24-.23.85-.57.98-.85 1.48-.1-.31-.21-.62-.45-.16-.52-.31.51-.55.61-1.48-.89 1.21-1.67 3.18-2.75 4.27-1.03 3.48-4.3 8.02-4.57 10.9.76-1.12 1.42-3.95 2.83-3.89.79 1.24-1.47 2.11-.63 2.91.98-1.61.75-2.54 1.91-2.88-.2.52.25.5.14.95-.81 1.35-2.02 2.75-2.64 2.63.18.25-1.09.87-.41 1.18.42-.51.94-.3 1.43-.37.71-1.95 1.54-3.07 2.52-3.11.04 3.32-2.16 5.16-1.6 7.96-.63.15-2.03 2.47-1.84 3.36.25-.71.58-.83.98-.53-3.21 5.34-4.39 8.68-6.71 13.7-.1-1.67.56-2.35.88-4.18-.68.66-1.29 1.85-2.05 1.94.05-1.5.09-2.73-.65-2.95.69-2.23.43-3.92 1.88-6.05-1.31.47-1.51 2.5-1.77 3.84-.23-.09-.4.21-.61.23-.47-2.34-1.78-1.88-3.89-1.91 2.03-8.51 7.33-14.13 9.22-22.66 1.37-2.81 3.8-5.36 5.16-9.78.47.36.77-.54 1.27.03.83-3.67 2.79-6.62 4.47-8.69-1.39-.94 1.81-3.13 1.64-4.79.38-.03.56-.32.67.26-.23-3.53 3.42-4.46 4.09-8.38-.83 1.62-.65-1.9-1.75 1.15.3.73 1.25-.69.91.34-1.33-.62-2.33 2.73-3.96 3.47.39 2.66-1.69 4.4-2.95 7.45-.56.14-2.2.31-1.9 1.54.53-1.64.68.6.97.81-.87 2.27-2.39 4.04-3.38 5.94-.76-1.1-.44-.9.48-2.52-.85-.28-.81.2-1.35-.51-1 1.7-.34 2.06-.41 3-1.27-1.12-2.36 4.29-3.67 5.38.51.11.58.59.2 1.43-.26-.27-.19-.62-.67-.25-2.93 7.52-4.9 14.66-8.15 21.26-.16 2.56-2.16 9.5-4.31 8.29-4.45 7.73-6.79 16.49-10.98 25.15-.07 3.39-1.77 7.03-3.28 9.59.23-.38.19 1.02-.39 1.65-2.08 2.23-.96-2.14-.02-4.55-.67 1.36-1.37-.94-1.72-1.51 1.16-4.6 2.63-8.14 3.53-12.18.49-.99 1.14-.93 1.61-2.1-.23-1.99 1.8-3.31 2.39-5.41.34-1.2-.3-2.4.12-3.56.47-1.29 1.87-2.09 2.29-3.19.26-.66.32-1.94.49-2.51 0 .07.3.38.3.52.44-1.16.05-1.96.4-2.97.07-.18.77-.05.83-.14.94-1.28.45-3.46.96-5.04 1.1-.89.5 1.71 1.28.03-.72-.39.06-2-.19-2.78 1.68-.64 1.64-4.45 2.67-3.5.65-2.81 1.96-7.71 2.98-10.14-.22.44-.52.3-.83.14 1.19-2.93 1.55-3.9 1.72-5.66.23.09.15.42.3.57 1.62-4.48 2.96-8.32 4.34-10.99-.14-.5-.42-.9-.43-1.51.97-.76.82-1.12.55-2.04.73-.64 1.5.03 1.52-1.24-1.16 1.1-.13-1.82.03-2.69.45.16.71-.96 1.21-.45.57.08-.2 1.23.21 1.44.96-2.61.28-2.85-.71-3.42-.74.8-1.36 2.37-2.08 3.27.99 1.22-1.45 5.14-2.32 5.88.2-.51-.25-.5-.14-.95.29.04.61.31.83-.14-.48-2.8 1.26-4.95 2.65-8.01-1.25.59-.39-.99-1.26-1.37-1.22 3.1-2.38 6.25-3.57 9.02.92-1.07.21 1.4.28 1.9-.63.64-2.15 2.61-2.07 3.28.22-.44.52-.29.83-.14-1.65 1.27-2.19 3.81-3.38 5.94 1.09-2.42.1-1.49.56-3.39-.98 1.6-1.65 2.46-1.32 4.01-.23-.09-.45-.17-.68-.26-.71 3.97-4.45 9.14-5.58 14.12-.29-.04-.61-.31-.83.14-.79 4.42-4.68 9.86-4.58 12.24-.91-.16-.46-2.22.41-3-1.66-.32-1.36 2.39-1.62 3.45 0-.07-.45-.1-.45-.17-.38 1.65.35 2.72-.2 4.43-.71 2.17-2.12 2.33-2.85 5.23 1.38-.42-1.08 2.92-.88 4.18 1.79-4.18-.81 5.12-2.31 4.54.59-1.28.09-1.67.26-2.61-.76 2.19-.68 1.06-1.75 1.15-.44 1.83-1.15 1.81-1.69 2.97.79.08 1.34-1.52 2.06-1.93-.23.53-.23.9-.24 1.26-.64.8-2.01.98-1.38 2.19-.38-.19-.74-.18-1.06.05 1.97-6.51 2.54-8.96 5.74-14.51.72-3.79 3.64-6.98 3.9-11.15.43.12.66-1.24 1.13-.92 1.28-5.13 5.68-9.48 5.59-14.13-.48 1.1-.87 2.77-1.54 2.58.55-1.19 1.95-7.01 3.08-5.15.23-.99.38-1.91 1.01-3.22-.71-.96-.84 2.02-1.45 1.7.6-1.81 1.73-5.92 3.47-6.8 2.78-7.17 4.61-12.71 7.72-16.92-1.07-.67.83-.58 1.07-1.4.11-1.11-1.24-.05-.97-.81.16-.39 0-.54.09-.87.4-1.59 1.1-1.19 1.6-2.1-.43-.72.54-2.57 1.1-4.09 1.81.34 1.86-2.91 2.54-4.46 2.77-6.33 6.91-14.52 8.81-19.66-2.22 3.75-2.2 5.29-4.54 8.21-.94 5.01-4.6 10.4-6.43 15.6-.53-.27-.94.35-1.43.36-.15-.59.24-1.61.1-2.21-1.08 1.33-1.35 6.04-3.71 8.07.66.5-.26 1.6-.7 2.44 1.02 1.84-1.4 7.71-2.6 9.83-.39-.25 1.38-3.58.48-2.52-.47 1.17-.92 2.39-1.61 2.1.15-.74 1.19-2.2.71-2.44-.83 1.13-1.42 3.84-2.59 2.63-.82 1.58 1.07-.21.43 1.51-.2.02-.39.24-.53.71-1.23.11-.81-1.13-1.11-1.77-1.29 1.53-.41 1.98-.1 2.21-1.08 1-.45-1.35-1.35-.5-1.03 1.53-1.85 3.28-2.16 4.14.23-.42.5-.52.76-.61-.41.64.02 1.87-.77 1.96.15-.48.48-1.1.24-1.26-1.48 1.95-2.34 5.73-3.91 6.64-.09 1.07.95-.46.74.72-.58 2.37-1.59 1.74-2.3 3.2.25.33 1.35-.03.97.81-.65 1.35-1.12 3.92-2.07 3.28 0-.48.98-3.07.33-2.13-.44 2.37-1.55 3.72-.96 5.04-.9 1.48-1.1-.74-1.82.67-.08.6.84.39.59 1.12-.61.37-3.2 4.15-1.53 2.58-.87 1.58-.96 1.91-1.93 4.23.3.19.88.17.74.73-3.42 6.25-4.64 12.32-7.59 17.87.33.3.81-.36.68.25-1.23 2.07-2.26 3.75-1.95 5.58-.31-.1-.42-.37-.52-.65-.23 1.76-1.54 3.64-2.46 4.93-.47-1.41 1.1-3.14-.18-4.12-.95 2.77.44 4.66-1.22 7.65.3.73 1.24-.69.9.34-.76 1.09-.78 1.46-.71 2.44-.75-.32-1.29.83-1.9 1.54-.4 3.44-3.11 5.86-2.89 9.27-3.09 6.01-6.5 15.22-7.61 20.56-.69.14-1.11 2.1-1.9 1.54-.07 2.55-1.95 3.28-1.57 5.27.21-.47.43-.91.76-.62-.18 1.01-.27 1.09-.86 2.83-.37-.09-.76-.35-.99.53.95 1.81-1.73 4.41-2.7 6.19.39.28.65-.36.98-.53-.49 1.57-1.46 4.46-2.76 4.37.15-1.09 1.51-1.01 1-1.88-.28.53-.67.27-.98.54-.41 4.75-3.16 10.5-4.45 13.19-.47.99.1 1.77-.1 2.21-.53 1.21-1.91 1.8-2.38 4.06.01-.05.01-.08.01-.09-.07.1-.33.87-.63 1.66-.15.39-1.3 4.68-2.62 5.32-.63-.04.9-3.18.1-2.21-.48 1.44-.4 2.02-1.24 3.14 1.28.13.12 2.41-.64 2.91.16-1.37.81-3.14.27-3.95-.6 2.57-1.42 7.49-3.31 6.42.23.09.01.79-.31.78.07-1.79-.64-1.36-.64-2.88-.1 5.74-4.86 8.64-3.85 14.25-.47-.07-.33-.63-.75-.73-.5 1.21.26 1.39-.64 2.92-.39-.25-.67.25-1.05.06-.32 1.05-.74 2.19-.64 2.91.59-1.78 1.36-2.34 2.21-2.33-1.37 2.49-.86 4.15-2.93 6.11.84-1.48-.2-1.43.64-2.92-.68.19-1.48-.4-1.97 1.07.31.19.88.17.74.73-.91-.65-3.25 4.36-4.14 6.55.68.74 1.03-.73 1.66-.28-.44.37-.8 1.29-1.15 2.27-.23-1.02-.26-.74-1.2-.9-.7 1.19.53.82.06 1.83-.84-.37-1.29 1.88-2.06 1.93.08 2-.74 2.26-1.22 1.79.02 1.73-.42 2.23-.12 3.56-.71.48-.27-.15-.9-.34-.43 1.77-.47 1.56-1.31 2.66.01.7.27 1.21.28 1.91-.73.53-.78 1.54-.83.14-2.16 4.15-.18 6.55-1.53 8.43 1.56.88.19 2.44-.95 3.7.3.73 1.25-.7.9.34-.92.89-1.21 1.83-1.62 3.44-.85.07-.45-.88-.81-1.2.02 1.01-.89 2.1-.71 2.43.35-.52.73-.82 1.14-.92-.37.92-.07 1.3-.7 2.44-.23-.09-.45-.17-.68-.26-.08 3.78-3.04 7.99-2.6 9.84-.3 1.33-.9.59-1.29 1.31.3.14.57 0 .83-.14.13 1.17-3.42 5.13-1.24 3.14-.83 1.82-1.93 2.04-1.85 3.36.43-.89.97-.69.68.25-.11-.68-.6-.56-.99.54.24.51.01 1.41-.1 2.21-.19-1.29-1.12 1.65-1.16 2.27.17-.29.32-.77.54-.7-.22.82-.6 3.12-1.4 3.53-.21-.36.57-1.53.18-1.74-.93 1.17-.39 1.86-.8 3.31-1.58.1-.54 4.28-2.38 4.06 2.11-2.82.04-5.95 2.57-7.15-1.24-.55.04-1.58.34-3.47-.89.18-.3-.82-.59-1.12-.89 1.74-.19 1.21-.17 1.74-.38.27-.64 1.41-1.14.92.15-.47.48-1.1.24-1.26-.46 1.68-1.06 2.4-1.76 2.49-.29 2.25-1.49 3.45-2.87 7.93.1.88.9-.28.58 1.12-3.04 4.71-2.91 10.13-4.97 13.89.36 1.06 1.58-.23.88 1.68-.7.86-1.05.41-1.51-.11-.53 3.94-2.81 5.75-4.1 9.72 1.27 2.34-2.72 7.03-2.15 10.01.41-1.94 1.32-4.29 2.47-4.93.23 1.78-1.34 6.47-2.62 5.32-.05 2.45-2.5 3.64-1.42 4.87-1.58-.09-3.28 4.33-3.83 7.05 0-.22-.51.62-.86 1.55-.65 1.79-1.4 3.7-2.16 5.65l-3.8 30.71c2.05-5.24 4.46-10.26 5.26-15.01.37.09.76.35.99-.53-.31-.2-.89-.17-.75-.73.88-1.75 1.85-2.91 2.9-3.42-.29-.56-.4-1.27-.5-1.99-.33.67-.14 2.2-.93 2.35.2-.78-.36-.94.33-2.12 2.06-1.07.77-.52 2.14-2.81-.28.67-.23 1.08-.02 1.35 0-2.06 2.31-4.35 2.26-6.36-1.18 1.91-1.21 2.64-2.38 4.06.65-2.1.98-2.51 1.25-4.48.57-.22.29 1.46.9.34-.21-2.21 3.46-4.31 3.4-7.29-.12.87-1.21 2.03-.91 1.01.35-.99.83-1.08 1.22-1.79-.94-2.08 1.59-4.41 1.58-6.61.7-.86 1.01-.69 1.37-.84-.49-.94.72-4.66 1.11-5.44.79.08-.54 1.86-.09 2.22 1.4-4 1.15-5.61 1.44-7.57.29-.93.81-.19 1.14-.92-1.24.27-.27-2.78.35-4.82.74.43 1.15.46 1.2.9-.43.32-.8 1.77-.71 2.44.89-.96.35 1.46.89 1.68-.45.76-.69.69-.84.14-.62 3.09-2.64 6.48-3.27 9.58-.24-.16-.23-.89-.67-.26 1.03-.31-.39 1.39.21 1.44.88-.96.59 1.26.5 1.98-.15-.56-.38-.62-.83.14 1.03 1.42-1.32 2.9-.88 4.18-.69.78-.41-1.04-.98.53.3.11.6.22.9.34-.45 1.45-1.99 5.58-2.41 6.74-.5.95 1.54-.67.59 1.13-.92-.66-1.29 4.5-2.99 4.28-.71 3.91-2.35 4.99-2.58 8.49-.45.02-1.66 2.02-1.31 2.66.09-.7 1.12-1.54.76-.61-3.31 5.38-5.75 13.35-8.66 19.27.22-.43.49-.52.76-.62-.21.53-.41 1.05-.62 1.57-.32-.1-.42-.37-.52-.64.01.95-.79 1.87-1.42 2.69l-.4 3.25c.19-.49.38-.98.64-.99-.13 1.1-.47 2.28-.95 3.48l-1.16 9.38c.2-.54.44-1.08.77-1.65.47.66-.31 2.29-1.01 3.66l-17.95 145.17c.56-1.87 1.36-3.93 1.86-5.75 10.48-18.63 16.74-42.41 25.55-60.68 1.64-5.8 3.92-11.73 5.14-15.63-.11-2.65 1.21-7.52 2.68-9.35-.08-1.31 1.67-5.89 2.56-8.34-.14.61.78-.97 1.16-1.07-1.25 3.31-2.5 5.47-1.58 6.6-.3.43-.6.8-.92 1.01.07-.32.3-.77.09-.87-1.34 2.46 1.67 0 .95 2.16-1.3-.16-.86 2.82-2.28 1.85.37-1.27 1.16-1.4.55-2.04-1.49 3.47-2.47 6.88-2.96 8.79 1.33-1.04 1.36-4.19 2.32-5.88.46-.29.99-.08 1.44-.36 1.37-1.86 1.38-4.06 2.91-4.76-1.37 5.66-2.42 3.97-3.77 7.58.08-.21.36-.37.22.09-.8 2.57-1.62 3.58-2.1 5.96-.68.77-3.17 2.91-1.39 3.53.41-1.6 1.08-3.52 2.22-3.66 1.76-3.21.79-5.8 2.5-7.62-.59 1.72-.75 3.09-.27 3.95.81-1.64-.42-1.62.56-3.39.29.21.13.79.37 1.03.3-1.99 1.26-5.51 2.55-5.79-.89 3.42-1.95 6.38-2.51 8.96-.31-.15-.9-.23-.61.22.15.06.3.12.45.17 2.37-3.15 1.11-5.41 3.62-7.2-.84 1.71-.71 3.58-1.86 4.71.95 1.13-.36 5.08-1.51 7.09 3.75-4.81 2.71-10.07 4.39-15.02.94-.03-.29 3.06 1.11 1.77.82-5.89 5.79-12.43 7.65-17.39-1.05 4.96-2.32 9.17-4.29 12.8-.55 1.2 1.04-.76.52.64-2.07 2.86-3.88 9.58-5.29 14.68-.26-.28-.19-.61-.67-.26.69 3-2.35 7-2.83 9.75.17-.28.32-.77.54-.7-2.82 5.63-5.95 13.47-6.93 19.47l-.9-.33c-1.54 6.37-4.12 15.73-8.01 22.21.52.11.59.59.21 1.43-7.23 16.53-12.61 36.63-19.52 52.09.15-.27.33-.41.55-.21-4.16 6.84-6.15 13.4-8.74 20.14-.34.36-.7.57-1.07.76l-.07.6c.19-.09.42-.18.9-.1-.38.46-.74.96-1.07 1.5l-.6 4.85c.44-1.08.94-2.35 1.93-3.1-.77-.91 2.13-5.31 2.71-6.19-.14-.51-.69-.69-.43-1.51.91.08.67-1.96 1.76-2.49-.56-1.54.88-3.38 1.34-5.36 1.48.18 1.73-2.45 2.53-4.45.02-.99-.74.29-.52-.64 4.55-9.78 7.81-19.66 13-30.26-.07.33-.3.78-.09.87.65-1.14-.31-.98.33-2.13.6.27.71-.48.9.34.29-2.04 1.77-4.29 2.71-6.19-.53-.72-.79.4-1.21.44.47-.91-.07-1 .55-2.04.45.17-.14 1.18.59 1.12 1.02-1.71-.23-1.59.79-3.3.97.63 1.03-1.89 2.14-2.8-.52-1.09-.47-1.26-1.04-1.29.63-.99 1.09-1.72.71-2.44.22.08.45.17.67.25.11-.84.48-4.28 1.71-4.31-.95 1.6-.42 3.72-2.17 5.49 1.88.52 2.7-7.87 4.91-8.52-3.16 8.81-6.16 15.29-9.84 24.23.33.3.81-.36.68.25-.41.65-.64 2.41-1.16 2.27-.37-.66 1.19-1.42.17-1.73-.88 1.93-2.18 5.68-2.41 6.75.33-.77 1.62-2.29 1.59-.76-3.81 6.54-6.41 15.25-8.98 21.4-3.67 8.76-7.72 17.43-11.9 26.9l164.35-282.43c.88-2.18 1.69-4.33 2.19-6.24.21 1.45.88-1.34 1.52-1.24.01.4 0 .8-.04 1.18l2.19-3.77c.98-3.05 2.71-6.53 4.39-9.37-.53-1.53 1.67-3.78 1.87-6.05 0 .98 1.05 1.11.58 2.47-.77.24-.49-1.57-1.06.05.7.55.34 1.9-.2 3.31l1.94-3.32.01-.01 13.87-23.84c.42-1.14.86-2.19 1.42-2.44l.34-.59c-.17-.39-.68-.5-.26-1.37.59-.62 1.23-.93 1.85-1.37l.75-1.28v-.01c-.16-1.09 1.28-4.93 1.99-3.41l.47-.81c.71-1.86.84-3.18 2.44-4.26-.12-.88-.36-1.66-.19-2.78-2.26-.55-2.18-1.47-3.89-1.9-.35 2.27-.69 3.9-2.38 4.06.43.66-.85 3.8-1.71 4.31.36 3.21-3.01 6.16-4.41 10.5-1-.63-.78 1.21-1.9 1.55.47-1.45.75-2.74 1.1-4.09.47.82.9.26 1.66-.28-.45-.8.51-2.73 1.24-3.14-.76-.82-1.05 1.5-1.67 1.62.27-1.64.85-3.53.96-5.04 1.55-.28 2.62-3.21 2.84-5.24.83-.58.91-.55 1.13.42.45-3.99 2.53-8.33 4.41-10.5-1.23-1.66 2.17-4 2.17-5.48-.36.5-.73.81-1.14.91.64-1.14.07-1.29.71-2.43.84.42 1.39-1.16 2.05-1.94-.27-.53-1.21.9-.9-.33 1.56-3.22 2.23-4.4 2.57-7.15.87-.06 1.38.51 2.28-1.85-.4-.11-.67-.34-.74-.72-.02.03-.04.05-.06.08.68-1.22 1.5-2.21 1.26-3.7 1.19-.06.42 1.93 0 3.17 1.11-2.52 4.14-3.12 2.92-4.77 2.08-3.67 4.04-5.95 6.44-9.74.28.21.12.79.36 1.04 1.29-1.89.17-3.75 1.62-3.45-.73 1.93-1.83 4.15-1.56 5.27.32-.72.66-1.26 1.07-1.41-1.22 1.54.72.7-.95 3.7.98.01.24 1.41.89 1.69.72-.81 1.33-2.5 2.14-2.8-.56 3.29-1.46 5.11-3.09 6.5.1-.62 1.06-1.93.55-2.05-.74 2.21-.25-1.68-.99.53.46 1.52-.06 2.92-.2 4.43-.59-1.14-.1 2.01-1.6 2.1-.06.75.43 1.07.27 1.9-2.63 2.51-4.8 8.53-6.38 11.57.5-.48.89-1.68 1.52-1.23-.15.39 0 .54-.08.87-1.49.83-1.4 3.88-2.83 3.89-.78 2.03-.54 2.03-1.47 3.05.25.38.71.32.6.99l9.68-16.63c.16-.72.28-1.39.31-2 .21.06.2.62.25 1.04l.75-1.29c.8-3.13 4.02-7.76 4.99-9.67-.73 1.06-.23-1.49.39-1.65-.35-.73-1.31 1.29-1.05.05 1.09-.19 1.48-3.02 2.07-3.27 1.04-.31-.39 1.38.21 1.43 1.14-1.4 2.24-3.1 3.3-5.07-.07.59-.23 1.24-.45 1.93l5.94-10.22c0-.14.01-.3.03-.45.24-.19.41-.35.52-.5.11-.13.18-.25.23-.38l.01-.02c.12-.35.09-.75.17-1.45.38-.3.76-.61 1.14-.93.63-2.57 1.13-3.6 1.88-6.05.31.1.42.37.51.64.19-1.12.56-2.08 1.32-2.65-.13.74-.15 1.4-.11 2l.87-1.5c.35-1.19.6-2.3.17-2.86-.41.65.01 1.88-.78 1.96.27-1.28.39-2.44.35-3.47.38.2.67-.19.9-1 .11.51.44.54.82.35zm-76.37-129.77c1.26.03-.43 2.05-.1 2.21-.84 1.01-.46-1.19.1-2.21zm-4.33 16.84c.61.23-.2 2.04-.71 2.43-.47-.23.56-1.7.71-2.43zm-3.5-3.57c1.22.65-.43 1.27-.86 2.83-.43-.35.67-1.96.86-2.83zm-113.84 248.69c.85-1.43 1.71-2.84 2.88-2.07-.98.54-1.8 2.19-2.88 2.07zm2.97-2.94c-1.15.1.3-3.57 1.08-2.75-.74 1.34-.24 2.09-1.08 2.75zm-20.32 83.34c-.15-1-.07-2.18.79-3.3.52.11-.45 1.42-.55 2.04.46.25.66-1.35 1-1.88.26 1.32-.53 1.84-1.24 3.14zm3.77-13.45c-.96-.78 1.31-3.14 1.1-4.09.52 1.23-.78 2.28-1.1 4.09zm1.52-1.23c-.28-.61.94-3.13 1.39-3.53.61.05-.83 1.74.22 1.43-.57.49-1.08 1.35-1.61 2.1zm.19-3.08c0-.91.33-4.67 2.01-5.1-1.11 1.16-1.37 3.48-2.01 5.1zm2.57-1.29c-.5-.37-.5-1.73.1-2.21.26.51.5 1.02-.1 2.21zm1.55-3.92c-.23.86-.56.98-.84 1.49.04-.74-.29-1.69-.83.14.18-1.49 1.41-3.88 2.1-5.97.84 1.22-1.79 3.84-.43 4.34zm2.43-8.1c.77-3.18 2.69-7.09 3.98-12.01-1.09-.06-.55 1.97-1.54 2.57-.69-.41.55-2.39.95-3.69 1.13-.48.89.98 2.02.75-2.01 4.76-2.7 8.31-5.41 12.38zm5.86-18.06c-.98-.01.44-1.96.63-2.92.42.82-.16 1.14-.63 2.92zm1.91-2.89c-.54-.36-.35-1.31-.12-2.3.08.39.34.61.74.73-.21.53-.41 1.05-.62 1.57zm1.25-10.34c-.16-.18-.18-1.74.4-1.65.14-.38-.16-.41-.3-.56.65-1.07.51-.31 1.06-.06-.31 1.27-.85 1.01-1.16 2.27zm1.78-3.83c-.11-.32-.22-.63-.45-.17-.52-.12.44-1.43.55-2.05.25.51.49 1.03-.1 2.22zm5.42-45.7c.38.17.7-.07.98-.53.48.24.1 1.17-.32 2.13-.19-.85-.55.13-.74-.73-.4.7-.63 2.48-1.23 1.79.51-.39.9-1.62 1.31-2.66zm-4.07 33.14c-.13-.7.31-2.91-.75-.73-.75-.9.89-2.53 1.33-4 .24 1.6-.11 2.34-.58 4.73zm.35 2.39c-.64-.64.68-1.56.63-2.92.98.01-.45 1.96-.63 2.92zm2.08-30.74c.25 1.31-.4 1.6-1.08 2.75-.24-1.3.41-1.6 1.08-2.75zm-.35 17.88c-.7-.17-.24-1.7.32-2.13.2.46.09 1.17-.32 2.13zm-.24 7.11c-.67-.28.49-2.76 1.02-3.22.02 1.14-.62 1.5-1.02 3.22zm2.73-14.73c-.87-1.69-.57 1.79-1.9 1.54.82-1.53.57-1.34 1.24-3.14.64-.52 1.45.18.66 1.6zm.36-4.82c.55.81-.79 2.38-1.45 3.7 1.07-2.48 1-4.86 2.09-6.61.8-.03.39.92 1.19.9-.64.44-1.02 2.7-1.83 2.01zm-27.91 237.63c-1.01-.21.48-1.78.71-2.43.61.23-.2 2.04-.71 2.43zm6.88-15.43c-.65-3.28 2.9-7.95 3.98-12.02.37 3.05-2.83 8.89-3.98 12.02zm57.15-305.03c-.21.52-.42 1.04-.62 1.57-.23-.09-.45-.17-.68-.25.39-.72.75-1.66 1.3-1.32zm-11.45 13.27c.97.09 1.06.02 1.42.99-.7.42-2.04.65-1.42-.99zm-.1 2.21c.33-.16.59-.81.99-.53-.28.3-.55.6-.32.79-.22.4-.55.1-.76.62-.09-.28-.2-.55-.51-.65.25-.42.79-.84.6-.23zm-2.19 162.17c-1.26 2.8-1.41 4.7-2.34 7.23.3-3.54.91-5.12 1.9-8.74.38.32-.69 1.8.44 1.51zm-2.57-135.13c-.71-.57.67-1.54 1.02-3.22.39.2.66-.3 1.06-.05-.68 1.19-1.34 2.48-2.08 3.27zm.64-21.83c.25.24-.21 1.06-.4 1.66.29.03.47-.64.69-1.09.57-.22.29 1.45.9.33.2.52-1.35 1.32-1.9 1.54.47-1.42-.24-1.19.71-2.44zm-1.13 12.64c.74.11-.04 1.45-.1 2.21-.23-.08-.45-.16-.68-.25.26-.65.52-1.31.78-1.96zm-.52 12.42c-.31-.16-.61-.31-.83.13-.65-.25.34-2.41.86-2.83.52.47.46 1.41-.03 2.7zm-3.02-11.95c.15 1.03.52.09.91-1 .72.81-1.08 2.35-1.62 3.44-.48-.23.56-1.7.71-2.44zm1.06 5.81c-.46-1.9-.67-3.65 1.42-6.22.25 1.25-1.66 3.68-.13 4.9-1.65 3.14-2.34 5.92-3.39 7.28-.62-1.71.72-4.82 2.1-5.96zm-4.42 10.5c.96-1.95 1.75-2.52 1.71-4.31.38.14.75.28 1.13.42-1.15 2.04-1.71 5.05-3.18 7.36-.41-1.22 1.09-2.43.34-3.47zm-6.16 166.98c.72.68-.46 1.64-.86 2.83-.69-.49.4-2.02.86-2.83zm-4.09 21.44c.23.08.45.16.68.25-.21.52-.42 1.04-.62 1.56-.64-.1-.53-.81-.06-1.81zm4.69-1.4c.45-1.14 1.63-.46 1.73.19-.8 1.41-1.02-.05-1.73-.19zm.69-1.09c-.24-.17.09-.79.24-1.27.51.57.8-.33 1.28.03-.42 1.04-1.02.77-1.52 1.24zm24.46-70.99c-1.07 6.16-2.34 9.91-5.31 16.02 1.05.35 1.68-2.1 2.66-2.15-2.12 3.98-1.86 7.32-3.42 9.97-.15-.06-.3-.11-.45-.17-.56 0-.21-.72.01-1.34-.94.44-.69 2.13.28 1.9-.5 1.3-.39 2.1-1.17 3.61-.47-.24-.09-1.16.33-2.12-1.42.81-1.34 4.01-1.66 6.13-.2 1.52-.85-.05-1.14.92-.16 1.71-3.36 10.19-4.87 11.68-.12 1.13-.03 1.41.81 1.21-.42 1.46-.96 2.18-1.61 2.1.53 1.94-1.34 4-2.55 5.8-.52 1.4 1.08-.56.52.65-.38 1-.35.41-.6.22-.6 1.46.5 1.55-.57 3.39-.43-.54-1-.97-1.87-1.15-.31.87.89.52 1.2.9-.45 1.76-1.23 1.27-1.76 2.49.56-.1.97.54 1.03 1.29.09.88-.27 1.91-1.37 2.18.35-1.42.9-1.56 1.37-2.18-.57-.17-.98.47-1.12-.42-.13 2.12-.72 2.06-1.78 3.84.47.35.76 1.56 2.03.75-.83 1.11-1.61 2.56-2.45 3.59-.56-.26.07-1.48.48-2.52.22-.71-1.07.27-1.43.36-.23.93.53-.35.51.65-.43.89-.93 1.33-1.31 2.65-.7.49-.27-.14-.9-.33-.31 2.73 1.69 2.16.47 4.68.35-.07.67-.33.92-1.01.17 5.05-5.02 10.38-4.91 14.37-.98 1.05-.9.24-1 1.88-1.37.3-1.2-1.29-1.11-2.82-.21.41-.41.83-.6 1.27-.54-.69-.52-.4-1.28-.02-.31 1.42 1.71-.57 1.42.98-.87.35-.88 3.44-2.47 4.93-.14.58.38.18.61-.23.31.86-1.23 1.17-1.54 2.58.32-.21.62-.59.92-1.01.57.51-.55.76-.62 1.57.22.07.36-.42.53-.7.54.36-.59 2.07-.26 2.6-.69.45-1.91 1.61-1.31 2.67-3.05 4.74-5.34 10.35-7.48 15.66-.22-.09-.45-.17-.67-.26-.65 4.1-2.52 7.35-3.9 11.15-.56-3.42 2.57-7.7 3.98-12.02.78-2.37.63-4.62 1.96-6.92 1.03-.02-.65 2.14-.25 2.61.41-.16.3-1.09 1-1.87-.71-4.87 3.84-11.78 5.92-17.6 1.71-4.77 2.29-9.19 3.91-12.49.33-.17.59-.82.99-.54-.08-1.58 1.3-2.88 1.86-4.7.94-.26.39.66 1.07-1.4.14.89.55.25 1.12.42-.26 1.11-.76.58-1.14.92.13.7.09 1.53.51 1.99-.46.72-1.04.64-1.52 1.24-.25.82.3.99.05 1.82 1.04-.51 1.53-3.62 2.97-4.28.09-2.9-1.74-3.5-.58-6.99-.63.03-1.08 1.3-1.6 2.11.05-3.33 2.52-5.72 2.2-8.19.43-.43.79-1.37 1.29-1.31.29-1.16.34-3.92 1.33-4.01.27-.75-.64-.55-.21-1.43 2.49-2.05 2.53-8.14 4.64-10.42-.25-2.31 1.82-6.91 2.8-8.4-.88-2.73 2.69-9.7 4.81-12.16 1.1-3.06.4-2.96 1.5-5.74-.39.81-1.79 2.11-1.53 2.58-.81-.38.06-2.2 1.18-4.96-.02.05.1.51-.08.87 1.95-3.82 2.59-12.78 7.19-16.22-.68 1.61-1.14 3.05-1.11 4.09 0-1.05 2.82-5.08 1.66-6.14.38-1.27.91-1.49 1.45-1.71.47.34.95.65.28 1.91.47.36.58-1.83 1.13-.92-.97 2.55-2.12 3.83-3.08 6.5.81-.71 1.66-2.29 2.69-4.85zm.32-2.13c-1.06-.47.07-2.71.81-4.65 1.03.71-.17 3.17-.81 4.65zm.62-7.42c.04.41-.11.97-.39 1.65-1.11-.46 2.41-6.18.39-1.65zm.55-157.38c-.3-.15-.61-.31-.83.14-.22-.17.04-.44.16-.39-.49-1.74.72-.08 1.07-1.4.26.23-.2 1.05-.4 1.65zm2.07 3.92c.55.26-.08 1.48-.48 2.52-.23-.08-.46-.16-.68-.25.35-.98.71-1.9 1.16-2.27zm-.62 7.43c.1-3.38 3.36-10.4 4-13.36.95 1.68-2.6 9.24-4 13.36zm5.39-16.89c-.74-.37.45-2.32.57-3.39.82.9-.51 1.98-.57 3.39zm49.19-106.75c.04.41-.11.97-.39 1.65-.31-.16-.61-.31-.83.14-.4-.5.74-2.51 1.22-1.79zm-6.08 12.12c.72-.05.14.95.58 1.13 1.9-2.89 2.48-6.35 4.53-6.87-1.44 2.61-1.32 3.86-1.66 6.14-.43.44-.91.54-1.29 1.31-.29-.78.03-1.08.55-2.04-.99.02-1.85.91-2.59 2.63-.94-.04-.75-.99-.12-2.3zm-8.25 29.34c-.6 1.35-.45-1.3-1.05.05-.54-.64.62-1.28.84-1.48.57.07-.19 1.22.21 1.43zm-.28-1.91c.61-3.1 3.57-9.56 4-7.51-1.72 1.61-1.8 4.66-4 7.51zm3.57-9.02c.45-2.81 3.34-8.34 4.67-13.11.67 3.38-2.37 7.4-3.6 11.71-.52-.65-.74.72-1.07 1.4zm2.9-16.47c.67.6-.28 1.46-.77 1.96-.49-.3.55-1.78.77-1.96zm.75.72c.85-.06.45.88.81 1.21-1.15 2.11-1.19 2.71-2.24 5.02 1.95-1.81-1.22 5.2-2.17 5.48.52-4.07 3.7-8.68 3.6-11.71zm-18.43 43.98c.38.21.66-.3 1.05-.05-.39 1.64-1.14.93-1.53 2.57-.22-.53.41-1.75.48-2.52zm-.88 17.23c-.39-.48.78-2.23 1.02-3.22.81 1.13-.31 1.64-1.02 3.22zm4.56-16.75c-.28.51-.69.12-1.05.06-1.28 3.89-1.28 4.22-2.81 8.4-1.06.2-.79 1.99-1.99 2.41-.22 1.15.98-1 .9.34-1.27 2.68-1.78 2.18-2.62 5.32.62.3.75-2.67 1.45-1.71-1.07 1.68-1.43 3.18-1.63 4.79-.57-.07-.84-.39-.97-.81-.48 1-.2 1.4.43 1.51-.55 2.08-1.37 2.26-2.14 2.8-.85-2.71 3.67-9.11 3.53-12.19 2.42-4.45 3.93-8.72 6.1-13.47-.43-.09-.66 1.28-1.07 1.4-.67-.32.52-2.56 1.16-2.27-.02-1.28-.18-1.42-1.26-1.37 2.82-2.64 2.94-.07.85 4.37.46-.21.82-1.14 1.22-1.79.79.08-.54 1.86-.1 2.21zm.72 9.28c-1.03-.35.57-1.15.71-2.44.34.76-.14 1.5-.71 2.44zm1-14.94c-.48-.32-.6-.93-1.42-.98 1.03-2.11 1.9-2.85 3.3-5.07.46 1.68-1.3 3.52-1.88 6.05zm1.42-12.07c-.44 2.11-.74 3.66-1.41 4.87.6.69.83-1.09 1.23-1.79.3 1.52-1.1 4.18-2.02 5.1-.97-.03-.75-2.39-1.73-.2-.1-2.02 3.21-5.93 2.57-7.14-1.72 2.76-3.03 8.35-5 9.38.67-4.55 3.36-7.56 4.81-12.16.23.1.47.19.71.27 1.86-6.32 4.72-14.09 8.41-20.72.11-.44-.35-.43-.15-.95.44-.88.92-1.52 1.39-2.18.66.35-.4 2.09-.8 3.3.31.16.62.3.83-.14-1.06 4.02-4.37 10.64-5.39 16.9-.74 1.18-1.51 2.27-2.36 2.71-.26 1.22.82.04 1.12.42-.22 1.07-1.59 1.48-1.15 2.27-.65 1.07-.51.32-1.06.06zm.8 2.55c.88-.28 1.35-3.36 2.3-3.19-1.34 1.46-.51 3.35-1.8 5.18-.41-.46-.08-1.53-.5-1.99zm2.75 10.03c-.6-.25-.73-1.3-.06-1.82.64.1.26 1.03.06 1.82zm.2-4.43c.15.15.07.48.29.56 2-4.98 1.9-5.64 3.21-10.05 2.94-.7-1.21 8.19-1.86 10.56-1.25 1.42-2.28 1.38-1.64-1.07zm2.51 17.15c-.31-.15-.61-.3-.83.14.75-4.76 4.15-11.41 5.98-15.77.16-1.07-1.12-.06-1.37.84-.47-.64.72-1.64.93-2.35.42.1.29.65.75.72.57.02.85-1.89 1.31-2.65.06 6.15-3.75 10.93-6.77 19.07zm11.31-27.29c-.72.43-1.34-.18-1.35-.5-.9.07-.38.87-1.08 1.4-.14 1.21.96-1.06 1.44-.36-1.18 3.03-1.74 3.59-1.57 5.27-.83 1.12-.34-.21-1.15 2.26-1.64-.38.67-2.63.5-3.86-1.47.96-1.18 5.42-2.7 4.84 2.18-4.8 2.96-11.58 6.74-16.38.12 1-1.09 1.06-1.53 2.58.22.06.36-.42.53-.71.29.21-.38 1.2-.01 1.35.67-.23 1.06-2.43 1.62-3.45.39 2.06-1.51 5.94-1.44 7.56zm7.45.09c-.33.59-.27-.48-.61.23-.71-1.16 1.27-3.35 1.86-4.71.98.93-1.65 3.43-1.25 4.48zm2.76-4.36c-.33.66-.74.75-1.21.44.26-.65.51-1.31.77-1.96.1.32.22.62.45.17.29.21-.38 1.2-.01 1.35zm8.65-19.27c-1.55 3.12-2.41 4.95-3.64 8.54.77-.74.97-3.47 2.23-3.67.14-.92-.05-1.56.64-2.91.55-.05 1.16-.85 1.27.02-.28.93-.82.2-1.14.93-.29.93.25 1.14.68.25-1.17 4.15-1.88 6.11-3.72 9.41.14-.95-.25-2.17.63-2.91-1.38-.56-1.31 1.6-1.31 2.66-.31 0-1.49 1.16-1.21.45-.73-.21.76-1.95.79-3.31-1.08.82-1.65 4.55-2.24 5.02.65-.05 1.47-.36.82 1.2-1.47-.82-2.54 1.04-3.58 3.17-.08-.38-.34-.62-.74-.73 2.46-3.95 4.42-13.34 7.22-18.91.42.1.28.66.74.73.39-1.3-.31-1.71.19-3.09.3.12.6.23.9.34.3-.69.05-.93.39-1.65.23-.94-.54.34-.52-.64.26-.66.52-1.31.78-1.97.23.16.44.06.6-.22.18.92.77 1.51.04 3.17.32-.23.68-.24 1.06-.06-.81.75-.46 2.36-1.47 3.05-.06.58.19.92.59 1.13zm8.34 194.92c-.41-.03-.24-.52-.52-.65.45-1.28 1.05-1.51 1.46-3.05.64.44-.25 3.01-.94 3.7zm2.41-6.75c.93-1.28.72-1.92 1.47-3.06.68.42-.73 3.59-1.47 3.06zm10.05-22.81c.77.16.14 2.03-.48 2.53-.55-.26.08-1.48.48-2.53zm-.82 6c-.41-.2.76-1.4 1-1.87.73.77-.46 1.6-1 1.87zm2.34-7.23c-.54-.33-.78 1.46-1.36.84.46-.91-.08-1 .55-2.05.27-.09.53-.19.76-.61.56.26-.29 1.65.28 1.91-.22.43-.31.13-.23-.09zm1.85-3.36c-.78-.08-.18-1.27-.66-1.59.36-.48.77-.55 1.21-.45.01.52-.12 1.16-.55 2.04zm6.83-11.4c.32.29.55-.15.76-.61.25.99-1.24 1.2-1.08 2.74-.24-.16-.44-.06-.61.22-.12-1.05.77-.55.93-2.35zm12.92-36.58c.11-.59.32-1.09.55-1.56-.27.75.12 1.48-.55 1.56zm1.97-5.65c-.02-.13-.05-.26-.09-.4.42-.5.78-1.46 1.36-.84-.38.71-.97.01-1.27 1.24zm7.15 11.31c-.13-.67.16-2.27.86-2.83.44.36-.67 1.97-.86 2.83zm-3.62-18.91c-.12-.89 1.17-4.49 2.07-3.28-1.1 1.01-1.38 1.98-2.07 3.28zm6.15-4.45c-.23-.09-.45-.17-.67-.26.23-2.11 1.31-2.85 2.46-4.93-.08 1.81-1.48 3.11-1.79 5.19zm1.56 1.93c-.08-.38-.34-.61-.75-.73.31-1.27.92-.52 1.23-1.79.56.26-.08 1.48-.48 2.52zm2.37-9.92c-.33.67-.74.75-1.21.45-.26 1.21.16.57.74.73-.55 1.09-1.33.56-1.89 1.54.63-3.55 2.98-5.67 3.87-9.81.4.6.43.31 1.19.9-1.44 1.55-3.38 5.15-2.7 6.19zm2.95-7.45c-.86-.37-.15-2.01.34-3.47.42.1.29.65.74.73-.86.67-.52 1.56-1.08 2.74zm-223.24 405.83c-.04.39-.1.77-.18 1.14l.57-.98c-.13-.06-.26-.11-.39-.16zm172.21-522.18c.05.04.11.07.17.08-.02-.03-.07-.06-.17-.08zm21.47-38-.38-1.18c-.29.85-.61 1.71-.95 2.59-.76.25-.49-1.57-1.05.06.37 2.46-2.17 6.79-2.29 9.05 1.56-3.67 3.14-7.07 4.67-10.52zm11.33 206.96c-.53 1.22-1.07 2.91-1.64 4.59l1.92-3.3c-.14-.39.05-1.05-.28-1.29zm-26.91-183.87c0 .03 0 .07-.01.1.01-.03.03-.05.05-.08-.01-.01-.03-.01-.04-.02zm-146.96 273.68-.72 5.79c1.11-3.33 1.93-6.69 2.12-9.33-.21 1-.84 2.27-1.4 3.54z\",\n fill: \"#fcae1d\",\n fillRule: \"evenodd\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M537.727 1525.876c.749.089-1.116 5.092-.635 2.913.505-1.21-.267-1.383.635-2.913zm.9.335c-.284-1.101 1.138-2.783 1.552-3.923.258.923-1.224 2.2-1.552 3.923zm34.176-58.342c-.394.716-.406 1.474-.087.867-.642 2.121-1.392 2.265-1.279-.027.135-.412 1.284-.431.692-1.094.326-.546.225.262.675.254zm5.273-13.335c-.224-.169.03-.44.156-.392-.067-.568-.359-.953.324-2.126.449.414.334 1.864-.48 2.519zm-22.406-118.247c-.289 1.053-1.676 1.93-1.591.759-.348-.134.892-.146 1.591-.759zm6.871-21.289c-.768.363 1.611-2.402 1.396-3.531.217 1.292 1.181-.473 1.745-1.147.488 1.065-.614 2.032-1.171 3.614.165-2.008-1.293.253-1.969 1.064zm-19.791-13.262c.513.114-.448 1.427-.551 2.045-1.039-.577-.648-2.315-.177-4.117.587 1.635.554 1.622.728 2.072zm39.451-39.708c.267.294-.286.466-.466 1.174-.113-.676.013-1.432-.605.225-.498.161.402-2.437 1.016-3.221.334.206-.914 3.007.054 1.822zm18.947-43.336c-.381 1.138.442-2.916.118-3.556.547-.217 2.009-1.618 1.758-2.494 1.481-.244-.9 2.024-1.551 3.923.505.06.866-.882 1.295-1.319.254.899-1.331 1.471-1.621 3.447zm7.211-11.706c-.393.7-.629 2.475-1.224 1.789 1.158-2.205.056-3.096-.954-2.154-.129-.341.125-.99-.364-1.041 1.328-1.18 1.582.82 2.543 1.406zm.163-7.594c.536.601 1.855-.71 1.73.195-.718 1.276-1.002-.269-2.039.592.344-.638.117-.808-.139-.953 1.467-2.223.996-3.418 2.481-6.276.251.502.039 1.59-.551 2.044 1.23-.516.083 1.682.265 3.248-.374-.141-.751-.277-1.126-.42-.205.524-.413 1.047-.621 1.57zm-3.756-19.866c.87 1.087 1.278-.948 1.899-1.541.372 1.262-2.917 4.409-1.899 1.541zm20.247-12.684c-.259.903-2.263 5.509-.916 1.012.322-.212.623-.59.916-1.012zm.958-5.041c-.26 1.458-.416 2.828-1.408 4.874-.165-1.13-1.056.168-1.661.282.234-1.065 1.114-2.78 1.914-2.887.039-.662-.378-.016-.741-.727.504-.388 1.04-1.738.929-2.353.577-.625-.259 1.699.968.811zm1.645 1.067c-.454-1.955.951-8.945 2.562-13.003.143-.471-.283-.482-.519-.644.689-.906.951-1.058 1.431-.36.688-1.703.377-1.929 1.313-2.664.091-.519.032-.913-.367-1.034 3.81-8.244 5.763-15.186 7.549-21.04.212 1.479.904-1.185 1.659-.279.006-.36.016-.723.238-1.258-.495-.006-.777 1.45-1.363.834 1.155-1.746 1.257-2.694 2.746-3.023.401.874-1.886 1.728-.328 2.13-4.786 11.927-7.644 18.431-13.167 31.991-.572.994.165.93.206 1.428-.48.091-.717 1.865-1.223 1.793-.032.646-.154 1.367.434 1.513-.282 1.115-1.517 3.003-1.171 3.615zm31.294-24.306c-.668-.256.444-1.961.256-2.604-.323.21-.624.584-.915 1.007-.553-2.965 2.243-6.639 3.357-10.447.842 1.631 4.86-7.148 3.865-8.462.298-1.331.904-.596 1.293-1.316.074-1.125-.38-1.821-.038-3.164.079.376.342.613.747.725.309-1.834 2.085-2.065 3.124-3.329-.462-.68.242-1.891.86-2.833-.172 1.883.943-.014 1.448-1.705-.315 2.48.183 3.474-.821 5.994-.243-.247-.083-.823-.365-1.033-1.141.97-2.221 3.155-2.692 4.842-.494.396-1.028.194-1.123-.419.238 1.482-2.131 4.631-1.048 5.909-.52.808-1.078 1.356-1.534 2.582-.722-.756.526-1.172.931-2.356-.021-.427-.175-.749-.365-1.037-1.833 4.69-5.066 11.953-6.979 17.648zm9.87-.807c-.916.521-1.57 2.83-2.52 3.11.7-1.616 2.194-3.536 2.311-4.539.503-.888.098 1.125.209 1.43zm-13.629-19.061c-.552 2.423-1.231 3.556-1.875 6.051-.211-.271-.262-.673.014-1.343-.265.141-.526.272-.827.139 1.589-1.956 1.839-3.825 2.102-5.967-.014.617-.382 3.688.587 1.12zm1.722-5.656c-.866.51.872-1.515 1.365-.841-.309.282-.591.797-.845 1.487-.405.084.056-1.737-.52-.646zm-4.394-3.9c-.221.003-.15-.231-.069-.476-.148-.056-.299-.11-.449-.167 1.247-.168 1.862-4.697 3.279-3.722-.228.876-.619.623-.984.527-.854 1.613-1.276 2.942-1.777 3.839zm-10.294-20.96c.396-1.167.987-1.015 1.382-2.184-.136.979.295 2.154-.569 3.39.386.199.667-.305 1.055-.055-.615 1.414-.901 1.388-1.084 2.745.346-.071.658-.329.916-1.01.429.803-.374 1.307.123 2.298-.403.807-.957-.429-.969-.812-.493.489-1.027.713-1.449 1.705-.127-.341.124-.987-.364-1.037.733-2.606 1.431-3.627.961-5.04zm46.112 21.766c-.218.427-.313.132-.225-.084-.328.17-.587.813-.985.53.609-1.171 1.347-1.454 1.988-2.409 1.088-.84-1.356 1.923-.777 1.963zm-2.964-12.631c-.04.08-.09.16-.13.22.03-.12.08-.19.13-.22zm5.05-8.37v.01c-1.19.96-1.67 5.76-3.73 6.87.07 2.32-1.57 5.17-2.35 8.57-.2-.73-.65-1.25.03-2.69.53 1.93.54-2.41 1.62-3.44.06-.31-.36-1.05-.61-.95 1.03-1.72 3.02-6.72 4.84-9zm-5.86-18.27c-2.98 6.68-8.2 14.87-7.52 20.19.84-1.17-.14-2.82 1.34-5.36-.15 2.28.73 2.97.23 5.94.62.31.75-2.66 1.45-1.7.14.8-.71 1.23-1.08 2.74-.81-2.29-2.83 3.33-3.14 4.68-.44-.18.14-1.18-.59-1.13.44-1.51 1.56-2.26 1.39-3.53-2.2 1.13-2.36 4.27-3.84 7.12.95-2.99-.17-6.6.42-10.2.83-1.5 1.69-3.6.65-4.25.44-.9 1.07-.44 1.45-1.72.05-1.4-1.26-.33.19-3.08.06-.58-.2-.91-.59-1.12-1.4.68-1.71 5.25-2.61 3.98-.47.83.21.72-.01 1.35.47.35.58-1.84 1.14-.93.15.9-.62 1.94-1.3 1.32-.66 2.04.31 2.76-.73 5.12-.25-.5-.02-1.41.47-2.52-.5-.56-.79.34-1.27-.02.88-2.15.77-3.48.96-5.05.94 1.51 4.02-7.72 6.11-7.62-.03-.41.11-.97.4-1.65.92-.44 1.77-1.45 2.51-3.11 1.02-.55 1.99-1.65 2.91-2.78zm3.432 29.689c-.478-.248.685-.88.777-1.961.88-.173.667.037.971.812-.624.24-.965-.58-1.748 1.149zm-1.452-23.519c-.82 1.13-1.85 2.31-2.37 3.17.63-1.59 1.24-3.26 1.91-4.61zm-44.693 30.558c.593-.04-.364 1.369.66 1.592-.963.209-1.587 2.701-2.66 2.158-.447 2.226-.281 3.957 1.681 4.234-.122 4.655-3.581 9.526-6.002 11.261-3.288.234-4.624-2.175-3.772-5.466 1.271-4.911 6.435-8.816 6.622-12.828.858-1.176 2.479-5.082 3.915-6.64.535.708.496.225 1.351.504-.395 1.562-1.808 3.956-.654 4.258-.348.518-.729.827-1.14.928z\",\n fill: \"#fcae1d\",\n fillRule: \"evenodd\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M752.025 1280.379a5 5 0 0 1-4.747-3.436l-73.667-223.404a4.999 4.999 0 1 1 9.496-3.131l73.667 223.404a4.999 4.999 0 0 1-4.749 6.567z\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1213.88 1705.894v111.595c-13.452-.212-194.964-14.652-245.162-24.133-25.247-4.767-142.865-35.09-172.423-38.785h-.021c-46.291-5.839-85.405-1.837-118.69 18.24-25.64 15.491-99.44 62.387-140.879 88.802a38.702 38.702 0 0 1-13.452 5.394 38.693 38.693 0 0 1-7.57.743c-11.328 0-22.508-4.916-30.195-14.195a39.086 39.086 0 0 1-8.971-26.575 39.139 39.139 0 0 1 10.893-25.577c5.797-6.041 13.93-13.664 23.825-22.137 38.275-32.754 102.849-78.142 159.725-93.41 196.259-52.693 386.098 24.835 451.468 21.681 38.063-1.837 91.453-1.644 91.453-1.644z\",\n fill: \"#e59673\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1213.88 1728.555v112.258c-30.063 2.017-93.874 5.263-165.998 2.654-46.52-1.684-219.716-35.787-290.868-19.974-129.334 28.744-187.893 131.229-223.9 133.324-10.039.584-20.052-3.853-27.651-11.421-14.136-14.061-15.426-36.464-3.079-52.102a551.122 551.122 0 0 1 20.871-24.769c31.064-34.765 82.731-77.617 135.51-102.383 158.574-74.41 462.105-20.735 465.443-21.22 36.099-5.233 70.576-12.241 89.673-16.366z\",\n fill: \"#e59673\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1197.233 1744.239v99.866c-48.158.713-346.557-18.103-438.899 2.396-29.254 6.494-93.025 71.608-131.749 101.853a25.88 25.88 0 0 1-1.092.819 38.963 38.963 0 0 1-23.01 7.493c-10.057 0-20.052-3.853-27.651-11.421-5.961-5.946-9.647-13.363-10.951-21.144-1.836-10.633.528-22.092 7.887-30.958 83.646-100.77 176.1-136.488 207.861-143.276 90.096-19.257 393.895-2.184 413.948-5.096 1.229-.182 2.442-.349 3.656-.531z\",\n fill: \"#e59673\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1213.88 1814.982 5.764 123.725c-70.177 13.077-157.709 16.055-217.774 5.012-93.708-17.246-101.754-54.99-172.695-55.339-29.972-.152-91.28 29.896-130.095 60.05a39.028 39.028 0 0 1-24.011 8.236c-10.087 0-20.128-3.883-27.727-11.497a37.93 37.93 0 0 1-5.202-6.462c-8.964-13.848-8.373-32.247 2.275-45.64 22.782-28.683 112.176-88.262 168.819-99.153 120.021-23.076 375.026 19.809 400.645 21.068z\",\n fill: \"#e59673\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M551.98 1882.297c-8.26-9.662-25.587-7.95-39.446 3.897-12.169 10.403-18.639 25.585-12.444 34.528 8.923 12.882 22.829 13.133 31.219 7.724 25.316-15.827 28.941-36.484 20.67-46.15v.002zm-35.405-58.428a23.086 23.086 0 0 0-1.678 1.593c-3.355 2.41-6.338 4.47-9.003 6.19-8.387 5.415-21.542 2.474-29.378-4.672a39.139 39.139 0 0 1 10.893-25.577c5.797-6.041 13.93-13.664 23.825-22.137 6.168-.106 11.647 1.932 15.331 6.232 8.271 9.672 3.875 26.522-9.991 38.371zm102.356 52.147c-8.912-7.929-24.802-4.128-36.175 8.654-9.987 11.224-12.689 25.101-7.165 33.687a15.613 15.613 0 0 0 2.082 2.584c8.197 5.662 20.817 6.713 27.927.615 2.259-1.937 4.777-4.235 7.583-6.901.454-.618.907-1.193 1.361-1.703 11.374-12.782 13.308-29.005 4.386-36.937zm73.717 2.139c-7.766-8.921-23.874-7.184-36.67 3.955-11.236 9.781-15.642 23.09-11.29 32.231.47.987 1.044 1.924 1.722 2.804 7.349 6.602 19.629 9.225 27.39 4.122 2.466-1.621 5.231-3.563 8.328-5.832a23.211 23.211 0 0 1 1.553-1.504c12.797-11.139 16.742-26.852 8.966-35.777z\",\n fill: \"#cc5e50\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M523.253 1868.974a5 5 0 0 1-3.726-8.331c17.083-19.119 49.646-49.79 89.808-78.534 50.614-36.225 99.625-60.062 145.67-70.849a5 5 0 0 1 2.281 9.737c-103.311 24.203-201.272 113.82-230.302 146.309a4.988 4.988 0 0 1-3.73 1.669zm44.987 72.553a5 5 0 0 1-4.526-2.871c-2.456-5.218-5.927-22.507.063-34.335 35.477-70.059 185.331-153.045 214.808-159.345a5 5 0 1 1 2.09 9.78c-27.673 5.914-174.445 87.867-207.976 154.083-4.029 7.957-1.756 21.695.063 25.558a4.999 4.999 0 0 1-4.521 7.131zm73.906 2.181a4.996 4.996 0 0 1-4.202-2.284c-10.297-15.908-9.269-36.592 2.559-51.469 23.987-30.199 114.204-89.88 171.788-100.951a5 5 0 1 1 1.888 9.82c-53.874 10.358-142.763 68.288-165.848 97.352-9.154 11.515-9.955 27.514-1.993 39.814a5 5 0 0 1-4.192 7.718z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fcae1d\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1559.338 1267.52c1.927 4.134 2.383 8.694 3.706 13.526-3.699-3.801-1.724-9.305-3.706-13.526zm3.111 14.057c.963-.406.894 2.148 1.807 1.892.077.804.125 1.588-.453 1.882-.926-.904-.754-3.05-1.353-3.774zm11.741 1.666c.297-1.384.876 1.36 1.112 2.104-.176.115-.25-.06-.32-.252l-.461.138c-.309-.681.201-1.95-.331-1.99zm.538 6.116c.643.316 1.325.52 1.575 1.962-.474-.796-1.154-1.002-1.575-1.962zm8.369 43.159c.282 1.126.804 2.441.064 2.772-.307-1.144-.923-2.532-.064-2.772zm-45.734 33.435c-.18.02-.36.03-.52.01l.06-.76c.2.1.38.29.46.75zm-.077 3.161c.695-.223.903.952 1.252 1.715-.694.223-.901-.949-1.252-1.715zm1.391 10.744c.86.682.166 2.264.805 3.592-.867-.686-.728-2.697-.805-3.592zm53.271 16.26c-.073-.386.338-.397.596-.528.494.965-.075 1.102.008 1.741-.832.16 0-1.543-.605-1.213zm-.749 6.858c.417.436 1.199.739.93 1.463-.229.07-.459.14-.69.208-.289-.72-.322-1.242-.239-1.671zm4.477 2.477c.206-.355 1.145 2.19 1.491 3.386-.729-.467-1.089-1.983-1.491-3.386zm-47.29 17.857c.274.956-.278 1.271-.126 2.132-.525-.188-.458-1.988.126-2.132zm45.856-10.792c.715.303 1.493.43 1.805 1.895-.654-.483-1.378-.768-1.805-1.895zm2.918 3.998c.5-.055.566 1.128 1.065 1.07.122.262-.002.329-.136.391-.213 0-.18.192-.135.39-.521-.139-1.033-1.217-.794-1.851zm-45.621 20.139.688-.209c-.045.883 2.023 6.481.427 2.312-.396-.634-.916-.911-1.115-2.103zm-7.895 3.793c.755.224.968 1.595.98 2.493-.587-.08-.616-1.77-.98-2.493zm58.371-10.756c.917-.19 1.39 3.101 1.354 3.774-.479-.41-.514-2.966-1.354-3.774zm-56.352 18.516c.43.847 1.412 1.227.794 1.854-.699-.532-1.204-.935-.794-1.854zm-.168 2.843.689-.21c-.132.559.219 1.493-.546 1.561-.196-.563.086-.761-.143-1.351zm11.561 2.766c.175-1.389.69 1.104 1.2.685.11.579-.182.85-.729.918-.533-.703.283-1.532-.471-1.603zm-8.215 3.545c.981-.216.229 1.169 1.021 1.782l-.691.211c-.452-.931.123-1.064-.33-1.993zm2.995.833c.198-1.097.536 2.347 1.389 1.323.003 1.706-1.289.212-1.389-1.323zm-2.644 4.641c.225-.06.293.338.418.572.148.351.281.108.23-.07.34.006.425.747.603 1.209-.767.439-.976-.732-1.25-1.711zm5.218 3.3.916-.28c-.195.51.182 1.462.43 2.315-.758.201-.916-1.303-1.345-2.035zm-2.71 9.544c.62.966 1.268 1.856 1.853 2.924-.881-.214-1.457-1.308-1.853-2.924zm9.598 31.974c.307-.095.615-.187.919-.28-.645.071-.436 2.202.052 1.032.899.249-.247.927.237 1.671-.548-.391-.917-1.292-1.209-2.423zm5.06 17.303c.558.165.858 1.08 1.115 2.103-.564-.767-1.172-.998-1.115-2.103zm6.972 4.162c.261.132.52.259.458-.14.687.575-.315.742.56 1.923-.596.142-.769-.933-1.018-1.783zm-2.246 1.727c.58.309 1.074 2.634.935 3.206-.579-.309-1.075-2.636-.935-3.206zm3.359.376c.526.894.603 2.049 1.03 3.526-.67-.43-.772-2.501-1.395-3.065.284-.032.387-.197.365-.461zm-4.367 18.421c.856.569.204 2.053 1.075 2.814-1.303.365-.756-1.778-1.075-2.814zm2.298-.699c.627-.622.479.986 1.106.364.286.716-.561.554-.406 1.169-.858-.06-.289-.562-.7-1.533zm-3.392 2.08c-.199.505.303 1.554.104 2.062-.768-.516-1.06-1.76-.104-2.062zm5.079 3.689c.864.742 2.05 3.881 1.636 4.736-.518-.083-.862-.669-1.156-1.391.989 1.133.096-3.019-.794-1.854-.314-.825.82-.523.314-1.49zm4.752 11.117c.23-.07.461-.141.691-.208.59 1.118-.714.767-.224 1.81-.563.081-.542-1.369-.467-1.602zm-.611 6.464c1.308-.099.65 1.773 1.533 2.674-.834.042-.92-2.067-1.533-2.674zm-4.771 2.497.691-.211c-.455.393.862 2.153-.127 2.132l-.563-1.922zm.989 21.332c.576.301.698 1.926 1.208 2.424-.865.009-1.166-1.594-1.208-2.424zm138.43-8.914c.52.081.864.669 1.16 1.393-.786.68-.904-.548-1.16-1.393zm10.878 29.49c.267.118.608.786.551.181 1.054 1.206 1.431 3.445 1.501 5.127-.802-1.824-1.129-3.013-2.051-5.308zm-2.798 1.549c.796.457 1.353 1.616 2.127 2.146-1.401.091-1.581-.688-2.127-2.146zm3.105 4.637c.255-.134.021-.641-.051-1.03.761.166 1.056 1.685 1.804 1.893.011.589-.469.36-.552-.179-.732.528-.553.213-1.284.737-.423-1.143-.99-1.873-1.534-2.674.058-.534.377-.866.965-.987 1.037.699-.103 1.759.654 2.24zm2.533.975c1 .16.712 1.409 1.118 2.102.651 1.115 1.208-.717.373 1.283-.943-1.163-.758-2-1.491-3.385z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1583.723 1625.303c-.01 0-.02-.01-.03-.02.01.04.03.07.04.11 0-.03-.01-.06-.01-.09zm-.32-.16c.11.03.2.08.29.14-.06-.14-.14-.24-.29-.14zm139.6 1.9c-.78-2.18-2.97-2.58-3.3-5.28-.65-.29-.62 1.08-.92.28.01-1.07-.19-1.31-.79-1.86.79-.21.58-1.2.68-1.95-1.6-2.29-.76-5.22-2.84-7.16-.86-5.29-3.25-12.7-5.34-16.52.48-.46-.27-1.86.68-1.95-1.37-1.58-.26-3.03-1.67-4.03.09.4.15.78-.27.78-.42-.71-.4-.8-.89-2.17.35-.14.81-.2.5-.85-1.78-.58-1.06-3.59-1.27-5.2-.48.05-.33.58-.5.86-.48-1.22-1.31-3.49-.21-4.13.49.74-.65 1.42.24 1.67-.07-.47.4-.52.5-.85-2.33-3.09-3.31-8.05-3.78-10.36-.17-.86-1.07-1.02-1.16-1.4-.24-1 .53-2.09-.311-3.68.1.13-.16-.56-.4-1.33-.1-.32-1.56-3.53-.85-4.63.53-.31 1.05 2.41 1.15 1.4-.42-1.13-.8-1.44-.75-2.57-1.11.61-1.45-1.39-1.11-2.1.57.81 1 2.03 1.71 2.43l-124.55-272.86c-.06.04-.13.07-.23.1-.33-.8-.64-1.72-1.12-2.1-.2.5.48 1.7-.54 1.56-.62-2.16-1.84-2.58-2.561-4.46.09.64-.479.78.01 1.75 1.72.96 2.58 4.38 4.58 4.54.02.78-.85 1.54-1.42 1.12-.49 2.82 1.74 6.2 1.61 8.93-.84.27-1.18-.93-1.84-1.18.55 2.36-.71-.16-1.25.03 1.27 1.48 1.98 4.53 2.99 6.77 1.92 16.88 10.16 34.63 13.24 50.4 1.92 4.4 3.39 9.21 4.57 12.22 1.58 1.54 3.24 5.19 3.07 7.09.79.74 1.92 4.4 2.57 6.37-.2-.29-.08 1.07-.32 1.32-.84-2.67-1.04-4.65-2.42-4.85 0-.41.04-.8.18-1.1.13.24.19.63.42.57-.29-2.2-1.36.9-1.98-.79 1.15-.6-.89-2.17.81-2.34.41.97-.16 1.47.7 1.53-.73-2.9-1.85-5.49-2.521-6.91-.5 1.35 1.24 3.27 1.41 4.81-.21.42-.76.57-.97.99-.06 1.86 1.15 3.19.31 4.44-2.06-4.17-.26-3.71-1.189-6.61.05.17-.08.41-.23.07-.79-1.99-.69-3.04-1.64-4.74.13-.83.95-3.46-.84-2.88.57 1.19 1.09 2.71.25 3.41.37 2.88 2.61 3.93 2.24 5.94-.49-1.35-1.13-2.26-1.99-2.53.25 1.43 1.24.76 1.43 2.35-.34.03-.54-.41-.87-.43.87 1.37 2.06 4.01 1.17 4.88-1.19-2.55-1.99-4.91-2.98-6.77.33-.07.86-.34.37-.46-.15.05-.31.09-.46.14-.16 3.17 2.13 3.87 1.09 6.3-.27-1.49-1.42-2.55-1.12-3.85-1.41-.17-2.55-3.26-2.74-5.1-.36 4.92 3.43 7.55 4.84 11.44-.74.53-1.47-2-1.89-.47 2.63 4 2.26 10.62 3.53 14.62-1.93-3.56-3.26-6.79-3.69-10.04-.22-1.02-.42 1.02-.78-.11.08-2.84-2.21-7.88-3.93-11.71.37.02.5.26.69-.21-2.24-1.44-2-5.49-3.16-7.41.02.26.17.63-.05.7-.86-4.91-2.71-11.33-5.28-15.49.31-.09.62-.18.92-.27-2.32-4.69-5.46-11.73-5.94-17.74-.479.21-.8-.04-.97-.75-3.4-13.9-10.29-28.98-13.33-42.05.05.28 0 .49-.32.49-.46-6.37-2.52-11.4-4.18-16.87.14-.79.69-1.28.91-2.02-1 .3-.39.63-1.42 1.13.29-2.78-.8-6.24-2.08-8.79.23-.07.46-.14.7-.21-1.42-1.67-2.48-4.1-2.35-6.04-.08.19-.33.25-.58.3-.68-1.6-1.2-2.96-.48-3.34-.47-.8-.67-1.98-.06-2.78-.56-1.16-1.11.38-1.57-.22-.5-2.52-1.12-5.2-1.81-7.99l-.19 2.34c2.09 5.84 2.69 13.51 5.29 18.61-.25.13-.67.14-.6.53.81-.53 1.09.41 1.53.93-.83.97.88 2.98.16 4.84 1.14.13 1.25 4.35 1.27 5.19.4.23.95.05 1.2.68-.79.45.55 1.55-.03 2.46 1.3.63 1.17 2.51 1.91 3.95-1.31.69-.03 2.41.43 4.06.54.6.44-.58.78.11 1.79 8.35 4.68 16.07 6.39 25.27-.12-.23-.19-.63-.41-.57.11 1.04.81.42.92 1.46-.63.16-.3.68-.91.28.91 1.39.96 3.54 1.27 5.2.83.14.41-.67.73-.92.13.8.62.56.7 1.53-.46.13-.55-.79-1.11-.36.13 1.58 1.08.84 1.21 2.42-1.15.14.22 1.69-.17 2.84 1.03.38 1.09.51 1.57.22.04.94.07 1.62.79 1.86-.23.07-.47.14-.69.21.38.56 2.01 2.84 1.03 3.52-.13-1.48-1.75-2.48-1.31-4.48-1.83.69 2.21 6.21.77 7.78-2.36-7.02-3.56-12.55-5.58-19.93-.43-.01-.45.65-.69.21-.03-.6-.82-1.8-.33-1.99.68.2-.17 1.5.84 1.14-.37-1.64-1.41-4.61-1.83-5.38.17.64-.03 2.26-.86 1.31-.57-5.99-3.35-12.66-4.7-17.76-1.96-7.4-3.55-14.96-5.5-23.1.15-.05.31-.09.46-.14-1.95-2.67-1.14-5.76-3.04-7.8-.04-.95-.09-1.89.59-2.27-.3-.53-.27-1.97-.79-1.85.5 1.38.35 2.25-.49 2.59-.37-1.04-.95-3.12-1.4-5.12l-8.59 107.35c.12.36.28.74.46 1.14-1.99 1.47 1.59 6.92.26 6.89.92 1.02 1.33 2.87.76 4.31-1.13-2.09-1.43-3.83-2.05-5.24l-.13 1.63c1.02 1.16 1.28 2.53 1.04 3.96 1-.36.51 1.26.46 1.6.86.17-.12-1.09.74-.92.99 1.98 1.39 4.63 1.28 6.94-.21-.58-.47-1.02-.84-1.14.86 1.68.21 4.07 1.68 4.03-.06-.71-.9-2.02-.43-2.32 1.07 2.2 1.28 3.96 1.14 5.59-.1-.43-.65-2.33-.61-1.21.21 1.56.86 1.84 1.3 2.74-.73 3.73.55 5.9 1.02 9.46.96.19 1.29 2.18 1.81 3.64-.32.08-.46.3-.59.53-.58.27-.55-1.19-1.2-.69.31 1.33 1.54 4.12 1.09 6.3.71.66 2.37 4.37 1.04 5.27-.86-2.18-1.7-4.07-1.59-5.45-.88-.11-1.5-6.73-2.7-5.81.25-.38.58-.7.31-1.49-.5-.35-1.11-1.25-2.03-1.82 1.69-.34-1.34-1.69.03-2.45-.1-1.1-.79-.49-1.06-1.08-.03-.93.43-1.48.26-2.52-1.53-2.67-2.51-5.66-3.31-8.74l-.19 2.47c.48 1.8 1.05 3.53 1.88 5.02-1.1.63-.15 1.57.38 1.28.07 1.55-.35 1.92-.729 2.66 1.939.87 1.38 5.27 2.979 6.77-.81 2.38 2.09 6.4 2.54 8.65-.03-.26.08-.43.36-.46.43 1.11.89 1.72.52 2.64-.78-.59.17-.7-.24-1.68-.97 2.8 1.39 6.1 1.8 9.58.479.39.85 1.1 1.25 1.71-.47.79.26 2.51.67 3.98.73.05 1.34.45 1.57 1.97 1.11-2.13-.19-5.02-1.05-7.01 1.2.86.85-.97 1.8.15-.91 1.17.93 5.18 1.38 7.03-.07-.47-.06-.88.4-.94.29.96 1.42 2.56 1.03 3.52-.31-1.65-1.18-1-.66-2.24-.53.82-.91 1.77-.86 3.05.78.02-.04-1.19.97-.99.09.33.29.33.41.57-.51.63.77 3.58-.4 2.91 1.06 2.22 1.88 5.75.82 7.08 1.68 3.74 3.24 6.6 3.88 10.69-.33.16-.88.14-.82.6.58.1.9.94 1.38 1.32-.77.34.28.86-.18 1.1-.19-.43-.61-.21-.87-.43.29.72.32 1.24.23 1.67.78.03-.04-1.19.97-.99.2.81.65.88.92 1.46-.49 1.5 1.58 3 1.37 5.52-.34-.01-.57-.32-1.02-.04.42 1.15 1.36.82 1.81 1.89-.35.03-.54-.41-.88-.43 2.14 1.1 1.4 5.45 1.65 6.48-.05-.36.15-.88.36-.46 1.07 5.31 2.87 9.6 4.22 14.42-.25.11-.49-.36-.46.14.83 2.12 6.65 12.45 3.28 11.21.02.27.18.64-.04.71-.15-.36-.23-.92-.51-.89-.07 1.1 1.16 2.73 1.67 4.03-.21.41-.53.74-.63 1.24 2.3 1.89.26 4.25 1.64 6.48-.57.28-.54-1.19-1.2-.68 2.85 2.72 2.85 8.75 4.86 13.17-.58.29-.31-1.86-1.07-1.07 1.61 3.14 2.64 9.63 4.49 13.64-.98-.77.03 1.28-.54 1.56-2.36-2.35-1.84-5.78-4.19-9.2-.28.28-1.3-.01-1.05.68 2.43.39 2.31 4.75 3.85 7.2-.32.24.1 1.06-.73.92 2.06 2.09 3.16 7.1 3.51 11.14 1.28.65.76 3.19 1.86 4.67-.54-.59-1.47-.11-1.84-1.19.49-.55 1.28.69.82-.59-1.81.09-1.89-4.41-2.74-5.1.19.84-.52-.32-.92.27 1.04 1.19.72 2.64 1.81 3.64-.46.87-.41 3.47.41 2.21-.65 1.48.91 3.55.19 4.94-.84-3.54-2.26-4.51-3.08-7.09-.35 1.75.34 2.48.67 3.98-.31.11-.55 0-.79-.11 1.23 4.68 2.37 7.7 1.91 11.64.28-.04.63-.26.78.11-.35 2.34 1.17 6.04 1.88 8.15-.08-.4-.15-.78.27-.78.42 1.4 1.12 3.01.25 3.41.3.71 1.1 0 1.29 1-.22 1.15-1 1.86-1.08 3.12.6-1.28 2.63 3.93.61 2.96.43 2.04 1.44 2.93.63 4.69.59.47 1.22.81 1.7 1.57 2.14-.88 2.6-.28 4.23-.93-.99-1.56-1.63-2.73-.34-3.73-.72-.17-1.43-2.76-1.03-3.53-2.09-1.75-1-5.34-2.3-8.72 1.16-.15-.04-1.15.68-1.95.43 1.13.93 2.06 1.4 3.06-.85-.24-.88.33-1.19 1.06.8.24 1.11 1.93.75 2.57 1.07.09.01-1.48.45-1.88.69 1.13 1.28 2.59 2.04 3.56-1.1 1-.33 3.35.62 4.7-.35.79-.43.82-1.15.34 1.87 2.66 2.62 6.4 2.3 8.73 1.93.34.48 3.59 1.32 4.48-.01-.5.12-.89.4-1.17.12 1.03.67.82.79 1.85-.91.2-.48 1.45-.58 2.27.52.18.49-1.19.92-.28.54 2.79.65 3.87 1.91 5.7-.67.51-1.4.44-.81 2.35.39-.15.73-.15 1.01.04v-.06c.13 1.09.03 2.11 1.04 2.89-.93.66-1.41-.95-1.77-1.92.51 2.12-1.61 4.11.3 4.45.37 3.34.05 5.77.23 9.35-.35.02-.54-.41-.87-.43.01 1.83 1.96 2.35.61 2.95-.49-1.55-.84-3.49-1.68-4.02.15.6.16 1.11-.08 1.42.13-1.58-.98-.03-1.3-2.75-.8.53-.98-.72-1.67-.54-.14.88.32 2.23-.16 2.84-1.4-2.28-1.68-3.87-1.14-5.58.27.42.22 1.73.7 1.53-.64-1.73 1.15.88.5-.85-1.22-.67-1.58-1.8-2.31-2.79 1.12.37-1.05-1.27.13-2.13-.39-.48-.96-.41-1.3-1 .74-2.93-.87-7.74-1.3-10.42-.13.55.23 1.49-.54 1.56-.09-.32-.3-.33-.42-.57.74-1.3-1.03-3.1.12-3.88-.5-1.64-.7-1.51-.52-2.63-.59-.13-1.02.5-1.39-1.32.5-.05.71.73 1.2.68-.64-2.55-2.84-6.87-2.07-8.79-4.75-3.1-1.72-11.15-5.27-13.75.3-.1.05-.63.27-.78.11.87.43 1.12.97.75-.54-1.6-.43-1.58-.66-3.98-1.13.86-.23 3.29-.94 4.47-.63-.56-.85-2.3-1.26-3.46-.55.62.27 3.51.53 4.38.01.04.79-.05.87.43.08.46-.4 1.02-.31 1.49.4 2.21 2.47 4.99 1.41 6.55-.2-1.17-.68-1.59-1.25-1.71 2.08 5.2 2.36 8.7 4.31 14.73-.23.08-.35-.17-.55-.17 1.12 1.92.93 4.48 2.66 6.51-.36.03-.55-.41-.88-.43.57 1.29 1.26 2.26 1.95 3.25-.75-.51-.45 1.3-1.01 1.7.49-.21.81.04.97.75-.12.81-.67-.23-.59.53.75 1.57 1.41 3.4 2.32 4.53-.41.14-1.25-1.41-1.33-.3 1.77 1.66 1.69 7.55 2.03 9.51 0-1.03 1.02.77.6 1.21.7.25.35-1.49.83-.6-.78.7.49 2.62.15 3.09-.67.75-.46-1.04-.97-.75-.14 1.46-.08 3.08.16 4.83-1.88-2.7-1.8-9.16-4.76-12.85-.46.43.61 1.34.8 1.85-1.46.67.19 1.15-.13 2.13-2.1-.24-.88-3.48-1.87-4.67.09.4.16.78-.27.78-.09-.32-.3-.32-.42-.57-.43-2.04-.63-5.84-1.91-5.69-.35-1.6.85-3.3-.07-4.52.07 1.79.01 3.48-.95 4.48-.32.07-.81-2.27-.83-1.15 1.43 2.11 1.56 3.02 2.28 5.24.3-.35-.51-1.55.32-1.49.21.99.979 2.41.29 2.7-.64-.81-1.07.85-.5.85-.05-.93.92.02 1.1.36-.32.17.02.84.15 1.36-.41.1-.7.29-.83.6.27 1 .729 1.44 1.12 2.1-.07 4.46 4.03 9.43 4.48 13.55.86.64.75 2.41 1.35 2.12-.11.43.02 2.3.43 2.31.34-.31-.47-1.51-.01-1.74.28-.01.46.25.64.5-.37 1.03-.02 1.08.57 1.93-.15.38-.28.77-.41 1.16.93 1.9 1.1 2.79 1.86 4.67-.31.11-.54.01-.78-.11.479.78.72 1.56.43 2.31-.52-.85-1.15-1.41-1.81-1.89.79 1.29 1.21 3.63 2.37 3.82-.03-.62-1.06-1.13-.47-1.61.5.93 1.05 1.69 1.67 2.29-.43.08-.44.48-.18 1.1-.78-.53-1.16.75-1.32 1.45.9-.04.67-.96 1.42-1.13.23 1.55.45.23.74.82.16.43.21.79.2 1.09l98.69-9c-.16-.74-.29-1.54-.4-2.47.41.65 1.41 1.18 1.11 2.1 1.43-.4.17-1.67-.43-2.31.26-.17.57-1.5.74-.92.71-.27.47 1.59 1.21 2.42.41-1.07-1.21-3.63-.99-4.23-.5.37-.99 1-1.34-.29 1.65-.3 1.48-2 1.13-3.84.28.19.62.19 1.01.04.13 2.26 1.55 5.65 2.83 9.06l8.68-.79c-.18-.72-.34-1.46-.48-2.2-1.83-2.07-2.5-5.18-2.71-7.53 0 .3-.73-.54-.6-1.23.44-2.48 1.979.79 2.56 2.76-.24-1.22 1.63-.18 2.24-.03 1.37 2.86 2.14 5.37 3.27 7.84l4.18-.39c.12-.29.25-.59.17-1.05.51.24.58.5.64.98l.61-.06c.31-.57.33-1.37.08-2.37.78-.47 1.16.21 1.39 1.33-.56.42-.65-.5-1.11-.36.01.46.06.92.14 1.36l3.13-.29c-.43-1.08.05-1.47-.15-2.37-.69.37-.23 1.64-.58 2.27-.12-.44-.32-.67-.52-.89.07-.83 1.08-1.67-.1-2.06.41-.1.69-.29.83-.6.57 1.39 1.05 2.54 1.46 3.57l4.87-.45c-.14-1.52-.38-2.77-1.46-3.56.31-.1.55 0 .79.12-.81-1.19-.79-3.03-.77-4.31 1.17.61.87 2.49 2.46 2.4zm-155.21-310.11c.94-.41.6 1.33.79 1.85-.63.19-.99-1.34-.79-1.85zm-29.55 41.77c1.28.74 1.05 2.18 1.91 3.96-.8-.66-2.06-2.47-1.91-3.96zm3.29 39.47c.85.52.64 2.3.94 3.21-.72-.42-.86-2.47-.94-3.21zm5.22 3.3c-.45-.93-.11-1.23-.33-1.99.59.1 1.38 1.92.33 1.99zm-.94 13.9c-.37-.75-.48-2.15-.71-3.28.94-.32.78 2.49 1.53 2.68.27 1.14-1.18-.27-.82.6zm.98-5.19c.11.76.03 1.78.66 2.25-.03.86-2.14-2.05-.66-2.25zm5.34 16.52c.7 1.53 1.24 3.02 1.5 5.13-1.04-1.51-1.36-3.3-1.5-5.13zm6.2 24.63c.68-.56.65.89.93 1.46-.73.47-1.15-.87-.93-1.46zm18.12 95.32c.62.57.84 1.35.89 2.18-.99-.05-.36-1.09-.89-2.18zm.39 3.03c.48.17.8.85 1.02 1.78-.59-.01-1.32-.95-1.02-1.78zm1.81 11.31c-.42-.33-.64-1.09-.47-1.6.73-.3 1.55 1.45.47 1.6zm5.59 40.52c-.55.01-.55-1.55-.88-2.18.48.34 1.14 1.46.88 2.18zm-3.97 13.76c-.13-.42-.25-.85-.38-1.28.81-.52 1.34 1.27.38 1.28zm.95-2.73c.58.07 1.2 1.27 1.02 1.79-.49-.18-.8-.85-1.02-1.79zm1.56 7.9c-.43-1.63.08-3.09-.76-4.3.25-.38.82-.53.31-1.5 1.59 1.48 1.26 4.73 2.11 6.34-.46-.45-1.01-.64-1.66-.54zm10.28-4.17c-.59.14-.77-.93-1.02-1.78.28.18.62.19 1.01.04.46.94-.45.81.01 1.74zm15.08-185.3c-.479 0-.45-1.46-1.2-.69-.55-2.36-1.48-3.59-2.15-5.62 1.73 2.3 2.13 3.58 3.35 6.31zm-10.21-33.19c-.95-.02-.54-1.23-.88-2.17.83-.07.8 1.44.88 2.17zm-8.68-15.15-.69.21c-.12-.43-.25-.85-.37-1.28.58-.28.88.21 1.06 1.07zm-14.9-43.27c-2.02-1.64-2.689-6.89-3.5-9.4 2.35 1.63 2.09 6.36 3.5 9.4zm-5.55 152.05c.63.42.38-.37 1.01.05.11 2.19.26 2.72.86 4.62-1.01-.44-1.26-3.07-1.87-4.67zm2.61 7.23c-.51-.13-1.03-1.21-.79-1.85.76-.55.92 1.56.79 1.85zm5.41 30.46c.35-.2.48.18.78.11.36 1.02 0 1.48.53 2.63-.77.08-1.48-1.95-1.31-2.74zm1.83 5.38c-.04 1.27.49 1.54.51 2.63-.79.11-1.41-2.56-.51-2.63zm2.15 16.78c-1.02-.07-.52-1.22-.23-1.67.44-.1.16 1.25.23 1.67zm1.68 4.03c-.06-.38.18-.25.23-.07.63-.09-.18-1.3.64-1.24.13.8.62.57.7 1.53-.17.21-.33.41-.27.78-.6.15-.7-1.15-1.3-1zm-.25-3.41c.6-.14.77.93 1.02 1.78-.71.32-1.24-1.15-1.02-1.78zm1.7 16.93c-.42 0-.36.38-.27.78-.76-.47.33-1.4-.66-2.24.29-.04.39-.2.37-.47.69.58-.31.75.56 1.93zm-.14-9.03c-.3-.31-.55-.77-.69-1.53.67-.38.85.67 1.43.6-.03.48-.32.75-.74.93zm.93-172.98c-.15-1.28.85-.52 1.51-.81.27.93-1.07 1.15-1.51.81zm1.02 1.78c-.25-.85.4-1.01.54-1.56.29-.03.37.53.51.89-.72-.07-.46.63-1.05.67zm8.19 209.29c.25.43.37.87.44 1.3-.16-.65-.96-.89-.44-1.3zm1.56 4.46c.09.07.2.14.31.2-.07.53.18 1.3-.64 1.24-.09-.63.78-.52.33-1.44zm-1.1 12.49.69-.21c.99 1.41.53 2.44.76 4.31-.95-1.13-.54-2.68-1.45-4.1zm1.28 6.94c-.11-.58.18-.85.73-.92-.47-.87-.45-.26-1.01-.04-.17-.96.771-1.06.68-1.95 1.47 2.48.75 5.02 2.34 8.01-.65-.15-.521.04-1.47.09.31-1.71-.13-4.93-1.27-5.19zm1.22-12.93c.59.47 1.56 3.34.15 3.09.33-1.2.01-1.94-.15-3.09zm1.22 21.26c.32-.87-.45-1.23-.66-2.24.9-.24 1.25 1.13 1.67 2.28-.4.17-.6-.24-1.01-.04zm8.67-185.8c-.64-2.07-.42-3.46-1.13-5.59-.27.87-.07 2.28.53 4.38-2.59-4.3-3.65-7.25-4.67-12.54-1.04.35-.18 2.17-.95 2.73-.5-3.55-2.59-5.42-2.8-7.87.15-.05.3-.09.46-.14.44-.3.57.32.74.82.52-.77-.63-1.66-1.3-1-.311-1.05-.85-1.48-1.07-2.81.52-.11.73.65.93 1.46.7-1.25-1.17-3.15-2.1-4.6-.68-1.03.73-.43.41-1.17-.82-1.12-2.97-7.97-2.58-9.68-.54-.74-.77-.86-1.33-.29-.48-1.12-.45-1.84.12-2.14-1.51-.89-1.15-3.14-1.17-4.87-.36-1.13-.56.91-.79-.11-.25-.82.06-.45.37-.46-.34-1.21-1.27-.67-1.44-2.36.65.1 1.35.05 2.16-.31-.23-.69-1.01.16-1.47.1-.62-1.3.28-1.43.03-2.45-.4.36-1.08.2-1.56-.22-.56-.47-.85-1.3-.11-2.06.51 1.05.14 1.43.11 2.06.56-.21.53-.82 1.14-.35-1.08-1.35-.57-1.63-.7-3.28-.58.04-1.49-.53-2.07.63.05-1.11-.13-2.41-.02-3.48.6-.14.77.94 1.02 1.79.22.54.72-.74.96-.99-.33-.69-.24.49-.78-.12-.15-.77.01-1.31-.42-2.31.3-.67.3-.06.91-.28-1.27-1.82-2.57-.4-3-2.58-.24.23-.35.56-.18 1.11-2.97-2.97-1.74-8.97-4.06-11.33.21-1.16.6-.63-.24-1.67.95-.93 1.7.14 2.49 1.12-.06-.37-.14-.73-.24-1.11.83.14.66-.03 1.06-.66-.55-1.03-1.07 1.25-1.7.16.5-.67-1.22-2.55-.76-4.3-.21-.43-.41.09-.37.45-.73-.34.35-1.36-.19-2.38-.15.3-.18.69-.18 1.1-.75 0 .02-.75-.38-1.28-.22.08-.06.45-.04.71-.64.07-.68-1.57-1.25-1.71.31-.64.66-1.99-.42-2.31-.19-4.51-1.47-9.14-2.7-13.49l.69-.21c-1.77-2.82-2.07-5.79-3.08-8.83 2.37 1.76 2.22 6.03 3.5 9.4.7 1.86 2.07 3.13 2.28 5.24-.82.57-.66-1.64-1.25-1.71-.25.31.36.82.24 1.67 3.3 2.56 3.47 9.18 5.04 13.82 1.28 3.8 3.29 6.78 3.82 9.65-.17.28-.02.81-.5.85.95.92.56 2.45 1.13 3.85-.63.66-.69-.19-.09 1.42-.61-.47-.59.14-1.15.35-.41-.82.3-.76.41-1.17-.49-.36-.93-.88-1.52-.93-.03-.69.48-.95.54-1.57-.26-.63-.81-.44-1.06-1.07-.58.87.79 3.01-.02 4.18 1.54 1.81 3.37 1.18 4.39 3.91.5-.35.15-1.36.12-2.13 1.82 2.04 1.15 4.81 2.79 6.13-.1.5.13 1.26-.31 1.49.42.86 1.92 2.55 1.17 3.14.2.6.82-.01.97.75-.87 2.58 2.5 6.28 2.07 8.79 1.49 1.27 2.39 5.16 2.42 6.59 2.26 1.18 3.26 7.31 2.91 9.93.82 2.44 1.34 2.01 2 4.28-.13-.71.27-2.24-.2-2.38.87-.21 1.18 1.36 1.82 3.63-.01-.04-.29-.21-.39-.46.61 3.37 5 9.06 3.21 13.56-.35-1.34-.78-2.46-1.39-3.07.59.64.56 4.59 2.09 4.6.41.97.1 1.4-.21 1.81-.57.05-1.14.12-1.3-1-.59.04.56 1.42-.41 1.17zm.33.25c1.12-.29 1.47 1.67 1.95 3.24-1.24.12-1.64-2-1.95-3.24zm3.66 4.82c-.27-.23-.46-.65-.61-1.21 1.16-.32 1.5 5.03.61 1.21zm92.12 142.27c.47.2.65 1.28 1.021 1.78-.42.08-.37.54-.83.6-.6-1.21.41-1.17-.19-2.38zm-.16 4.58c.41-.18-.18-1.13.08-1.42.73-.17 1.02 1.82.34 1.99.73.77.94.77 1.79.16-.82 3.11-2.35 1.61-3.14-2.19-.26.38-.03 1.13.01 1.74-.68.37-.6-1.42-1.16-1.39-.05-.46.5-.44.83-.6-1.15-3.04-1.33-3.24-2.43-6.59.75-.69-.47-1.63.26-2.52-.46-.81-.23 1.13-.92.28-.47-2.31.22-2.28-.85-4.63-.67.15.89 2.01-.22 1.81-.07-1.59-.61-2.69-1.35-3.77.5-.27.89-.22 1.24-.03-.18-.87-.63-.96-1.2-.68-.72-1.56-.15-2.1.17-2.85 2.2 1.19 2.13 7.48 3.96 9.27.53 3.99 1.7 7.38 2.59 11.42zm3.15 13.35c.26-1.61-1.47-2.3-1.45-4.1.6.06.93.88 1.53.93-.57.64.78 2.76-.08 3.17zm-6.7-6.69c-.58.29-.79-.49-1.07-1.07.63-.17 1.32.4 1.07 1.07zm-3.51-11.14c-.7-.28-.73-.98-.8-1.85 1.03-.35.19.99.8 1.85zm-.7-9.21c.59.08.62 1.77.98 2.49-1.29-.24-.67-1.15-.98-2.49zm2.48-28.32c-1.18-.1-.7-1.47-1.44-2.35.81-.18.93 1.64 1.44 2.35zm-1.85-10.6c.08.65.311 1.41-.32 1.5-.12-.43-.25-.86-.37-1.29.229-.07.45-.14.689-.21zm-1.35-2.03c.26.78.49 1.53.33 1.99-.6.14-.77-.93-1.02-1.78zm.91 7.4c-1.71-.51-3.07-6.99-4.24-10.23 1.81 2.1 3.1 8.09 4.24 10.23zm-4.97 77.92c-.26-.14-.52-.27-.46.13-.35.03-.36-.93-.74-.82-.1-.58.18-.85.73-.92.16.54.32 1.07.47 1.61zm-1.4-4.81c-.07-.53.48.15.36-.46 1.23.32.84 2.71 1.13 3.84-1.31-.03-.59-2.96-1.49-3.38zm0-26.52c.33-.07.66-.14.59-.53 2.06 3.29 3.02 9.13 3.98 12.75.47.74.94-.57.64-1.24.74.13.33 1.38.56 1.92-.4.17-.6-.24-1.01-.04-.48.3.36 1.61.42 2.31-3.5-3.69-3.08-8.62-5.18-15.17zm9.53 27.46c-.67-.54.29-1.23-.2-2.38-.22.07-.06.44-.04.71-.35.03-.36-.93-.74-.82-.43.49.5 2.04.61 2.95-1.47-1.03-2.1-4.4-3.06-5.35.34-.64 1.18-.6 1.37-.42.69-.52-.18-.72.09-1.42-.56-.81-.18 1.15-.96.99-.74-2.46-.6-3.1-1.68-4.03.04-1.12.39-.06-.33-1.99 1.54-.64.93 1.96 1.76 2.61.65-1.37-2.08-3.91-.53-4.38.92 4.08 4.09 8.6 3.71 13.53zm.17-18.2c.22-1.53 1.09-2.06 1.94-.23-.21-.01-.33-.26-.55-.18 1.16 4.08 1.61 4.43 3.02 7.8-2 2-3.6-5.61-4.41-7.39zm3.93-5.38c.57-.06 1.01.25 1.71-.16.34 1.82.05 2.74.16 4.83-1.32-.77-.92-2.83-1.87-4.67zm2.83 11.36c-.51.26-.53-.85-.98-.76-.26-1.14 1.09.55.83-.59.79.1.21 1.11.15 1.35zm1.27 6.94c.5-1.9-1.14-3.79-.95-6.69 1.24 2.2 2.45 7.7.95 6.69zm1.12 2.1c.78.11.2-.84.08-1.42 1.21 1.94 1.96 6.84 3.55 10.43-2.43-1.68-2.22-5.74-3.63-9.01zm4.6 9.76c-.25-1.89-.55-2.28-.99-4.23-.57 2.14-1.92-3.8-1.31-4.49 1.86 2.75 1.86 7.25 3.64 9.02-.65.49-.86-.29-1.34-.3zm2.35.34c-.88-.01-.59-1.04-.47-1.6.57-.08.55 1.36.47 1.6zm.59-2.27c-.74.14-.85-1.48-1.21-2.43-.33.07-.66.15-.6.53-1.38-3-2.4-8.77-5.08-13.11-.05-1.11-.05-2.18.4-2.91-.47-.88-.69.42-1.15.35-.42-.76.47-1.75-.33-1.99-.07-1 .24-.47.82-.6-.82-1.52-1.44-2.62-1.58-3.71-.87-.09-.07 1.11.01 1.75-1.1-.77-1.45-3.12-1.22-4.17.81-.51 1.95 1.04 1.51-.81 1.22 1.17.72 5.31 1.92 5.7-.15-2.6-2.22-6.68-1.19-8.36 2 3.11 1.5 6.37 2.9 9.93-.25.07-.49.15-.73.22 2.04 4.83 4.05 11.06 4.78 17.04.16.33.52.08.65.5.14.77.11 1.41.1 2.07z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1551.112 1434.343c.087-1.65-.976-3.397-1.729-5.057 1.152-.047-.558-.735.179-1.1 1.095.469 1.202 4.999 2.697 5.81.284-.195-.044-.862-.145-1.353.446-.554.883 2.704.063 2.769-.36-1.255-.412-1.895-1.065-1.069zm41.944-72.055c-.658.348-1.945-3.678-1.116-2.102.268 1.003.991.693 1.116 2.102zm-.919.28c.847.513.635 2.294.937 3.205-.726-.42-.239-1.987-.937-3.205zm-51.365 65.495c.436.513.646 2.968.988 4.235-.763-.771-.809-3.097-.988-4.235zm56.294-11.869c-.081-.644-.496-1.11-.415-.571-.667-1.627-.138-2.117 1.054-.67.121.321-.801.949.051 1.032.041.505-.329-.038-.69.209zm3.188 10.894c.277-.018.222.282.093.321.372.308.826.384.928 1.46-.596-.01-1.315-.948-1.021-1.781zm-54.192 18.208c1.013.673.772 1.942.937 3.205-.527-.267-.318-2.047-.937-3.205zm8.565 36.124-.188-.641c.212.003.181-.191.137-.391.55.778 1.223 1.212 1.668 2.286-.727.311-.571-1.318-1.616-1.254zm6.225 20.433c-.67-.67-1 1.04-1.56-.22.21-2.28-2.27-5.2-1.19-6.61.94.95.561 4.82 2.51 5.16-.52-1.83-1.71-3.89-1.13-5.58-.33-.25-.65-.5-.97-.76.06-1.3.5.14.59-.52-.76-.43-.42-3.27-.92-1.47.01-2.95-.49-5.34-1.79-7.83.59 2.17.08 2.5.11 3.81-1.29-1.99.01-3.71-1.41-4.81.09.52-.44.37-.69.21.25.85.68 1.85.11 2.06-.53-.23-.23-2.82-1.31-2.74 2.67 7.97 4.29 14.4 6.56 22.43.19-.6-.13-1.59.13-2.14.13.24.19.64.42.58-.02-.27-.18-.64.04-.72.13 1.25 1.16 2.92 1.35 2.04-.92-.31-.8-1.9-.85-2.89zm-3.24-11.92c-.48-.18-.8-.85-1.02-1.78.71-.32 1.25 1.15 1.02 1.78zm7.223-9.522c.519-.112.497 1.331.793 1.854-.262-.135-.524-.262-.459.14-.534-.04-.024-1.311-.334-1.994zm1.729 22.154c.656.888 1.915 2.446 1.675 4.025-.71-.904-1.063-2.843-1.675-4.025zm-.724 2.663c-.054-.459.498-.442.825-.601.165.874 1.708 2.567.29 2.704-.133-1.077.251-2.522-1.115-2.103zm-1.72 13.779c.283-.029.386-.193.365-.461 1.015.917.942 2.374.802 3.595-.704-.618-.406-2.028-1.167-3.135zm7.7 3.241c-.195-.563.083-.76-.147-1.35 1.046.481.835 1.064 1.442 2.355-.066.89-.64-1.644-1.294-1.006zm1.381 9.001c1.107 1.072 1.122 3.924 2.514 5.17-1.567-.56-1.79-3.397-2.514-5.17zm-.345 3.944c-.427 0-.361.382-.276.779-.557.074-.778-.694-.602-1.208.464-.24 2.045.868 1.062 1.071l-.185-.641zm.082 15.673c1.063.088.438 1.598.749 2.564-.61-.171-.131-1.563-.749-2.564zm141.555 32.717c-.38.26-.17.99-.27 1.47-.71-.41.25-1.61-.62-2.96-.13-.36.05-.1.36.35l.02.04zm.98 3.18c-1 .87-.49-1.36-.84-2.88l.55 1.22v.01c-.15.62-.16 1.39.29 1.65zm-1.166 6.282c-.073-.634-.875-1.834-.008-1.739.294 1.955 1.689 1.902 1.981.79.296.137.453.666.878.434-.418 1.426-1.744.354-2.852.514zm4.122 4.68c-.772-.076-1.108 1.425-1.514.811-.132-1.157.964-.375 1.324-1.452.078.571.357.552.647.502.054 2.132 1.106 2.602 1.5 5.127-.485-.169-.922-.941-.697-1.531-.709.972-1.009-.973-2.034-1.822.382-.116.765-.236 1.149-.351-.127-.427-.251-.855-.375-1.283zm4.841 28.535c-.296-.685-1.248-4.546.177-1.104-.143.301-.175.691-.177 1.104zm2.045 3.563c-.605-1.021-1.246-1.933-1.586-3.703.766.595.763-.668 1.191-1.062.406.769.652 2.279.063 2.773.339.421.316-.193 1.009.042-.192.505.129 1.609.564 1.922-.119.688-.741-1.167-1.24.029zm-.162 2.29-.93.08c-.17-.71-.3-1.58-.6-1.95.44.37.97 1.04 1.53 1.87z\"\n }))), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2227.87 1816.119a160.623 160.623 0 0 1-.264 3.545c-6.232 73.143-66.813 129.83-140.155 132.949-8.193.348-15.779.552-22.407 1.082l-176.813 2.314s-66.572-137.084-144.156-307.616c-112.925-248.177-251.984-553.007-254.184-553.826-154.788-57.411-116.474-321.924-43.183-404.862 0 0 205.61-6.188 259.128 22.57 72.099 38.742 104.309 121.177 131.173 180.249 87.298 191.963 271.647 607.733 376.8 845.344 11.331 25.604 15.714 52.344 14.061 78.251z\",\n fill: \"#fdc93a\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2224.547 1806.693c-.091 54.65-19.748 88.511-49.644 110.869-36.009 26.938-81.617 33.873-109.86 36.133-6.006.47-11.194.667-15.32.698l-866.483-.349v-283.173l560.833-33.096 237.241-14c117.748-52.253 243.307 81.9 243.232 182.918z\",\n fill: \"#fdc93a\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1754.197 1609.261a5 5 0 0 1-2.051-9.561l82.433-37.038a4.996 4.996 0 0 1 6.609 2.512 4.998 4.998 0 0 1-2.512 6.609l-82.433 37.038a4.978 4.978 0 0 1-2.046.44zm-18.009 26.848a5.003 5.003 0 0 1-4.552-2.925l-187.665-411.119a5.001 5.001 0 0 1 9.098-4.153l187.665 411.119a5.001 5.001 0 0 1-4.546 7.077z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1183.445 1955.402a5 5 0 0 1-5-5v-266.187a5 5 0 0 1 4.546-4.979l596.694-54.367c2.755-.235 5.184 1.775 5.434 4.525s-1.775 5.183-4.525 5.434l-592.148 53.953v261.621a5 5 0 0 1-5 5zm306.449-855.834a4.998 4.998 0 0 1-4.485-2.784c-2.194-4.435-4.417-8.893-6.651-13.376-27.229-54.622-55.385-111.103-58.942-175.097-4.269-76.79 16.513-138.045 63.531-187.264a4.999 4.999 0 1 1 7.23 6.907c-45.003 47.11-64.884 105.924-60.777 179.802 3.443 61.934 31.131 117.477 57.907 171.19 2.239 4.492 4.467 8.959 6.665 13.403a5 5 0 0 1-4.478 7.219z\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M980.247 847.582s-152.026-114.32-207.925-136.31c0 0 4.813-83.705 81.581-129.746 64.863-38.901 307.904-58.904 389.687-64.173 33.712-2.172 67.569 3.292 98.563 16.728 47.914 20.769 101.151 65.172 101.151 159.954 0 0-151.828 30.278-463.057 153.546z\",\n fill: \"#fdc93a\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1106.901 269.327-7.227 115.781s1.78 11.26-.284 36.508c-2.008 24.557-11.282 37.552-11.282 37.552l7.309 27.052c88.502-101.242 110.048-226.409 47.791-335.202-44.995-78.628-141.225-113.197-141.225-113.197-32.929-33.762-113.782-48.903-126.84-28.773-12.317 19.739 53.21 36.328 53.21 36.328S871.421 26.44 810.466 31.105c-64.7 4.743-165.023 9.035-167.192 48.036-1.19 49.843 101.101 33.814 101.101 33.814-51.867 9.341-181.008 83.997-131.74 111.045 60.698 36.169 304.798-75.386 304.798-75.386 100.097 163.062 189.08 119.972 189.47 120.713z\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M943.433 588.865c-257.874 129.782-366.372-422.231-51.63-493.539 143.973-32.619 218.331 99.653 207.882 169.775 12.065-5.135 59.523-7.942 76.494 43.111 11.499 34.589 2.347 87.672-70.125 120.648l119.139 310.375-133.942 82.554-88.936-46.633-58.826-185.799a10.543 10.543 0 0 1-.059-.492h.002z\",\n fill: \"#e59673\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1043.923 345.806c-11.173-33.973 34.689-104.404 105.057-74.8-14.031-130.082-148.766-199.069-257.761-178.814-83.397 15.498-146.19 84.638-159.084 126.008 12.478-5.12 106.175-15.296 137.186-25.166 37.819 35.23 104.001 63.922 139.984 66.532-5.226 12.804-3.167 64.821 12.563 90.342 0 0 2.806 1.461 22.057-4.099zm-85.755 289.91c26.707-24.862 49.988-70.792 42.922-108.819 0 0-12.779 19.918-18.094 25.708-19.515 21.261-39.707 36.333-39.707 36.333l14.879 46.779z\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M761.764 279.522a5.002 5.002 0 0 1-.88-9.922c.207-.047.98-.292 1.441-.439a46.838 46.838 0 0 1 1.372-.42c30.665-9.848 57.85-12.136 83.106-6.993a5 5 0 0 1 3.901 5.897 4.995 4.995 0 0 1-5.897 3.902c-23.553-4.795-49.119-2.59-78.148 6.746a4.854 4.854 0 0 1-.235.069c-.271.073-.659.199-1.069.329-1.162.37-1.978.621-2.699.751-.3.054-.598.08-.892.08z\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M746.588 377.978c-9.599-45.994 11.361-73.67 46.026-81.427 23.485-5.264 53.248-1.37 84.057 12.171-3.44 39.637-35.613 81.55-82.455 82.104-14.579.184-30.608-3.669-47.631-12.848h.002z\",\n fill: \"#fff\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M746.586 377.978c-9.599-45.994 11.361-73.671 46.026-81.427 9.364 7.444 16.638 17.703 20.385 29.997 7.309 23.983-.856 48.99-18.781 64.278-14.579.184-30.608-3.669-47.631-12.848z\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m704.606 422.941-49.176-51.975 46.05-5.52z\",\n fill: \"#e59673\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1075.673 435.916s33.632 12.099 50.53 45.435c-1.817-15.891 3.147-38.431 13.413-57.415 5.934-10.973 11.297-24.606 11.297-24.606s-15.113 16.427-43.723 28.442c-7.503 3.151-31.517 8.144-31.517 8.144zm-276.268 74.887c-4.353 4.172-10.858 10.223-15.953 9.23-14.9-2.89-26.13-17.95-27.32-41.93 11.99 4.37 24.99 5.11 37.7 3.53.737-.091.511 2.648.511 2.648s7.115.343 9.075 1.939c8.507 6.926 8.186 12.89-4.013 24.583z\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M846.263 462.444c-17.81 44.56-43.41 61.37-62.81 57.59-.24-4.29-.04-8.67.64-13.09 1.43-9.35 4.84-17.91 9.74-25.311 19.8-2.439 38.9-10.5 52.43-19.189z\",\n fill: \"#f36a8d\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1075.764 381.796a5 5 0 0 1-4.971-5.593c7.145-59.924 55.575-86.097 57.634-87.182a5 5 0 0 1 4.668 8.844c-.529.282-45.87 24.988-52.372 79.521a5.002 5.002 0 0 1-4.959 4.409z\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1121.788 379.182a4.98 4.98 0 0 1-3.402-1.337l-34.493-32.043a5 5 0 0 1 6.806-7.326l34.493 32.043a5 5 0 0 1-3.404 8.663z\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m890.22 699.009 104.956 67.331 286.412-179.439-12.571 234.887-222.353 158.425z\",\n fill: \"#fdc93a\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1022.057 800.171a4.99 4.99 0 0 1-3.802-1.75L914.057 676.573a4.999 4.999 0 0 1 .55-7.049 5.002 5.002 0 0 1 7.05.55l104.198 121.848a4.999 4.999 0 0 1-3.798 8.249z\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M998.357 767.633a4.999 4.999 0 0 1-2.634-9.253l207.863-128.51a4.999 4.999 0 1 1 5.258 8.506l-207.863 128.51a4.976 4.976 0 0 1-2.624.748z\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M989.691 897.524c-.775 0-1.546-.18-2.248-.534-1.184-.596-29.472-14.953-71.298-46.207-38.52-28.783-96.096-77.892-151.633-148.385a5 5 0 0 1 7.855-6.189c54.782 69.535 111.553 117.987 149.53 146.389 35.612 26.632 61.804 41.094 68.416 44.609 11.239-2.881 73.214-19.224 153.675-49.244 81.703-30.483 199.729-81.708 298.016-152.627a5 5 0 0 1 5.851 8.109c-99.23 71.6-218.188 123.231-300.506 153.937-89.146 33.252-155.798 49.832-156.461 49.995a5.023 5.023 0 0 1-1.198.146z\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M943.488 1129.974c-5.481 0-9.949-4.418-9.998-9.911l-2.933-330.484c-.049-5.523 4.389-10.04 9.911-10.088h.091c5.481 0 9.949 4.418 9.998 9.911l2.933 330.484c.049 5.523-4.389 10.04-9.911 10.088h-.091zm162.379-3.582c-5.407 0-9.856-4.314-9.992-9.751l-8.05-323.113c-.138-5.521 4.227-10.108 9.748-10.246 5.517-.144 10.108 4.227 10.246 9.748l8.05 323.113c.138 5.521-4.227 10.108-9.748 10.246l-.254.003z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(138.0 556.8) rotate(0.0 637.8 589.8) scale(0.6223750565972926 0.6223662474470374)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 2049.568,\n height: 1895.347,\n viewBox: \"0 0 2049.568 1895.347\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m882.689 419.851 13.318 264.583 154.595-27.484-7.971-197.17z\",\n fill: \"#f7ada1\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1046.142 546.614c-87.283 1.731-128.284-82.468-128.284-82.468l125.573 8.403zM537.251 1553.363l22.002 341.95h844.504l24.412-366.096z\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1464.308 910.391 1.981 393.684-6.84 415.845-965.978 3.055.605-246.523 54.663-769.203c96.984-27.014 305.835-62.384 305.835-62.384l247.816-27.7 252.778-25.751c59.018-4.353 119.016 16.308 165.005 39.485 33.885 17.079 62.492 42.652 83.241 78.266.016.015.03.046.046.061 4.505 7.751-139.151 201.166-139.151 201.166z\",\n fill: \"#7083d9\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1102.39 617.165c-.563 2.792-15.742 80.232-115.515 95.098-114.827 17.109-132.301-67.398-132.301-67.398l25.619-4.82-1.242-55.388 185.653-20.132 2.854 56.49 34.933-3.851zM0 1710.465c0 43.304 15.487 86.078 45.125 119.842 61.658 70.288 154.626 81.823 259.038 14.41l301.857-604.896 7.905-545.71c-94.263 10.79-188.919 19.108-243.164 127.108L41.302 1577.033S0 1661.91 0 1710.465z\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m480.123 1492.104 141.988-254.07 40.936-557.328s-113.483 20.314-145.507 27.13c-64.152 13.654-124.501 41.342-160.684 113.381l-247.052 539.936z\",\n fill: \"#7083d9\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m496.294 1437.281-.265 26.363-15.905 28.457-5.44-1.92-4.94-1.75m-2.29-.81-2.63-.93m-11.14-3.94-6.26-2.21m16.81 5.94-8.45-2.99m40.5-46.77-.03-1.45-2.84-147.85-.08-3.94m-.53-27.78.25 12.75.27 14.06m-46.6 197.78-96.23-34.02-13.79-4.88 15.4-42.04 138.71-247.33.14 7.43 1.81 93.97\",\n fill: \"none\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M489.76 1161.398c.405.505-.428 1.783-1.171 1.169.188-.821 1.134-.019 1.171-1.169zm-32.055 58.985c.432.49.666 1.083.641 1.798-.371.013-.231-1.104-.596-.47-.269-.316-.284-.76-.045-1.328zm-6.235 2.558c.14.187.283.372.599.471-1.15.925-.83 1.193-1.29 2.966-.825-.982-.044-2.582.691-3.437zm7.896 4.326c.587.606-.248 1.929-.528 2.97-.372-.807.155-1.496.528-2.97zm-9.205-.58c1.386.342-.834 1.432.271 1.409.547.22-.223.792-.471.624-.948 3.317-.902.856-.146-.314.074-.229-.212-.275-.369-.391.083-.774.632-.552.715-1.327zm-1.717 4.919c.636.261.072 1.123-.122 1.798-.381-.387-.172-1.071.122-1.798zm-.963 2.03c.745.139.547.753.268 1.408-.419-.304-.731-.661-.268-1.408zm-.122 1.798c1.104.372-2.24 2.728-.219 2.812-.421.231-1.225.269-1.442-.238.748-1.285.944-1.224 1.661-2.574zm-2.177 11.327c.482.207.279.76.042 1.327-.749-.07-.742-.525-1.279-.705.352-.342.969-.096 1.237-.622zm2.46 5.322c.242.394.943.556.578 1.255-.496-.265-1.008-.522-.578-1.255zm-1.064 3.045c.692.232.278 1.02.188 1.643-.691-.232-.278-1.018-.188-1.643zm-4.206 6.944c.377.842-.993 1.397-1.123 2.498-.381-.847.74-1.94 1.123-2.498zm36.359 37.097c.132-.261.481-.054.762.004-.07.815-.613.599-.863 1.013-.775-.34.771-.894.101-1.017zm-4.052 3.582c.13.469.632 1.051.045 1.33-.226-.079-.453-.157-.68-.238.118-.568.352-.886.635-1.092zm2.5 3.761c.349-.099-.138 1.863-.447 2.735-.376-.649.081-1.714.447-2.735zm-48.413-14.236c-.249.696-.868.592-1.171 1.169-.345-.382.611-1.389 1.171-1.169zm43.686 17.581c.445.547 1.032 1.025.561 2.035-.305-.619-.767-1.16-.561-2.035zm.439 3.832c.445.228-.091.948.354 1.173-.029.215-.166.19-.309.156-.178-.11-.246.017-.308.156-.366-.351-.254-1.241.262-1.485zm-48.16-12.047.679.236c-.479.488-1.549 4.804-.799 1.561-.014-.573-.309-1.004.12-1.797zm-8.488-1.907c.518.522.011 1.427-.427 1.953-.451-.351.37-1.345.427-1.953zm54.118 24.106c.861.367-.389 2.518-.755 2.889-.195-.487 1.053-1.984.755-2.889zm-56.31-18.564c-.064.714.566 1.444-.264 1.486-.318-.671-.539-1.167.264-1.486zm-1.56 1.56.681.237c-.39.255-.563.979-1.236.62.117-.428.452-.396.555-.857zm8.272 7.609c.841-.713.024.998.66 1.02-.198.392-.576.397-1.068.153-.094-.684 1.002-.74.408-1.173zm-8.632-2.217c.927.385-.393.796-.038 1.563l-.682-.237c.088-.774.634-.552.72-1.325zm2.085 2.039c.714-.532-.725 1.638.499 1.488-.85.99-1.182-.547-.499-1.488zm-4.527 1.313c.218.082.075.348.063.548-.052.28.181.208.227.079.281.18-.018.654-.101 1.013-.86-.144-.449-.931-.189-1.64zm2.708 4.623c.303.104.603.21.904.314-.418.194-.579.941-.798 1.563-.734-.277-.114-1.231-.107-1.877zm-7.032 4.117c.035.882.131 1.734.086 2.656-.628-.582-.563-1.515-.086-2.656zm-7.962 23.501c.304.105.607.212.908.315-.574-.294-1.464 1.049-.472.625.627.611-.67.408-.637 1.091-.262-.511-.12-1.224.201-2.031zm-4.421 12.648c.384.386.176 1.071-.12 1.797-.088-.738-.48-1.187.12-1.797zm3.742 6.034c.152.212.305.42.452.157.286.69-.634.266-.493 1.405-.569-.228-.176-.94.041-1.561zm-2.739-.168c.33.48-.419 2.083-.821 2.342-.329-.48.42-2.085.821-2.342zm2.618 1.964c-.007.791-.52 1.5-.902 2.577-.345-.597.605-1.849.367-2.5.253.129.422.087.535-.077zm-12.851 8.396c.431.775-.856 1.295-.508 2.188-1.271-.466.257-1.422.508-2.188zm2.268.79c.834-.034-.092.82.742.786-.119.563-.745.029-.924.466-.686-.48.039-.476.182-1.251zm-3.873-.559c-.418.189-.524 1.058-.943 1.248-.384-.698-.006-1.57.943-1.248zm2.398 4.776c.351.879-.228 3.312-1 3.592-.391-.317-.385-.836-.27-1.406.26 1.17 1.589-1.698.264-1.486.15-.641.946.123 1.006-.7zm-1.586 8.906c.227.079.455.158.681.239-.066.954-.979.073-1.091.931-.51-.245.231-1.074.41-1.17zm-3.74 3.425c1.142.623-.343 1.365-.056 2.345-.717-.409.264-1.675.056-2.345zm-5.233-1.033.682.237c-.576-.009-.356 1.694-1.172 1.168l.49-1.405zm118.65 55.516c.557.294.114 1.24-.056 2.345-.354-.22-.492.032-.618.309-.195-.699.837-1.605.674-2.654zm-128.482-42.651c.331.474-.379 1.478-.202 2.031-.726-.445-.177-1.529.202-2.031zm120.051 66.775c.393.317.387.836.272 1.409-.996-.015-.481-.787-.272-1.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M435.603 1274.161c.45.74-.62 1.66-.82 2.35-.39-.62.52-1.88.82-2.35zm-4.03 12.26c-.33.76-.81-.63-.97-.16.09-.61.67-1.45 1.03-2.18.94.29-.6 1.84-.06 2.34zm-45.93 100.13c.77.21.57 1.65-.4 1.17-.19-.41.01-.96.4-1.17zm.1 8.44c-.35-.21-.49.04-.61.31-.4-.66.97-.63.57-1.63.25.13.42.08.53-.08.29.69-.63.27-.49 1.4zm-15.73 17.38c.23.45.22 1.44-.35 1.72-.47-.28.32-1.19.35-1.72zm-8.39 6.54c.45.34.37 1.36-.04 1.56-.31-.35-.24-.91.04-1.56zm-1.83.15c.94.12.48 1.42-.33.93.12-.31.22-.62.33-.93zm-.81 5.23c.46-1.17 1.61-1.74 1.52-2.88.4-.09.94.12 1-.7.59 1.67-1.31 3.38-1.41 4.76-.15-.5-.52-.89-1.11-1.18zm10.71 1.37c.14.25.42.43.82.55-.08.78-.78.23-.86 1.01-.57-.22-.17-.94.04-1.56zm-1.91 12.73c-.42-.11-.38-.45-.82-.55.7-.33.24-.94.57-1.64.87.34.47 1.31.25 2.19zm1.05-2.26c-.48-.43-.46-.25-1.28-.71 1.11-.83 2.35-2.92 1.53-3.66.2-.4.58-.4 1.08-.16.04-.75-.25-.38-.83-.55.34-.64 1.17-.21 1.54-.77-.01 2.2-1.88 3.3-2.04 5.85zm1.81-5.93c-.22-1.15.9-1.83.84-3.13.23.08.46.16.68.24.13 1.33-.77 1.68-1.52 2.89zm4.51-3.43c.87-.52.97-1.12 1.41-1.87.26.58-.36 2.75-1.41 1.87zm2.5-5.69c.24-.41.91.1.99-.66.05.09.1.18.16.27-.32.27-.5.84-1.15.39zm1.65-3.11c.15-.46-.35-.98.27-.95-.01.37-.12.67-.27.95zm13.23-35.85c.43.17-.48.81-.63 1.09-.82-.57.17-.98.63-1.09zm-3.19-.32c-.49-.32-.62-1.24.04-1.57.32.36.24.91-.04 1.57zm1.23-3.52c.23.65.02 1.22-.35 1.72-.8-.54.25-.81.35-1.72zm-.43 11.41c-.1-.33-.08-.73.18-1.24.75.13.38.83.89 1.09-.26.26-.64.27-1.07.15zm2.34-2.33c-.23.03-.47.06-.61.31-.58-.23-.01-1.03-.59-1.25.14-.26.28-.06.23.07.58.28.5-.84 1.15-.38-.29.53.24.65-.18 1.25zm.27-1.49c-.75-.18-.47-1.31.03-1.56.57.23.18.94-.03 1.56zm4.85-11.71c-.71-.34.1-2.21.88-1.79-.66.72-.36 1.15-.88 1.79zm1.77-3.58c-.68-.36-.26-1.9.28-2.27.39.06.31.36.6.47-.22.77-.75.85-.88 1.8zm10.98-22.71c-.37-.35-.25-1.25.27-1.49.91.08-.02 1.38-.27 1.49zm.66-1.88c-.63-.78.48-2.43.77-3.67.32.57.5-.02.82.55-1 1.33-1.14 1.72-1.59 3.12zm12.1-30.99c-.84-.11-.53-1.1-.05-1.33.85.03.1.85.05 1.33zm5.77-15.07c-.11-1.4.52-2.61 1.31-3.74-.18 1.25-.47 2.39-1.31 3.74zm4.54-14.44c-.46.48-.76-2.29.58-1.64-.3.49-.87 1.04-.58 1.64zm4.89-6.71c.08-.77.53-.77.72-1.32.44.36.19 1.83-.72 1.32zm13.88-25.9c-.34-.79-.48-2.5.39-3.28.69 1.09-.22 1.8-.39 3.28zm6.61 221.16c.55.46-.41.97-.49 1.4-.42-.11-.38-.45-.83-.54-.54-.08-.49 1.12-.8 1.55-1.08-3.95 1.74-6.59 3.25-11.47.32.13.63.26.76 0 .08 2.97-2.04 6.85-3.04 9.45.02.66 1.07.16 1.15-.39zm29.07-307.25c.68-.78.3 2.23-.57 1.63.19-.34.71-1.21.57-1.63zm-3.26 5.69c.54-.04.04 1.35.52.71.24.28-.23 2.48-.96 2.03.6-1.15.37-1.87.44-2.74zm-5.6 117.86c-.24.68-1.47.1-1.66-.32.51-.82.97.15 1.66.32zm-.47.62c.25.13.05.49-.02.78-.57-.41-.7.13-1.21-.16.22-.62.84-.38 1.23-.62zm-13.4 185.29c-.16-.11-.14-.31-.37-.39-1.06 2.97-.86 3.4-1.36 6.09-2.68.12-.22-5.12 0-6.57.95-.77 1.93-.63 1.73.87zm-.18-1.64c-.63-.14-.42-.7-.36-1.18.61.23.9.92.36 1.18zm1.11 7.74c-.56-.11-.02-.76-.44-.94.35-.8.64.88.99.08.61.47-.38.76-.55.86zm1.12-147.26c1.09.41.39 1.73.01 2.89-1.09-.57-.37-2.02-.01-2.89zm.75 3.67c1.12.42-1.26 3.69-.1 1.02-.11-.27-.06-.61.1-1.02zm-.35 127.57c-.44-.52-.11-.95.27-1.48 1.03.33-.35.67-.27 1.48zm-.38 15.63c1.03-.79-.07-2.09.84-3.12.47.34.34.99.81 1.33-.79.08-.72 2-1.65 1.79zm1.4-3.98c-.72-1.13.64-2.11.77-3.67.51.26.72.67 1.51.79-.63 1.23-1.32 1.62-2.28 2.88zm5.03-6.39c-.4-.17-.58.12-.99-.08.1-1.01.92-.47 1.02-1.48.3.36-.1 1.08-.03 1.56zm1.16-6.95c-1.55 2.59-2.27 5.15-3.55 7.96.43.11.42-.75.78-.78.7.28-.06 1.58-.72 1.32.23.83.41.94 1.43 1.03-2.24 1.37-2.77-.29-1.53-2.9-.41.08-.59.64-.86 1.01-.76-.14.2-1.13-.28-1.41.19-.29.64.01.99.08.57-2.35.52-2.56 1.27-5.07.97-.01.42-1.19 1.48-1.33.02-.71-.76.54-.91-.31.76-1.58 1.32-1.21 1.6-3.12-.63-.27-.26 1.62-1.09.93.74-.95.83-1.88.76-2.89.55.11.85.34 1.05.63.28-.59-.05-.88-.66-1.02.17-1.27.92-1.29 1.56-1.56 1.25 1.84-1.96 5.44-1.32 7.43zm-3.18-4c.45.35-.37 1.34-.43 1.95-.96-.81.02-1.01.43-1.95zm2.55-133.9c.73-1.65.56-2.85 1.02-4.37.3 2.24-.01 3.18-.36 5.39-.4-.24.36-1.07-.66-1.02zm8.72-23.49c-.78-.52.17-1 .35-1.72.73.39-.05 1.25-.35 1.72zm-.36-13.53.33-.93c.63.14.63.58.36 1.17l-.69-.24zm.7-3.43c.33 1.02-.76 1.7-.98 2.81-.86.06-.48-.47-.79.78-.28-.59-.55-.23-1.13-.4.07-.68.63-.29.93-.46-.24-.47-.34-.99-.81-1.33.32-.42.88-.3 1.24-.63.09-.5-.46-.67-.36-1.17-.91.21-.84 2.16-2.1 2.42.39 1.84 2.23 2.44 1.71 4.54.59.05.81-.71 1.17-1.17.5 2.12-1.45 3.38-.74 5-.33.23-.51.79-1 .7-.08.71.33 2.47-.59 2.42-.13.45.69.42.43.94-2.01 1.04-1.04 4.94-2.66 6.16.61 1.52-.58 4.24-1.27 5.08 1.29 1.85-.93 5.92-2.54 7.26-.53 1.84.12 1.86-.46 3.52.24-.48 1.35-1.16 1.02-1.48.83.33.31 1.39-.3 3.03 0-.05-.16-.34-.06-.54-1.22 2.24-.34 7.91-4.12 9.6.37-.95.57-1.82.37-2.49.17.67-1.83 2.94-.55 3.74-.15.78-.62.86-1.09.94-.5-.26-1.01-.52-.58-1.25-.51-.28-.25 1.11-.92.46.49-1.53 1.38-2.22 1.84-3.82-.65.36-1.19 1.28-1.74 2.81-.01-3.84.57-6.1 2.36-9.69-1.04-.34-1.24 1.16-2.16 1.09 1.36-2.32.55-4.49 1.6-6.01l.45.15c.52.06.32.49.21.86.82-.18.3-1.29-.58-1.25.26-.77.02-1.3.51-2.18.48.2.28.75.04 1.32 1.21-.36.6-2.42.55-3.75-.06-.95.82.13.93-.46-.13-1.08 1.5-6.16 2.68-6.95-.08-.71-.21-.9-.97-.86.16-.89.54-1.29 1.17-1.17-.82-1.3.61-2.42 1.45-3.44.27-.83-.92.24-.59-.47.19-.6.27-.22.53-.07.32-.87-.73-1.05-.02-2.11.49.39 1.1.72 1.96.94.15-.52-.93-.43-1.28-.71.13-1.08.95-.68 1.25-1.4-1.11 0-2.12-2.09-.25-2.19-.11.87-.6.9-.94 1.25.57.17.85-.2 1.13.39-.24-1.34.33-1.24 1.04-2.26-.49-.28-.97-1.09-2.04-.71.6-.62 1.1-1.46 1.73-2.03.57.23.17.94-.04 1.57-.09.43.96-.06 1.3-.08.06-.57-.46.16-.6-.47.26-.52.66-.75.8-1.56.59-.23.28.12.91.32-.16-1.72-1.96-1.58-1.22-3.06-.32.01-.58.14-.7.55-1.01-3.26 3.03-6.1 2.26-8.67.75-.57.82-.05.64-1.09 1.25-.05 1.34.95 1.51 1.92.14-.23.26-.48.36-.74.62.5.57.31 1.22.16.06-.88-1.53.17-1.51-.79.76-.13.26-2.11 1.52-2.89.04-.35-.39-.15-.53.08-.44-.58.97-.61 1.02-1.48-.27.09-.49.31-.7.54-.62-.39.4-.42.33-.94-.22-.06-.28.23-.39.39-.57-.29.21-1.26-.19-1.64.58-.2 1.55-.81.8-1.56 2.1-2.7 3.35-6.04 4.49-9.21.23.08.45.16.68.24-.06-2.55 1.16-4.43 1.84-6.72 1.1 2.26-1.15 4.66-1.78 7.27-.34 1.44.17 2.89-.71 4.22-.96-.1.27-1.3-.19-1.64-.36.05-.1.66-.63 1.09 1.47 3.19-1.69 7.12-2.7 10.62-.82 2.87-.64 5.64-1.63 7.57-.28.08-.42.46-.84.24zm4.6 159.24c-.93-.67.16-1.21-.03-2.11.77.32-.03 1.43.03 2.11zm.71-4.22c-1.18-1.19.93-5.64 1.57-8.12.47 2.15-1.46 6.29-1.57 8.12zm2.26-4.99c.22.08.45.15.68.23-.18.59-.36 1.14-.72 1.33-.57-.23-.18-.94.04-1.56zm-.22 2.81c.1-.31.21-.62.32-.94.23.08.45.16.68.24-.25.41-.43.98-1 .7zm2.68 2.51c-.29-.18.01-.65.1-1.02.31.14.63.27.76.01.24.13.04.28-.08.23.75 1.17-.67-.03-.78.78zm-135.95-14.07c0 .03 0 .05-.01.08.01-.02.02-.03.03-.05 0-.01 0-.02-.02-.03zm-.16-.23c.07.07.13.15.16.23.02-.12.01-.21-.16-.23zm136.18-143.86c-.18 1.33-.55 2.81-.77 4.48.36-.01.63-.22.85-.54l2.84 147.85c-.08.45-.19.93-.51 1.45.19.03.37.03.54 0l.01.56c-.5.81.19 1.02-.08 1.71-.41-.11-.37-.45-.82-.55 1.88 3.72-2.17 5.05-1.28 8.75-.24-1.01-.86-.81-1.09-1.96-.31-.04-.4.39-.17.47-1.96-.89-1.92 2.17-2.07 3.75-.64-.58-.32-1.64-.39-2.51-.64.24-1.36 1.57-.12 1.8-.61.63-.45 1.01-.66 1.88-.59.53.33-1.31-.27-1.41-1.14.27-1.53 2.89-1.6 3.12-.18.6-.33 1.16-.33.96-.07 1.38-1.27 1.6-1.58 2.31-.11.27.56.83.27 1.41-.77 1.59-2.42 4.97-2.02 7.97-.25.14-.67-.08-.84.23-.62-.61.67-.41.64-1.09-1.25-.21-1.69 1.54-1.89 2.5.28-.08.42-.46.84-.24-.63 1.04-2.74 2.41-1.54 3.67-.07.54-.48.33-.84.23-.27 1.05-.34 1.09-.35 1.72.36.22.49-.03.62-.31.68 1.32-.97 1.57-.61 3.2-.84-.44-.92.76-1.55.78-.16 3.3-1.87 8.83-3.79 12.34.29.82.17 1.51-.09 2.17l-4.94-1.75c.61-1.85 1.07-3.69 1.38-5.37.24.08.48.16.71.25.61-2.79 2.66-4.42 2.54-7.26-1.7.44-2.01 3.87-3.18 5.46-.81-.85 1.68-2.99 1.24-4.3-.56 1.3-.74-.19-1.66-.32-.72.49-1.6 2.04-1.07 3.05.26-.41.19-1.52.86-1.02-.42.71-.45 1.67-.52 2.97-.56-.22-.56-.69-.99-.08.54.56-.69.67-.72 1.33.35.28 1.18-.36 1.13.39-.73.19-1.27.81-1.78 1.48.02.88-.08 1.75-.23 2.61l-2.63-.93c.69-.97 1.35-2.86 1.39-4.03-1.32 1.3-1.27 2.84-1.98 3.82l-8.45-2.99c1.08-2.43 1.12-5.32 2.05-7.42-1.52-.54-.51 2.35-1.74 2.8-.37-.8 1.45-1.99-.17-2.42-.36 1.5-.12.7-.72 1.33.44 1.09.01 1.39-.61 3.2.57.5 1.24-.83 1.3-.07-.57.26.05.83-.78.78-.07-.21-.75-.67-1.36-.48.12.38.04.93-.07 1.54l-6.26-2.21a.76.76 0 0 0-.2-.29c-.2.4-.32-.2-.5.04l-96.23-34.02c.1-.77.07-1.51-.22-2.15.44-.61.43-.15.99.08.36-1.15-.61-1.62 0-2.89.41.62.16 1.59.78 2.11.44-.98 1.41-.79 1.73-2.02.06-.5-.78.15-.21-.87-.7-.29-.98.36-1.75-.08.49-.32 1.44-.87 1.83-.15.09-.5.3-.72.7-.54-.22-.67-.29-1.4-.25-2.19-.73-.04-.13.8-.41 1.17-.88-.72-.06-2.29-.07-3.44.31.61.55 1.26.56 2.03.62-.28.81-.86.8-1.56.14.19.28.37.6.47.3-1.49.6-2.09.77-3.67.31-.16.62-.32.93-.47-.07-.79-.34-1 .49-1.4-.03-.24-.05-.49-.29-.63-.49-.1-.42 1.01-.86 1.02-.34-.23.49-1.37.79-1.56-.64-.15.33-1.12-.07-1.93 1.69-2.61.74-7.64 3.03-10.18.01-.58-.15-1.08.13-1.8.26-.11.59-.07.98.09.15-.37.21-.94.56-.86.02-.3-.32-1.35-.74-.79-.47-.29.71-1.04.84-.23.72.19.79-1.03 1.11-1.72-.66-.46-.59.66-1.01.7.5-1.66.85-2.25.71-4.21.58-.64-.18.96.13 1.09 1.29-.08 2.18-1.03 3.02-2.1.16 1.19-1.69 1.54-2.2 2.65 1.15.58-.59 2.88-1.25 4.29-.02.21.15.32.07.55.35.22.49-.03.61-.31.23 1.2-2.4 2.44-.77 3.67.76-.4-.38-1.53 1.17-1.16.1-.4-.34-1.48.27-1.49.62 3.68-2.67 7.38-2.46 9.92.68-1.15 1.44-2.11 2.28-2.88.58.09-.49 1.02.44.94.52-.1.42-1.87 1.42-1.88.04-.76-.53.43-.99-.08.57-.03.62-1.61.1-1.01.69-1.32 3.71-4.68 3.05-6.56.62-.6.55.73.97.86-.2-1.12.17-2.53.32-3.83.32-.48.26.41.76.01.22-.5.08-.81-.43-.94.66.05 1.32-1.15 1.69-.47-.08-.92-.17-1.84-.01-2.89.27.19.21.54.52.71-.43-2.08 1.01-3.45 1.04-5.16.16.11.14.32.37.39 1.38-4.5 2.9-6.68 3.76-10.77.42.37.61.86.19 1.64 1.66-.35 1.33-3.04 2.09-4.52.16-.32.85-.4 1.01-.7.17-.33-.53-.68-.51-.71.22-.64.97-2.74 1.74-2.81-.23.89-.92 2.01-.67 2.66 1.18-.31 1.65-2.19 3.02-2.1-1.01 1.51-1.09 1.44-1.44 2.65-.64-.06-.78-.38-.43-.94-.27-.03-.32.41-.62.31 1.67 3.35-4.89 6.43-2.47 10.7-1.6.71-1.93 4.35-2.66 6.17-.44-.23-.23-.79-.66-1.02-.61 1.24.07 1.1.49 1.49-.7.55-.48.58-.88 1.79-1.35-.15-.77 1.82-2.03 2.18-.02.21.14.32.06.55.67.36.85-.37 1.23-.62-.98 1.78-2.04 5.39-4.12 6.71-.01.52.5.77.58 1.25-1.41-.11-.42 1.96-1.17 1.17.12.95-.15 1.79.54 2.81-.33 1.34-.51-1.1-.84.24-.51-.14.19-.87.18-1.25-1.31.71-1.87 1.77-1.85 3.82.72-.11 1.01-1.12 1.56-1.56.67.25.19 1.07 1.12 1.18-1.08 1.74.61 1.42-.28 2.27.36-.05.6-.36.78-.79.43.75-.24 2.06-.61 3.21 1.43.35.06-.96.96-2.03.27.19.21.53.52.7 1.64-2.16 3.11-3.4 4.47-5.53-1.42-1.19 1.35-1.24 1.98-2.73-.19.74-.59 1.94.52 2.03-.47-.98.15-1.53.59-2.24-.01.02-.03.04-.05.06-.13-.25-.42-.43-.82-.55.46-1.41 1.04-.99 1.85-.93-.13-1.72.31-2.41 1.25-4.3.09-.75-.57.06-.91-.31.5-.43.76-1.38 1.62-1.02.42-.66-.14-.82.27-1.48-.37.02-.68.17-.92.47-.26-.96 2.58-2.08 1.14-3.28 1.42-1.18 2.67-3.74 2.44-6.25.36.65.44.68 1.13.4-.13-1.28.41-3.04 1.83-3.04-.15-.96.08-2.11.07-3.13-.56.01-.46 1.46-1.31.85.62-.18 1.21-1.31.65-1.87.63-.26.94-.58 1.52.01.12-.83.16-1.63.37-2.5-1 .08-.49 1.29-1.54.77-.61 2.63-3.31 4.15-2.44 6.25-.72.23-1.41 2.1-.9 2.57-1.58-.08-1.63.93-1.58 2.34-1.69-.47-1.77-1.05-4-1.65-.02-.7-.38-1.23-.64-1.8 1.56-.6 1.17-1.64 1.83-3.04 1.19 1.61 2.1-2.46.96-2.03.7-.69 1.71-.7 2.47-1.25.33-.68-.69-.68-.58-1.25.92.22 1.15-1.07 1.49-2.1-.35-.22-.48.03-.61.31.46-1.59 1.04-4.53 2.5-5.7.06-.29-.34-.34-.6-.47 2.36-2.04 2.92-4.38 4.23-7.73.14.19.28.38.6.47.47-1.04.26-1.82 1.43-2.65-.61 1.92.1 3.22-.98 5.71 1.33-.44 1.03-2.53 2.41-2.99-1.46.41-.17-1.19.67-1.46-.41-1.15.58-1.82.31-3.05.62-.14.64.9.9.32.37.84-1.81 3.49-.26 4.38-.26.98-.3-.15-.99-.09-.22.82.8 1.02.96 1.65-.18-1.43 1.52-2.63.77-3.67 1.73-2.52 3.31-6 2.64-8.28.62.52.68-.18 1.07-.15-.07-2.22 2.22-4.68.38-6.18.14-.52.84.18 1.21.16.26 3.2-1.89 4.91-1.09 7.51.61.13.79-1.58 1.23-.63.46-3.28 2.84-7.57 3.07-10.23 1.02-.06-.28 1.04.35 1.18.53-3.6 3.54-7.1 2.53-10.15.8.04.04.88.66 1.01-.04-2 2.85-2.31 1.87-4.6.33-.24.76-.26 1.15-.39.22-1.02 0-2.6.61-3.2.25.13.04.49-.02.78.22.07.27-.23.39-.39 2.19 2.47 2.5-6.54 2.87-8.2.21-.3.19.1.45.16 1.28-3.49 1.92-6.91 3.68-10.54.03-.36-.39-.16-.53.08.3-.73 3.1-2.86 1.86-4.61.27.19.21.54.52.71.16-.86-.79-1.15-.56-2.04.51.07.54.37.82.55 1.44-1.35.46-3.29 1.62-3.9.06-.48-.28-.76-.05-1.33-.73-.64-.65.49-1.29.07.28-.2.52-.52.63-1.09.12.27.58.36.52.71.5.09-.12-.75.7-.55-.22-.47-.06-1.12-.5-1.48.18-.3.64 0 .99.08 1.5-2.7 1.63-5.17 2.1-8.2 1.55-.22 2.63-2.69 2.86-4.53.64 1 1.04-1.38 1.78-1.48.03-.2-.14-.31-.06-.54-.74-.64-.66.49-1.3.07.6-.77 1.39-1.12 2.25-1.32-1.06.45-.01.52-.58 1.64.81-.36.66-1.87.9-2.58-.45-.22-.66.09-.85.44.57-1.22 1.03-4.68 2.41-4.89-.24-1.14-.85.1-1.43-1.02-.27 1.6-.63 3.95-2.62 4.6.56-.99.26-1.54-.34-1.95.4-1.06.65-2.44 1.44-2.66-.03-.56.01-1.16-.19-1.64 1.4-2.22 1.08-5.36 3.28-6.47-.14.77-.99.34-.63 1.09.76-.34.69-.93.88-1.79-.25-.13-.42-.09-.54.07.76-1.54.34-5.37 2.21-6.32-.59-1.7 2.08-3.97.9-5.47.68-.24 1.21-.23 1.93-1.17-.59-.1-.91-1.14.33-.93.15-4.26 4.06-8.59 2.89-12.66.24-.45.78-.24 1.01-.7-.4-.17-.58.12-.99-.08 1.16-.39.79-1.31 1.34-1.64.07-.04.32 1.63.9.32.21.6-1.29 1.02-1.35 2.42.46-.11.59-.91.95-1.25.55.46-.41.97-.5 1.41.99-.35 1.42-1.86 2.06-2.97-1.31 5.46-5.46 10.78-5.59 16.71-.38.69-1.04.77-1.48 1.32-.06.49.82.5.35 1.18-1.52-.27.33 2.08-1.25 1.4.48.81.55 1.65.79 2.11-.17.6-.61.62-1.01.7 1.47.1-1.32 4.25-.65 4.77-.77.75-1.02 2.27-1.39 3.98 1.56.18 2.02-2.84 1.77-3.59 1.46-1.03 1.83-3.28 2.23-4.21.8.05.04.88.66 1.02.23-.06.45-.12.76 0 .29-1.11 1.01-2.44.3-3.05 1.39-2.31 1.41-4.22 3.88-6 .09-.75-.32-1.26.29-2.27.52-.67.03.72-.1 1.02.93-.87 1.64-2 1.84-3.83-.54-.07-.49 1.13-.8 1.56-1.24-.73.49-1.78.61-3.2.25.26.25.65.13 1.1 1.25-1.28 2.24-3.02 2.4-4.69-.64-.54-.44.7-1.07.16.21-.18 1.43-.86.4-1.17.97-.74 1.45-1.75 1.07-3.05.55-.03.83-.68 1.03-1.48.08 1.44-.84 2.69-.96 4.92 1.2-.54 1.77-1.83 1.52-2.89 1.09.71.83-4.31 3.22-4.13.5-3.45 2.56-3.97 3.01-7.88.25 2.2 1.31-1.62 1.74-2.81-.79-.61-.81.44-1.23.62.31.36.36.85-.04 1.56-1.1-.4-.19-2.92.98-2.81 1.16-3.55 1.88-5.73 4.23-7.72.02-.71-.72.3-.93.46.54-1.2 1.82-5.68 3.01-7.88.43-2.79 1.53-3.88 2.91-6.87-.22-.07-.27.23-.39.39 2.19-6.66 4.89-12.69 6.47-18.5.45.16.06.74.74.78 1.06-.56.64-2.32-.02-2.11 1.9-1.17 2.24-9.15 4.56-12.33.02-.04.43.19.45.15.05-.08-.12-1.61.48-.62-.25-2.17 1.21-4.42 1.53-6.56.25-.52.79-.33.99.08.16-.47.32-.94.49-1.4.15-.63-.51.18-.91-.32 1.12-1.77 2.63-2.91 2.71-4.84.44.27.65.05.99.08-.02-1.09.94-2.53 1.14-3.28.72.16.09.99.58 1.26.87-2.62 3.66-4.71 3.94-8.35l1.81 93.97c-.49 1.35-.81 2.72-.37 3.74.07-.48.22-.97.41-1.46l.25 12.75c-.63 2.39-1.61 4.77-2.62 6.68.22.07.28-.21.39-.37 0 1.71-2.21 3.92-1.06 5.92-.39.18-.38-.03-.68-.23-.48 3.11-1.08 7.21-2.57 8.82-.27.84.92-.24.6.47-1.27 2.1-1.77 4.66-1.94 7.73.93-2.98 4.55-6.62 4.36-10.3 1.11-.67.46 1.17 1.34 1.25.77-2.98-1.08-6.47 1.67-9.13-.76 1.15-1.35 3.54-.26 4.37-.9.6-.47 1.81-.98 2.81 1.98-.83.66-2.31 2.02-3.96l.01.97z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.53 1300.081c.897-.91.883-2.474 1.083-3.827.985.572-.099-.716.699-.544.68.841-1.494 3.519-.651 4.765.335.035.394-.522.555-.859.649-.089-.614 2.024-1.331 1.636.327-.914.603-1.311-.356-1.172zm31.275-77.12c.295 2.31-2.358 5.129-1.323 7.42-.642-.018-.791 1.031-1.543.776 1.403-2.108.425-3.443 1.947-4.838-.573-1.004.599-2.529.919-3.357zm-2.287 9.449c.7-.169-.83.946-.881 1.793-.521-.509-.145-1.472.057-2.344.208.407.241 1.37.823.551zm-6.166 5.997c-.047.282.184.211.229.08.345.727-.792 2.2-.529 2.969-.13-.025-.705-3.843.691-3.437-.057.282-.194.398-.391.388zm-1.595 3.122c-.474-.511-1.387.95-2.018 1.4.701.171-.497 2.573-1.019 4.373-.403-1.092.579-5.737 2.274-5.775.61-1.227.528-1.391 1.127-2.499.285 1.917-1.059 5.461-1.692 7.029-.565-.642 1.025-3.315 1.328-4.528zm-2.23 7.105c-.386.122-.672.468-1.006.7-.284-.179.015-.653.1-1.017.214.453.655.429.843-.231.086.664.955.935.642 1.801-.999-.013-.364-.848-.579-1.253zm.831 3.443c.454.778-.691 1.248-.427 1.953-.745-.478.242-1.462.427-1.953zm-25.325 38.995c.108.523-.944 2.054-1.291 2.965-.252-.843.872-2.214 1.291-2.965zm52.94 22.381c.254-.416.14-.9-.061-.546.256-1.289.943-1.297 1.215.159-.059.249-1.143.134-.473.624-.218.314-.256-.193-.68-.238zm-2.782 7.964c.24.133.044.279-.083.234.157.372.498.651.045 1.327-.493-.315-.625-1.232.038-1.562zm-54.351-17.618c.51.916-.326 1.526-.819 2.343-.307-.429.757-1.351.819-2.343zm-10.899 25.367.164-.469c.175.112.246-.016.31-.156.07.737.416 1.337.25 2.19-.763-.198.182-1.06-.723-1.566zm-2.247 7.884c1.48-1.7 2.27-3.34 2.42-5.46-.59 1.56-1.18 1.49-1.81 2.26-.09-1.82 1.86-2.14 1.23-3.51-.19.34-.56-.01-.68-.24-.22.62-.36 1.42-.95 1.25-.33-.41 1.22-1.75.29-2.27-1.76 6.01-3.62 10.57-5.73 16.4.45-.25.68-.99 1.17-1.17-.01.2-.16.46.06.55.12-.17.17-.46.39-.39-.51.78-.49 2.28.11 1.87-.61-.65.28-1.51.74-2.11-.22-.73-1.35.09-1.2-.94 1.32-1.21.71-4.18 2.32-4.44.3 1.04-1.95 3.08-.49 4.29.48-1.33.51-3.14 1.85-3.82-.16-.31-.3-.62-.44-.94.7-.72.35.34.76 0-.42-.64 1.28-2.11-.04-1.33zm.53-2.96c.75.18.46 1.31-.04 1.56-.32-.36-.25-.91.04-1.56zm10.745-.204c.49.205-.25 1.029-.265 1.486-.151-.215-.306-.424-.453-.157-.426-.3.635-.772.718-1.329zm-9.626 13.726c.104.855.377 2.411-.612 3.201-.141-.892.533-2.198.612-3.201zm-1.935 1.166c.184-.293.636.003.99.081-.299.592.144 2.374-1.109 1.716.427-.693 1.47-1.33.12-1.797zm-8.322 7.084c.251.131.419.089.535-.077.389 1.059-.4 1.864-1.127 2.499-.279-.724.674-1.385.592-2.422zm4.811 5.879c.118-.427.449-.397.551-.858.633.822.166 1.05.027 2.113-.5.481.287-1.284-.578-1.255zm-3.345 5.929c.389 1.196-1.024 2.855-.484 4.3-1.029-1.138.203-2.898.484-4.3zm-2.258 2.104c-.357-.222-.493.033-.619.307-.503-.246-.303-.806.101-1.012.508.102 1.274 1.565.352 1.172.054-.154.109-.31.166-.467zm-7.763 9.117c.844.604-.433 1.153-.655 1.874-.424-.416.672-.973.655-1.874zm101.86 91.182c.172-.688.064 1.82.477 2.267-.482.078-1.633.815-1.251 1.404-1.36-.008.517-1.198.818-2.343-.488-.095-.673.469-1.007.702-.389-.605 1.015-.795.963-2.03zm-4.886 6.704c.256-.405.186-1.517.862-1.011-.731 1.285.459 1.979 1.259 1.487.179.233.045.621.517.708-1.061.609-1.633-.702-2.638-1.184zm1.104 4.852c-.607-.445-1.638.249-1.669-.317.468-.738.992.284 1.831-.153-.22.371.023.505.289.626-1.02 1.263-.377 2.081-1.309 3.748-.32-.35-.3-1.024.183-1.249-1.078.194-.357-1.087-.788-2.112.377.132.756.261 1.135.394.108-.313.218-.625.328-.938z\"\n }))), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M425.353 1386.405a4.994 4.994 0 0 1-1.799-.336l-276.075-106.525a5 5 0 0 1 3.6-9.33l276.075 106.525a5 5 0 0 1-1.801 9.666zm1307.67 508.942-421.96-934.62c-3.853-1.229-169.551-138.947-76.719-355.224l125.718-10.863c59.018-4.353 114.949 3.573 160.938 26.75 16.279 9.345 69.537 39.221 98.849 111.677 82.469 203.86 429.719 1162.28 429.719 1162.28z\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1486.28 1402.439-183.813-400.417c-3.853-1.229-200.01-176.991-107.178-393.267l164.15-17.839c152.035-9.87 251.478 62.969 280.79 135.426 32.682 80.789 142.648 329.244 226.589 537.237l-380.537 138.861z\",\n fill: \"#7083d9\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1460.984 1277.61c.46.36 1.24 1.06 1.01 1.69-.6 0-1.31-.89-1.01-1.69zm46.79-226.75c.39-.16.59.23 1 .03-.32.84.44 1.17.64 2.14-.9.25-1.23-1.07-1.64-2.17zm2.089 20.45c-.58-.44-1.53-3.19-.13-2.97-.34 1.16-.02 1.87.13 2.97zm1.351 6.23.06.03c-.01.01-.02.01-.03.02-.01-.02-.02-.04-.03-.05zm-1.29-23.66c-.32 1.65.1 4.74 1.23 4.98.11.56-.18.82-.73.89.46.84.44.24 1.01.03.16.92-.77 1.03-.69 1.88-1.46-2.36-.72-4.82-2.29-7.66.65.13.52-.05 1.47-.12zm1.29 23.66c-.09-.07-.19-.13-.3-.19.07-.51-.17-1.24.64-1.2.09.61-.78.51-.34 1.39zm-.24-15.94c.94 1.07.52 2.56 1.42 3.91l-.69.21c-.98-1.33-.51-2.33-.73-4.12zm1.78 20.21c-.25-.41-.36-.83-.43-1.24.15.62.95.83.43 1.24zm.97-17.72c.6-.14.76.89 1.01 1.7-.28-.17-.62-.17-1.01-.02-.46-.89.45-.78 0-1.68zm10.419 61.76c-.6.14-.76-.89-1.01-1.7.71-.31 1.23 1.09 1.01 1.7zm-59.969 158.611-.02 1.66m0 0-.14 15.3m.14-15.3-.14 15.3m.14-15.3-.14 15.3m50.11 90.86-15.32 5.59m15.73-5.74 2.55-.93 11.06-4.04 2.17-.79m10.15-3.7-9.58 3.49m13.26-4.84-2.83 1.04m-77.11-101.15-.03 3.25m.03-3.25-.03 3.25m.03-3.25-.03 3.25m.03-3.25 2.78-299.18 91.27 288.06m-94.33 40.69c.07-.07.13-.15.11-.29a.37.37 0 0 1-.11-.05m0 .34c.07-.07.13-.15.11-.29a.37.37 0 0 1-.11-.05m0 .34c.07-.07.13-.15.11-.29a.37.37 0 0 1-.11-.05m.09-9.02-.09 9.02m-.25 27.06-.01 1.37m.26-28.09-.03 2.89-.21 22.95m-.12 12.65-.03 3.62 22.75 49.55 12.18-4.44m-34.81-58.5-.04 4.84m113.12-15.9-14.01-44.24-3.94-12.43m19 59.99-.47-1.49m2.5 7.89-.07-.22m2.45 7.73 6.18 19.51-6.9 2.52-33.56 12.25-2.96 1.08m36.98-36.18-.9-2.83\",\n fill: \"none\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1498.464 1398.001c.01-.26.11-.44.33-.45 0 .12 0 .22.01.32zm42-15.33c.05-.35.18-.65.49-.8.15.14.26.3.36.49zm-9.88 1.394c-.304 1.336-.866-1.294-1.096-2.005.176-.114.249.053.318.237l.461-.14c.305.65-.212 1.878.318 1.908zm-.5-5.874c-.64-.294-1.318-.479-1.558-1.862.467.758 1.145.946 1.558 1.862zm-22.799 5.023c-.442-.277-.749-.921-1.007-1.698.709-.314 1.236 1.085 1.007 1.698zm-12.798 3.276c-.271.001-.337-.562-.641-.472.49-.766.288-.925.231-1.745.773.28.573 1.833.41 2.218zm87.707-40.819c-.64-.23-1.19-.7-1.64-1.46.28-.27.92 1.02.78.09.23.09.43.27.6.55zm-87.697 25.745c-.594-.451-1.066-2.846-.458-3.207.01.964.155 2.032.458 3.207zm81.888-31.949c-.861-.247-1.087-2.234-1.559-3.539.826.609.872 1.707 1.559 3.539zm-95.231 25.012c-.558-.095-1.269-.983-1.006-1.698.442.28.749.924 1.006 1.698zm9.406-4.572c.659-1.253-.491-2.23-1.144-2.997.273.177.615.168 1.008.023.214 1.085.603 1.691.961 2.383-.13.302-.418.488-.825.59zm-2.937.233c-.984-2.17-3.362-3.774-3.068-6.084.519-.119.486 1.27.779 1.768.644-.244.036-1.408-.179-2.286.93 1.113 2.593 4.794 2.469 6.603zm-4.072-11.13c-.23.071-.459.138-.689.209.178-.828.1-1.841-.455-3.207.578-.284.297 1.781 1.05 1.013-.039.61-.409.979.093 1.985zm38.443-12.191c-.275-1.078-.787-2.335-.048-2.665.3 1.095.905 2.42.048 2.665zm-38.442 8.84c-.677-.285-.617-.514-1.238.047.303-.78-.316-1.497-.914-1.39-.407-.935 1.102-.468.55-1.513.521.98 1.202 1.531 1.603 2.856zm-5.092.563c-.59-.083-1.37-1.821-.318-1.911-.159.447.063 1.166.318 1.911zm3.855-3.868c-.675-.492-1.266-1.209-1.188-2.312.545.371.907 1.228 1.188 2.312zm.735-.895c-.911-.119-.952-.852-.777-1.769.516-.12.485 1.27.777 1.769zm-6.741-1.603c-.102.544-1.331-2.659-1.146-2.996.651.262.725 2.106 1.146 2.996zm6.47-4.341c-.662.663-2.15-3.156-1.787-3.469.142-.122 1.371 3.1 1.787 3.469zm-18.535 1.696c-.36-.02-.47.13-.57.29l.01-.88c.23.04.46.21.56.59zm104.825-32.324c-.45-.256-1.106.051-1.284-.947.563-.055 1.133-.132 1.284.947zm-1.19-3.986c-.694.225-.894-.901-1.238-1.629.693-.225.893.899 1.238 1.629zm-90.781 25.649c-.609-.366-.286.118-.92.282.135-.537-.21-1.428.553-1.507.123.409.243.819.366 1.225zm.231-5.094c.355-.235.506.104.643.472.281-.031.385-.194.367-.449 1.111.798-.784 1.419-1.01-.023zm-11.375 3.843c-1.137-1.544-.16-2.363-1.422-3.914 1.19-.435 1.813 3.304 1.422 3.914zm11.288-5.825c-.743-.015-1.165-.902-1.699-1.484.271.12 1.06.453.597-.52.281-.267.918 1.021.778.095 1.209.765-.826.988.324 1.909zm-2.756.85c-1.325-.298-1.018-3.216-1.281-4.293 1.258 1.553.178 2.729 1.281 4.293zm-2.925-13.163c-.693-.609-1.64-3.058-.185-2.286-.747.659.537 1.332.185 2.286zm-1.466-3.232c-.237.607-.894-2.358-1.375-2.925 1.169.064 1.016 1.594 1.375 2.925zm.594-.52c-.938-1.651-.684-4.488-.271-5.942.945 1.193-.111 3.724.271 5.942zm-3.207-.684c-.484.206-.432-1.055-.688-1.461.768-.003.504.078 1.145-.352.058.758-.516 1.055-.457 1.813zm-2.155-1.342c-.668-.138-1.501-.882-.918-1.396.418.159.722.622.918 1.396zm.688-3.564c-.772-.7-2.07-2.591-1.557-3.54.633.404.404 1.114 1.101.333-.388.672.037 1.942.457 3.207zm47.529-22.023c.07.37-.339.387-.598.518-.487-.92.081-1.061.002-1.675.831-.167-.008 1.484.596 1.157zm.786-6.606c-.413-.413-1.191-.692-.918-1.393.229-.071.458-.142.689-.211.284.688.314 1.189.229 1.603zm-4.448-2.312c-.207.345-1.129-2.088-1.466-3.232.724.438 1.074 1.89 1.466 3.232zm1.471-6.817c-.711-.28-1.486-.39-1.789-1.794.649.454 1.369.716 1.789 1.794zm-2.886-3.798c-.499.061-.558-1.076-1.055-1.012-.12-.25.004-.317.138-.378.212-.003.181-.187.137-.377.518.125 1.023 1.154.781 1.768zm-4.762-12.595c-.916.197-1.367-2.96-1.328-3.608.475.387.495 2.844 1.328 3.608z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1465.653 1284.87c-.88.23.2 1.9-.59 2.19-.32-.9-.63-1.76-.89-2.6l-.02 1.66c.33.79.69 1.52 1.18 1.86-.23.87-.31 3.11.73 4.13-.4-2.29-.45-4.32.6-5.54.14.35.22.88.51.84-.14-1.84-1.35-.78-1.52-2.54zm4.51 33.78c.18-.05.35-.12.52-.17-.25-.05-.43.01-.52.17zm8.16 32.97c.31-.11.54-.01.78.1.05-1.33-.92-2.52-1.56-3.54-.25-6.28-5-12.52-4.81-18.61-1.57-1.49-2.47-4.82-3.52-7.62 1.23.16 1.32 3.44 2.57 3.56-.38-1.31-2.3-5.87-1.63-6.86-.43.15-.84.2-1.03-.36-.42-.78.27-.75.09-1.36-1.45-.17-2.24-5.46-2.65-7.22.01.25-.09.41-.37.45.27-.7-1.63-2.35-1.1-3.68.14.71.4 1.13.82 1.08.46-1.51-1.22-.77-1.42-2.24.51-.26.52.8.97.71-.52-1.19-.98-2.91-1.45-4.61l-.09 9.02c.03.02.07.04.11.05.02.14-.04.22-.11.29l-.03 2.89c.73.78 1.44 1.62 2.11 2.57-.39-.06-.71-.28-1.1-.33 1.43 5.73 4.08 9.82 5.13 17.17.39-.14.66.06.87.41-1.12 2.62 3.48 6.56.73 7.47.46 1.56.84-.11 1.51.87.8 3.59 2.33 5.88 1.92 8.12 1.21 1.73 1.23 2.69 2.47 4.93-.49.26-.51-.81-.96-.71 1 2.91 2.06 4.26 1.56 6.89 1.04-.45 1.25 1.39 2.15 1.34-.42-1.69-1.01-3.81 0-5.02.84 1.19-.28 2.16.51 2.52.65-3.46-1.62-4.66-2.47-8.28zm1.19 7.34c-.88.01-.59-.99-.46-1.53.56-.09.53 1.3.46 1.53zm31.7-281.42c.01.01.02.03.03.05.01-.01.02-.01.03-.02zm32.5 286.74c.48 5.24 2.8 11 4.2 15.67l33.56-12.25c-.94-3.4-1.91-6.9-3.03-10.45.01.26.17.61-.05.69-.91-4.15-.77-6.07-2.29-9.35-.53-3.17-2.5-8.83-2.88-10.49-.06.31.04 1.9-.42 1.13.51-3.74-.37-6.57-1.82-11.16.98-.68.03-4-1.1-3.68.16 1.04.53 1.52 1.01 1.7-.21.49.47 1.62-.56 1.51-.45-1.57-2.16-6.39-.5-4.2-2.25-4.5-.98-6.47-2.88-10.49 1.99-1.44-1.55-6.64-.22-6.63-.91-.96-1.32-2.73-.74-4.13 1.38 2.47 1.5 4.43 2.52 5.92-.37-.99-.59-1.88-.18-2.29-1.16-1.13-1.45-2.53-1.19-3.99-1.01.37-.51-1.2-.46-1.53-.85-.15.12 1.05-.73.9-.98-1.89-1.36-4.43-1.24-6.65.2.56.46.97.83 1.08-.85-1.61-.19-3.91-1.65-3.84.05.67.88 1.92.41 2.21-1.05-2.09-1.25-3.79-1.1-5.35.09.41.63 2.23.6 1.15-.2-1.49-.85-1.75-1.28-2.61.23-1.1.27-2.05.2-2.95l-3.94-12.43c-.45-.26-.9-1.27-.53-1.68l-91.27-288.06-2.78 299.18c.1.05.18.15.22.36-.12.34-.15 1.93.32 1.91 1.33.06 3.2 3.26 2.65 5.54 1.58.51.79 2.71.92 3.07-.04-.9.92-.01 1.1.33-1.06.29.17 3.36.69 1.46.39 1.26-.12 1.69-.46 1.82.78.82 1.54 1.73 2.43 2.26-.59.14-.9-.36-.83.59.53.65.52.05.87.4.02.26-.08.42-.37.45 1.98.61.33 3.94 1.28 4.29-.08-.38-.14-.74.28-.75.31 1.43.74 2.94.09 3.66 1.17.14-.06 1.16.41 2.21 1.65-.04 3.36 5.11 2.02 5.07.88.87 1.78 1.28 1.37 2.93 1.32.02-.33-2.16.19-2.74.82.7.94 3.37 1.74 4.15-.41.96-.69 1.66-1.47 1.8.39.77 1.12.66 1.6 1.17-.07-.37-.3-.85-.04-.98 1.17.85 1.51 3.33.09 3.65-.01-.82-1.34-.7-1.1-.33 1.1.13 1.5 2.21 2.52 2.57-.07-1.47-.95-.73-1.1-2 .6-.61 1.03.01 1.19-1.04.43 1.9.74 2.74 1.42 3.92-.46.13-.54-.75-1.1-.34.1 1.22.95.37 1.28.95-.1.65.08 1.49-.46 1.82 2 2.19 1.9 4.24 3.07 7.76 1.14.12-.54-1.84.14-2.06 2.26 3.04 3.08 6.68 5.18 9.79-.35.03-.54-.38-.88-.4 1.59 1.54.83 3.24 2.02 3.4.23 4.83 4.02 14.46 3.89 18.89.73 2.34 3.06 4.97 1.87 7.13 1.28.93 1.19 4.2 2.25 5-.09-.49.36-.16.55.16.47 5.16 3.36 6.9 4.3 12.74 1.13-.53-1.5-3.82.37-3.8-.74-3.09-.24-4.22-1.09-7.03.14.36.21.89.5.86-.02-.26-.18-.61.04-.69.29 1.45.78 2.32 1.52 2.55-.85-2.15-1.91-4.96-1.65-7.2 1.19.27 1.24 4.6 1.92 4.77-.14-2.02-.09-3.9-.59-6.18 1.02.77-.19-.94.74-.9.96 1.15.69 2.05 1.11 2.92-.08-.39.4-1.14.63-.44-.03 1.07.25 1.04.64 2.14-.29.15-1.07-1.03-1.01-.02.94 1.02 2.62 2.95 1.74 4.15.45-.06.4-.5.82-.59.2.77.41 1.49.78 1.77-.22.07-.45.14-.68.21 1.02 1.72 1.67 2.49 2.7 3.19.07.91.53 3.71 1.29 4.75l.41-.15c-.39-1.55-1.73-3.19-.69-4.57-1.33-4.12-2.31-9.16-3.48-11.66-.75-1.6-.82-4.17-1.42-5.59-.6-1.43-1.85-3.5-.91-4.74-.21 1.08 1 1.96.68 3.14.54.57.45-.56.78.09 1.46 7.47 4.44 14.86 7.59 22.4l11.06-4.04c-.11-.5-.23-1.02-.36-1.56-.64.07-1.04-.49-1.24-1.63.61.37.29-.12.92-.28.33.77.62 1.64 1.1 2 .21-.48-.47-1.62.55-1.51.3 1.01.74 1.62 1.2 2.19l.57-.21c-1.25-1.27-2.11-3.61-3.78-3.7-.01-.75.85-1.5 1.42-1.11.5-2.71-1.69-5.93-1.56-8.56.85-.27 1.18.88 1.84 1.11-.54-2.26.7.14 1.24-.05-1.25-1.4-1.95-4.33-2.93-6.46-1.82-16.21-9.93-33.14-12.91-48.27-1.89-4.19-3.32-8.79-4.49-11.67-1.56-1.46-3.2-4.94-3.02-6.77-.78-.71-1.91-4.26-2.54-6.13.22.41.09-.97.35-1.23.82 2.56 1 4.46 2.38 4.62-.01.4-.04.77-.19 1.06-.12-.22-.18-.6-.41-.54.27 2.12 1.36-.89 1.97.73-1.15.6.87 2.07-.83 2.27-.4-.93.17-1.42-.68-1.46.71 2.78 1.81 5.25 2.47 6.6.5-1.3-1.22-3.12-1.37-4.6.21-.41.75-.56.96-.97.08-1.78-1.12-3.05-.27-4.27 2.02 3.98.23 3.57 1.14 6.35-.05-.17.08-.41.23-.07.78 1.9.67 2.9 1.6 4.52-.13.8-.96 3.35.83 2.77-.56-1.14-1.07-2.6-.23-3.28-.35-2.77-2.58-3.74-2.2-5.69.48 1.3 1.11 2.17 1.97 2.41-.24-1.37-1.23-.71-1.42-2.24.35-.03.54.38.87.4-.85-1.3-2.03-3.82-1.14-4.67 1.17 2.43 1.96 4.69 2.93 6.46-.33.08-.86.34-.37.45.16-.05.31-.09.46-.14.18-3.06-2.1-3.69-1.05-6.04.27 1.42 1.41 2.43 1.1 3.68 1.4.15 2.52 3.1 2.7 4.86.38-4.74-3.38-7.2-4.76-10.92.74-.52 1.46 1.9 1.88.42-2.59-3.8-2.19-10.18-3.43-14.01 1.9 3.4 3.21 6.49 3.62 9.6.21.98.43-.98.78.1-.1 2.73 2.15 7.54 3.84 11.2-.36-.02-.5-.25-.69.21 2.23 1.35 1.97 5.25 3.12 7.08-.02-.25-.18-.61.05-.68.82 4.71 2.63 10.85 5.17 14.81-.31.09-.62.19-.92.28 2.29 4.47 5.38 11.19 5.81 16.96.49-.21.81.03.97.71 3.19 12.89 9.67 26.79 12.75 39.03l.81-.29c-1.7-6.53-3.9-12.87-5.27-20.2.12.23.18.61.41.54-.11-.99-.81-.39-.92-1.39.64-.16.31-.65.92-.28-.9-1.32-.94-3.39-1.24-4.98-.82-.13-.41.65-.73.9-.13-.77-.62-.54-.69-1.46.46-.14.55.74 1.1.33-.12-1.52-1.06-.8-1.19-2.31 1.15-.16-.21-1.63.19-2.74-1.03-.35-1.08-.47-1.56-.19-.04-.9-.07-1.56-.78-1.77l.69-.21c-.38-.54-1.99-2.71-1.01-3.37.12 1.42 1.73 2.35 1.28 4.29 1.82-.7-2.17-5.94-.73-7.48 2.32 6.72 3.48 12.01 5.45 19.08.43 0 .45-.63.69-.21.03.58.81 1.72.32 1.91-.68-.18.17-1.45-.83-1.08.36 1.57 1.38 4.4 1.79 5.14-.16-.62.05-2.17.87-1.27zm23.15-53.36c-1.27-.69-1.03-2.07-1.88-3.77.79.62 2.04 2.34 1.88 3.77zm-29.7 40.64c-.94.41-.6-1.27-.78-1.77.63-.18.98 1.28.78 1.77zm-16.47-66.92c.14 1.23-.86.51-1.51.8-.26-.89 1.08-1.12 1.51-.8zm-1.01-1.7c.24.82-.4.98-.55 1.51-.28.04-.36-.5-.5-.85.72.06.46-.61 1.05-.66zm-24.59-58.05c.26.22.45.61.6 1.15-1.16.33-1.47-4.81-.6-1.15zm3.62 4.58c-1.13.29-1.46-1.59-1.92-3.09 1.22-.14 1.62 1.9 1.92 3.09zm-.27 145.08c.97.21.87 1.91.96 2.39-.71.19-1.14-1.84-.96-2.39zm-.84-132.02c.48-.01.44 1.4 1.19.64.54 2.27 1.46 3.44 2.11 5.38-1.71-2.19-2.1-3.41-3.3-6.02zm9.98 31.75c.95.02.54 1.19.87 2.08-.83.08-.79-1.37-.87-2.08zm8.57 14.44.69-.21c.12.41.24.82.36 1.22-.58.28-.88-.19-1.05-1.01zm11.86 32.18c-.69-1.78-2.06-2.98-2.25-5.01.82-.55.65 1.57 1.24 1.63.24-.3-.36-.78-.23-1.6-3.27-2.41-3.41-8.78-4.94-13.21-1.26-3.64-3.24-6.47-3.76-9.22.17-.27.03-.78.51-.83-.95-.87-.55-2.35-1.1-3.68.62-.65.68.17.09-1.37.61.44.58-.14 1.15-.35.4.77-.3.74-.42 1.13.49.33.92.83 1.51.87.03.66-.48.92-.55 1.52.26.6.81.4 1.06 1.01.57-.85-.76-2.88.04-4.02-1.52-1.72-3.36-1.08-4.35-3.7-.5.35-.16 1.32-.14 2.06-1.8-1.94-1.11-4.61-2.74-5.85.1-.48-.13-1.21.32-1.44-.41-.82-1.9-2.43-1.15-3-.2-.57-.82.02-.96-.71.88-2.49-2.46-6-2.01-8.42-1.49-1.2-2.36-4.92-2.38-6.29-2.24-1.1-3.21-6.98-2.84-9.51-.81-2.33-1.33-1.91-1.97-4.08.13.67-.29 2.16.18 2.28-.86.22-1.16-1.29-1.79-3.46.01.04.37.24.42.54-.53-3.22-4.98-8.69-3.16-13.09.35 1.28.77 2.35 1.37 2.92-.58-.6-.53-4.4-2.05-4.38-.4-.93-.09-1.34.22-1.75.57-.06 1.14-.13 1.29.94.58-.04-.55-1.35.41-1.13.63 1.98.4 3.33 1.1 5.36.27-.84.08-2.19-.5-4.2 2.55 4.09 3.59 6.91 4.58 11.98 1.04-.35.19-2.09.96-2.64.48 3.4 2.55 5.18 2.75 7.52-.15.05-.31.1-.46.15-.45.29-.57-.3-.73-.78-.53.75.62 1.59 1.28.94.31 1.01.84 1.41 1.05 2.69-.51.11-.72-.62-.91-1.39-.71 1.21 1.14 3.01 2.06 4.39.68.98-.73.42-.42 1.13.82 1.06 2.92 7.61 2.52 9.27.53.7.76.81 1.33.26.47 1.06.43 1.75-.14 2.05 1.5.83 1.13 3 1.15 4.67.34 1.08.56-.88.77.1.25.77-.05.42-.36.44.32 1.16 1.26.63 1.42 2.24-.65-.08-1.35-.02-2.16.34.23.66 1.01-.17 1.47-.12.61 1.24-.29 1.38-.05 2.36.4-.35 1.08-.21 1.55.18h.01v.01c.56.45.84 1.23.09 1.97-.5-.99-.13-1.37-.09-1.97 0 0 0-.01-.01-.01-.55.22-.53.8-1.13.36 1.07 1.28.56 1.56.68 3.14.57-.04 1.48.49 2.07-.64-.06 1.07.11 2.31-.01 3.35-.6.15-.76-.89-1-1.7-.22-.52-.72.72-.97.97.33.65.25-.49.78.09.14.74-.02 1.26.41 2.22-.3.65-.3.06-.92.28 1.26 1.73 2.57.35 2.98 2.43.25-.22.36-.53.19-1.06 2.94 2.8 1.68 8.6 3.98 10.83-.21 1.12-.6.61.23 1.6-.95.91-1.69-.11-2.48-1.04.06.35.13.7.23 1.06-.82-.11-.65.05-1.05.66.54.98 1.08-1.22 1.69-.18-.5.65 1.2 2.43.74 4.12.2.41.41-.09.36-.44.73.32-.35 1.32.19 2.28.14-.29.18-.66.18-1.06.75-.01-.02.72.37 1.23.21-.08.06-.43.04-.68.64-.08.67 1.49 1.24 1.62-.32.62-.67 1.93.41 2.22.16 4.33 1.4 8.76 2.61 12.93l-.69.21c1.75 2.69 2.03 5.53 3.02 8.44-2.36-1.65-2.19-5.76-3.43-8.98zm2.74 9.2c2 1.55 2.64 6.58 3.44 8.99-2.34-1.54-2.05-6.09-3.44-8.99zm-32.602 65.306c-.617-.135-1.17-1.798-1.281-2.616.566.483.82 1.832 1.281 2.616zm-8.937-7.289c-.604-.399-.726-2.103-1.562-1.864.278-1.025 1.899 1.11 1.562 1.864zm91.82-46.096v-.01c-1.54-2.37-1.45-6.87-3.68-8.54.43-.36.08-1.29.43-1.71l1.96 6.18c0 .05 0 .11-.01.16.03.02.05.04.08.06zm-91.9 27.368c.585-.473.12-.541-.139-1.299.03-1.241.319 1.255.872.401.307.866.528 1.667-.231 1.746-.12-.248.004-.317.14-.376-.254-.236-.558-.339-.873-.403-.062-.362.18-.238.23-.068zm-3.068-9.438c-.08-.617-.311-1.344.321-1.438.153 1.437.843 1.406 1.19 2.312.221-.077.068-.428.046-.685 1.743 1.135 1.629 4.549 1.556 6.891-.494.052-.795-.428-1.191-.638 1.346-.779-1.074-5.406-1.923-6.442zm-20.082-10.22c-.3-.29-.55-.72-.69-1.46.83-.77.46 1.72 1.29.94.07.38-.34.39-.6.52zm-2.42-.46c.79.15.59 1.27.72 2.33.36-.06.82-.37 1.01.02.13.65-.43.8-.64 1.2-.1-.54-.98-1.68-.96-.7.67-.16.42 2.16 1.09 2-.24-.65-.1-1.03.42-1.13-.36.93.68.5.78 1.77.63-.07 1.3-.23 1.79.12-.95 1.1.96 1.56 1.28 2.62-.27.99-.66 1.9-1.52 2.47.45.92.35 1.27.69 1.47-.12-.65.43-.8.64-1.21 1.07 1.75 1.04 2.49 1.38 4.6.75.2 1.25.7 1.23 1.63.41-1.17-1.87-4.3-.86-5.42-.22-.73-.67-.79-.78-1.77.38.05.71.27 1.1.32-2.46-4.32-2.43-12.04-5.63-16.34 1.01-2.08-2.16-3.33-.92-4.74-.47.32-.45.36-.72.36l-.01.63c.96 1.71 1.13 4.17.39 5-.03-.06-.22-.1-.43-.16zm113.17-20.83c-.14-.16-.3-.28-.48-.32.52.94.07 3.18.5 2.52-.06-.87.23-.67.56-.37zm-92.177 22.266c.185.608.745.196.826 1.083-.364.451-.822.834-.78 1.58-.273.002-.337-.559-.642-.472 1.019-.86-.319-2.255 1.1-3.018.015.407-.104.718-.504.827zm-.274-.922c-.688.457-.534-.5-.183-.612-.11-.442-.222-.879-.503-.85-.009-.82 1.02.115 1.191.638-.492.038-.699.284-.505.824zm-3.663-12.266c.019 1.314-.285.027-.917.284l-.456-1.532c.653.469.409-.277.825-.588-.253-.977-1.317.263-1.375-1.254.458-.323.501.485.872.401a3.84 3.84 0 0 1-1.008-3.372c.809.286.619 1.061.553 1.841.489.134.865.593 1.418.564-.097.329-.038.771.137 1.3-.284.031-.36-.502-.504-.851.109.562-.411 3.103.456 3.207zm-2.652-7.217c-.276-.68-.291-1.171.09-1.369-.463-.83-.446-.238-1.008-.019-.121-.411-.245-.82-.365-1.23 1.18 1.338.223-.67.961-.968-.015 1.413 1.188 2.578.322 3.587zm-2.29-7.666c.144 1.235.958 1.842.732 2.453-.333-.016-.521-.428-.87-.401.074-.869-.329-2.937.825-2.265.039.485-.328-.031-.687.213z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1512.24 1308.347c.658-.345 1.918 3.507 1.1 2.004-.261-.96-.984-.65-1.1-2.004zm.918-.284c-.841-.48-.62-2.196-.916-3.067.722.392.226 1.907.916 3.067zm-37.614 4.899c-.289.345-.051 1.079-.641 1.205-.749-2.156-.798-2.982-1.601-4.528.736.514.692.08 1.33.26.088.305.181.612.273.919-.284.033-.359-.501-.5-.848-.737.511.396 3.097 1.14 2.992zm-8.115-2.854c-.603-.932-.267-2.148-1.098-3.677.914.796 1.076 2.378 1.098 3.677zm.828-3.936c.283-.753-.173-2.044-.136-2.974l-.457.142c.42-1.61 1.715 2.744.593 2.832zm-.959-5.734c-1.079-.119-.54-2.007-.595-2.829.233.104.469.202.78.094-.911-1.052.265-.989.139-2.055-.156-.313-.518-.065-.641-.469-.394-.927-.209-1.43.551-1.509.084 1.69.112 1.479.915 3.065l-.687.212c.284.691.314 1.189.229 1.603.538-.341.68-.655 1.235-.047.589-.046-.541-1.357.417-1.129-.033.695-.107 1.358-.141 2.05-.708-1.26-.943-.343-1.697.19.256-.718-.205-.778-.457-1.533-.976.079-.31 1.367-.047 2.357zm-.821-6.11c-1.098-.667-.025-1.759.368-2.124-.241-.264-.622-.152-.734-.779 1.771.214.197 1.786.366 2.902zm42.082-37.757c.077.618.488 1.059.41.542.656 1.554.125 2.033-1.054.661-.119-.307.804-.926-.045-.992-.038-.485.328.031.689-.212zm-3.113-10.426c-.276.022-.22-.268-.091-.307-.369-.29-.821-.356-.916-1.389.594 0 1.306.89 1.007 1.697zm-38.839 59.528c-.319-.426-.864-.234-1.054-1.015 1.097-.148.456-1.577.185-2.735.894-.405.823 1.832 1.281 2.619-.115.39-.815.358-.412 1.131z\",\n fill: \"#576cc0\",\n fillRule: \"evenodd\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1545.064 1284.958a5 5 0 0 1-1.788-9.671l283.054-108.344a5.001 5.001 0 0 1 6.457 2.882 5.001 5.001 0 0 1-2.883 6.457l-283.054 108.344a4.989 4.989 0 0 1-1.786.332zM497.338 1497.104a5 5 0 0 1-4.997-4.904l-6.528-340.084a5 5 0 0 1 4.903-5.095c2.737-.028 5.042 2.143 5.095 4.903l6.528 340.084a5 5 0 0 1-4.903 5.095h-.098z\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1302.438 1272.516a38.919 38.919 0 0 1-3.306 14.258c-4.854 11.027-14.273 18.808-25.164 21.918a40.233 40.233 0 0 1-7.493 1.35 38.818 38.818 0 0 1-14.41-1.517c-47.081-14.076-130.884-39.027-159.794-46.914-37.495-10.223-76.219-3.382-119.144 14.88h-.015c-27.424 11.649-371.614 170.76-384.506 174.643l-29.608-85.608c18.672-2.973 47.824-22.994 90.856-40.24 60.763-24.36 209.454-145.855 412.643-148.812 58.715-.834 140.728 24.799 189.766 45.731 12.862 5.491 23.45 10.663 30.76 14.941 12.848 7.508 19.961 21.281 19.415 35.371z\",\n fill: \"#f7ada1\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1292.609 1378.297a39.184 39.184 0 0 1-29.046 16.427 38.693 38.693 0 0 1-7.614-.167 38.67 38.67 0 0 1-13.818-4.384c-43.304-23.207-120.418-64.403-147.159-77.917-34.704-17.519-74.019-18.566-119.735-9.253h-.015c-29.198 5.916-144.186 45.018-169.016 51.662-49.326 13.242-143.14-5.9-143.14-5.9s75.066-81.846 142.336-100.245c82.513-22.57 179.618-44.29 289.616-23.48 54.059 10.223 116.793 46.141 157.944 75.112 14.288 10.056 25.982 19.278 33.794 26.286a39.057 39.057 0 0 1 12.301 21.584c2.033 10.223-.015 21.19-6.446 30.275z\",\n fill: \"#f7ada1\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1242.024 1446.385c-1.411 5.642-4.217 10.966-8.676 15.638-8.312 8.737-37.389 15.881-56.106-5.172-32.657-36.706-79.192-66.997-103.703-84.212-31.822-22.327-96.817-33.43-143.413-30.791h-.015c-29.744 1.653-149.161 23.783-174.689 26.786-50.721 6.006-78.767-8.615-18.702-44.048 38.208-22.539 47.309-62.81 54.498-63.599 80.011-8.904 181.56-20.264 278.68 13.135 56.576 19.476 116.277 73.974 147.796 112.015 7.538 9.086 13.454 17.231 17.337 23.738 6.917 11.573 9.996 24.739 6.993 36.509z\",\n fill: \"#f7ada1\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1131.04 1478.147c-12.165 10.602-34.34 11.315-54.24-4.247-21.993-17.2-68.073-49.159-116.201-52.997-42.743-3.398-42.743 30.23-107.965 62.34-58.942 29.001-240.942 64.221-240.942 64.221l-29.972-120.6s269.261-121.116 409.473-91.796c48.264 10.087 96.043 42.455 125.014 73.398 8.646 9.237 15.623 18.368 20.431 26.726a37.932 37.932 0 0 1 4.307 11.543c2.26 11.664-1.153 23.798-9.905 31.413z\",\n fill: \"#f7ada1\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1302.441 1266.553c-8.356 5.696-21.112 6.391-32.931.856-16.232-7.594-24.561-24.053-18.625-36.755 1.631-3.49 2.988-4.318 6.144-6.444 11.338 4.84 21.854 7.393 28.298 11.163 11.325 6.618 17.596 18.759 17.114 31.18zm-3.386 78.732a20.99 20.99 0 0 1-1.906 3.473c-7.756 11.295-23.648 10.296-38.076.398-14.429-9.898-21.936-24.946-14.193-36.241 3.317-4.831 8.513-7.808 14.494-8.84 12.3 8.657 22.367 16.596 29.092 22.628a33.625 33.625 0 0 1 10.59 18.581zm-56.914 97.8c-10.694 9.236-24.869 2.845-36.939-10.669-12.165-13.609-13.254-29.827-2.601-39.349 5.762-5.149 9.584-6.066 17.69-4.091 6.77 8.16 12.083 15.475 15.57 21.319 6.212 10.394 8.977 22.218 6.28 32.789zm-101.048 4.674c-8.37 15.416-25.506 11.858-36.465 1.629-10.972-10.228-14.853-22.653-6.856-31.234 5.314-5.686 15.13-6.822 23.472-4.099 7.572 8.09 18.752 23.163 19.848 33.703z\",\n fill: \"#f36a8d\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1273.963 1313.69a4.977 4.977 0 0 1-3.038-1.031c-.256-.196-26.058-19.835-66.504-39.699-37.194-18.267-94.759-40.479-157.774-42.556a5 5 0 0 1-4.832-5.162 4.979 4.979 0 0 1 5.162-4.833c64.883 2.139 123.95 24.936 162.075 43.684 41.272 20.296 66.888 39.81 67.958 40.63a5 5 0 0 1-3.047 8.967zm-67.829 61.301a4.982 4.982 0 0 1-3.354-1.293c-.22-.199-22.393-20.114-59.219-40.247-33.865-18.514-87.436-41.019-150.328-43.092a5 5 0 0 1-4.832-5.162c.091-2.76 2.402-4.911 5.162-4.833 64.979 2.142 120.189 25.359 155.063 44.458 37.783 20.693 59.944 40.626 60.869 41.465a5 5 0 0 1-3.36 8.704zm-90.44 32.449a4.978 4.978 0 0 1-3.043-1.036c-38.419-29.531-92.9-46.893-153.407-48.888a5 5 0 0 1-4.832-5.162c.092-2.76 2.391-4.932 5.162-4.833 62.579 2.063 119.107 20.159 159.171 50.954a4.999 4.999 0 0 1-3.051 8.965zm-932.377 138.069.006.002 501.371-239.77 83.581 207.619-455.439 329.804c-67.51 49.01-112.459 51.92-124.759 52.148-48.784.905-120.982-15.679-169.45-104.687-21.485-39.456-41.04-228.045 164.691-245.117z\"\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.08 1510.199a5.001 5.001 0 0 1-.744-9.943l59.984-9.088a5 5 0 0 1 1.498 9.886l-59.984 9.088a4.969 4.969 0 0 1-.755.057zm-25.797 64.02a4.998 4.998 0 0 1-4.445-2.705 4.998 4.998 0 0 1 2.146-6.737l221.848-114.682a4.997 4.997 0 0 1 6.737 2.146 4.998 4.998 0 0 1-2.146 6.737L151.575 1573.66c-.734.38-1.519.56-2.292.56z\",\n fill: \"#f3ead9\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1465.742 1365.14h-.031a5.001 5.001 0 0 1-4.97-5.03l2.276-378.593a5 5 0 0 1 4.999-4.97h.031a5.001 5.001 0 0 1 4.97 5.03l-2.276 378.593a5 5 0 0 1-4.999 4.97z\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M835.328 350.085C791.607 221.47 847.916 86.018 961.097 47.543c113.181-38.474 240.375 34.6 284.096 163.214 43.721 128.615-4.011 252.661-117.192 291.135s-248.952-23.193-292.673-151.808z\",\n fill: \"#f7ada1\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1232.621 296.036-7.406 59.559 85.849-63.572z\",\n fill: \"#f7ada1\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1175.629 406.635c-15.58-3.084-35.302-10.152-53.814-25.906a7.027 7.027 0 0 1-.797-9.906 7.025 7.025 0 0 1 9.906-.798c33.259 28.305 71.984 24.65 72.369 24.608 3.858-.399 7.314 2.393 7.724 6.245a7.02 7.02 0 0 1-6.218 7.73c-.934.101-12.752 1.278-29.171-1.973z\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1201.804 263.02c-24.76 26.92-51.46 32.05-75.5 27.56-42.88-7.98-77.33-46.52-77.33-46.52 30.22-26.7 57.91-32.52 81.18-28.74 43.59 7.03 71.65 47.7 71.65 47.7z\",\n fill: \"#fff\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1201.804 263.02c-24.76 26.92-51.46 32.05-75.5 27.56-8.45-9.48-13.59-21.98-13.59-35.68 0-15.68 6.72-29.78 17.44-39.58 43.59 7.03 71.65 47.7 71.65 47.7zm-36.212-75.018c-1.501-1.21-37.323-29.332-82.382-3.311a7.026 7.026 0 0 0-2.571 9.6c.97 1.68 2.53 2.809 4.267 3.274s3.653.268 5.332-.703c36.508-21.083 65.306 1.111 66.558 2.102a7.028 7.028 0 0 0 8.796-10.963z\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m872.048 76.253-49.675 100.958-59.913 909.286-111.454-68.043-153.666-93.813s.015-.106.061-.303c2.776-15.82 111.757-633.457 192.542-799.303 7.751-15.926 15.243-27.681 22.357-34.34 9.723-9.541 20.371-16.396 31.428-21.205a114.26 114.26 0 0 1 3.519-1.471 112.56 112.56 0 0 1 5.172-1.881c8.555-2.882 17.261-4.657 25.861-5.597 4.824-.531 9.632-.804 14.349-.849 33.354-.379 63.144 9.981 74.52 14.501 2.578 1.031 4.202 1.744 4.717 1.987.121.046.182.076.182.076z\",\n fill: \"#d2e23d\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M741.697 140.297c-.914-.21-2.016 4.33-1.37 5.332.264-2.355 1.229-2.619 1.37-5.332zm-1.858 37.814-1.113-.114c-.388 3.337.207 4.572.421 6.632-.056 12.623.127-4.234.693-6.518zm-14.882 9.886c.513-2.42 1.009-6.293.028-7.63.11 2.288-.851 6.845-.028 7.63zm-1.595 15.236c-1.163 2.107-.651 3.692.073 5.818 1.297-1.118.061-3.097-.073-5.818zm-.801 7.686-1.158-.088c-.012 1.839-.555 2.11-.601 3.845 1.188.548 1.225-2.354 1.759-3.757zm14.14 23.331c.848.323 1.433-.149 1.606-1.843-.994.676-.309-6.645-1.37-3.005 1.069.902-.614 2.416-.236 4.849zm-14.799 3.055 1.168.064c-.821-2.458 1.146-5.599-.458-5.929.12 3.012-.825 2.838-.71 5.865zm5.992 4.273c-1.892 2.059-.337-7.85-1.289-4.991-.769 4.372.272 9.762 1.289 4.991zm-7.233 11.517c.014-1.473.338-3.645-.174-3.98-.032.548-.382 1.11-.392-.019-.047-.775.095-1.962-.284-2.004-.183 3.019-.586 6.528.849 6.003zm5.84 15.219c.14-2.655.146-5.703.747-6.969-.515-.016-1.031-.04-1.55-.056.206 2.473-.466 6.9.803 7.025zm-10.811 17.885c-.402 5.074-.198 8.799 1.028 10.229-.234-3.656-.677-6.848-1.028-10.229zm-3.93 105.188.17-.011a.262.262 0 0 0-.17.011zm0 0c-.492.032-.986.059-1.482.094-.275 3.816-.275 6.976.347 8.675-.288-2.765 1.989-3.942.715-5.484-1.465 3.11-.59-2.914.421-3.285zm-4.784 59.989c-.838 3.597.002 4.845.408 7.831.267-3.584.392-6.839-.408-7.831zm9.411 19.179c-.162 1.371-.498.749-.835.105-.156 3.015-.586 6.724.477 6.716-.643-4.608 1.092-4.378.357-6.821zm-6.258 15.55c.612-1.814 1.36-9.98.618-11.463-.61 1.792-1.36 9.976-.618 11.463zm5.188 5.006c.282-5.285.922-9.207.656-12.595-.138.895-.414 1.367-.898 1.252.64 2.368-.567 9.382.242 11.343zm-19.358 57.861c-.941-3.331 1.22-8.087.171-10.724-.193 3.886-2.651 11.065-.171 10.724zm4.652-5.575c.171-2.277 1.484-1.086 1.502-3.807-1.49 1.72-.119-3.806-1.608-2.093.012 3.711-1.3 5.058.106 5.9zm-7.322-1.088c-1.847.361-2.242 4.988-1.299 7.384.703-1.656.599-5.747 1.299-7.384zm4.461 29.09c-.013 2.803.157 5.158.983 5.824 1.311-2.783 1.513-14.857.57-18.124.177 3.81-1.537 1.918-1.588 5.088 2.335-3.516.917 11.988.035 7.211zm1.428 37.356c-.097-4.159 1.891-1.983 1.675-6.48-.443.088-.889.188-1.333.287-.294.8-1.368 6.11-.342 6.193zm-5.375 17.277c.622 2.674-.768 10.634.717 11.025-.879-3.963 1.626-10.52-.717-11.025zm-8.828 5.851-1.375.333-.449 7.641c1.734.729.728-6.797 1.824-7.975zm-15.788 94.458c-.541-2.31.529-8.926-.289-10.479-.584 3.358-1.31 10.004.289 10.479zM744.956 143.2c-.048.392-.093.793-.145 1.173.058-.315.105-.715.145-1.173zm-82.438 699.718a12.624 12.624 0 0 0-.039-.107c0 .159-.004.326-.009.498.019-.128.03-.262.048-.391zm-.455-.856c.172.193.302.458.416.749.002-.643-.061-1.102-.416-.749z\",\n fill: \"#abc80a\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M871.866 76.178a192.47 192.47 0 0 0-4.884-1.684h-.015c-6.477-2.154-18.672-5.916-33.779-9.146.115 1.363.18 3.128.217 5.015-.037-1.885-.103-3.649-.219-5.012-.79-.168-1.589-.334-2.394-.5a.644.644 0 0 1-.419.261c.014.817.114 1.275.265 1.514-.154-.237-.257-.695-.271-1.52.182-.015.318-.122.425-.258a11.774 11.774 0 0 1-.728-.152c-.025.79-.043 1.544-.086 2.251.041-.707.057-1.459.078-2.249-.393-.08-.792-.157-1.189-.235a33.676 33.676 0 0 0-.002.005l-.697-.136v-.007l-1.136-.223c.053 1.168.112 2.354.186 3.575l-.007.007c-.061-1.213-.121-2.412-.182-3.58-.592-.122-1.198-.228-1.805-.349l-.003.006-.098-.018a4.065 4.065 0 0 0-.006.156v-.159c-.106-.015-.228-.045-.349-.061l.028.249c-.01-.084-.018-.168-.029-.252-1.301-.24-2.618-.474-3.951-.702.021 1.258.028 2.486.023 3.68a163.37 163.37 0 0 0-.029-3.672c-1.593-.273-3.2-.546-4.839-.789.03 1.137.045 2.245.032 3.32s-.055 2.118-.138 3.126c-.269.379-.346 1.319-.691 1.48.345-.162.422-1.101.691-1.48a45.39 45.39 0 0 0 .139-3.126 86.652 86.652 0 0 0-.032-3.32c-1.395-.212-2.791-.425-4.217-.622v.004c-.388-.053-.778-.104-1.167-.156-.197-.03-.394-.061-.591-.076-.109 2.195-.353 4.538-.581 6.937.229-2.399.472-4.742.581-6.937a233.032 233.032 0 0 0-17.367-1.653 186.208 186.208 0 0 0-13.985-.364l-26.225 6.81a111.393 111.393 0 0 0-5.172 1.881 116.8 116.8 0 0 0-3.519 1.471c-1.001 5.916.212 15.578-.288 20.553.106-.667.349-.971.774-.743-.015 3.14.303 5.096-.713 6.977-.774-2.229.607-1.547.576-4.338-2.897 5.9-1.38 16.457-2.73 25.542.47 1.487.592 3.625.834 5.552-1.107 1.532-1.031 6.613-1.274 10.754 1.031.834 1.668 2.473 1.153 6.568 2.745-4.308 2.503-12.923 2.381-18.793 1.229 3.352 1.714-1.578 2.442 2.169-1.941 2.078-1.486 14.516-1.926 19.476.167-1.38.379-2.639 1.122-2.321-.121 2.73.607 7.917-.485 10.011.485-4.535-1.122-3.716.303-6.386-1.213 1.593-2.26 3.641-2.912 6.978 1.107.819.607-3.094 1.926-1.593-.046.925.243 1.123.273 1.881-1.062 1.107-.88 9.965-2.184 7.099.273 6.795-.516 16.806-2.791 19.278.303 11.482.94 20.613-.455 32.186-.561.122-1.35-.455-1.547.834.804.834.789 3.413 1.274 4.899-1.32.182-.091 2.594-.895 2.821-.03-1.365-.774-1.168-1.031-2.002.015 2.229-.243 3.686-.622 4.763 1.138.819.637-3.261 1.987-1.774-.167 2.381.455 3.018.516 4.854-1.577 3.625.607 9.677-1.168 16.427-.501-.333-.652-1.426-1.471-1.062-.061 3.595 1.517 3.534 1.562 6.932-.531-.258-.561-1.638-1.047-2.018 2.518 5.021-1.107 16.518-1.335 19.643.136-1.077.743-2.351.804-.956-1.517 16.018-1.365 29.926-2.199 45.109-.44.106-.531-1.486-.774 0-.015 6.932 2.639 42.667-1.775 36.039-.121.804-.106 2.048-.485 2.093 0-1.229.212-2.958-.243-3.11-.789 3.231.121 9.192.121 13.561-.592 1.077-1.289 1.774-1.744 3.215 2.396 7.736-2.215 13.227-1.456 21.235-1.062.379-.106-4.126-1.441-3.11 2.745 10.815-1.016 29.669-.652 45.307-1.092.455.683-6.158-1.001-4.277.561 11.331-1.941 33.112-1.562 47.673-1.092-3.292-.774 4.232-1.881 4.717-2.275-9.601.774-20.401-.774-33.354-.637.667-2.078-1.077-2.123 1.334 3.64 3.216.637 17.337 1.517 26.574-.683.561-.531 3.595-1.775 2.472 1.957 8.509.47 26.119-1.638 40.028 1.668 3.17-.865 11.437-.046 17.352-.5-2.442-2.336-1.471-2.245-5.445 1.183-1.532 1.638 3.322 1.759-1.426-3.049-1.046-.167-16.442-1.092-19.415-.273 2.973-.652-1.486-1.699.228.91 4.808-.592 9.48.546 13.742-1.38 2.7-3.094 12.043-.652 7.554-2.275 4.565-1.016 13.166-3.2 17.564 1.016-12.908-.683-17.292-.273-26.787-1.79 5.733-1.138 8.767-1.608 14.212-.607.152-.925-.41-1.229-.971-1.168 17.2-1.35 28.667-4.884 42.288.516.091 1.259-.455 1.244.956-2.23 8.145-2.26 22.6-2.533 30.745.137-1.532.288-2.958 1.016-2.669-.273 5.4-.227 11.771-2.002 12.666.015 2.821 1.881.743 1.502 4.565-1.198 4.065-3.064 6.188-4.11 10.814 1.972-4.338 1.729 16.427-1.062 11.437-.743 7.979.364 11.968-2.351 18.126.698 2.154 1.562 3.853 1.85 7.083 4.368-1.987 4.732.576 8.024-.88-.592-6.522-.865-11.331 2.078-14.288-1.122-1.092-.516-11.209.728-13.818-2.351-7.857 2.033-20.355 2.184-33.552 2.078.243.728-4.201 2.503-6.583-.061 4.368.137 8.069.228 12.043-1.259-1.471-1.699.577-2.745 3.049 1.198 1.411.546 7.796-.516 9.89 1.759 1.046 1.062-5.4 2.078-6.583.394 4.626.379 10.345.986 14.44-2.563 2.973-2.897 12.18-2.215 17.807-1.153 2.76-1.304 2.791-2.214.561 1.335 11.179-.03 25.786-2.23 34.446 3.094 2.518-1.76 14.106-.94 18.08.349-1.926.865-3.367 1.547-4.277-.531 4.065.576 3.58.046 7.645-1.744.212-1.881 5.324-2.654 8.494.774.986 1.714-4.368 1.805-.561-1.077 11.209-1.653 15.532-.774 23.51-1.547 1.638-2.791.925-3.155 8.858.804-.364 1.411-.182 1.759.728-.561 4.323-1.441 8.297-.228 11.907.029-.015.043-.029.057-.043-.019.018-.035.028-.054.047l.057.159v.019a.812.812 0 0 0-.061-.182c-2.139 2.169-1.82-4.566-1.744-8.661-.637 8.782-5.931 15.653-2.761 18.08-1.835 13.818-4.247 23.616-6.659 38.542-.652-.076-.667-1.972-1.259-2.23-1.38 7.66 1.775 10.8-1.153 12.665.303-6.765 1.153-15.016.03-17.686-.197 2.594-.561 4.732-1.244 5.885 1.441-6.492-1.775-.607-.258-12.089-1.866 1.759-1.229-3.519-2.624-3.125-.94 3.564-1.153 9.419-2.518 11.74-.774-10.269-.061-16.973 2.275-23.768.152 1.911-.956 7.281.091 6.704.167-7.493 1.411 4.232 1.577-3.246-1.714-3.413-1.502-8.236-2.063-12.696 1.744 2.124-.925-5.764 1.866-8.63-.318-2.169-1.411-2.199-1.577-4.793 3.58-11.406 4.338-31.534 5.612-42.41-.652 2.108-.728 6.021-2.154 5.84.076-1.32-.288-1.472-.319-2.503 2.306-4.672.501-12.817 3.125-15.153.349-6.719-.106-6.34 1.047-10.572-.94-.88-2.184 1.289-1.471-5.976.91.121.698 3.246 1.623 3.382.743-10.253.076-28.167 2.836-34.947-6.037-14.819 5.081-42.637.849-54.589.592-.152.531-2.26 1.031-2.654-.455 3.261-.076 4.398 1.122 3.413.212-6.204.379-6.052 1.699-14.91-2.533 2.306-2.73 11.771-4.808 15.578-.683-2.473.197-8.979.318-13.454-1.395 1.851-2.063 12.938-2.245 16.306-.015.151 1.395.349 1.198 2.184-.197 1.744-1.441 3.474-1.638 5.278-.91 8.418.652 20.158-2.336 25.27.516-4.505-.015-6.401-.925-7.235-.212 20.947-2.321 34.461-3.398 58.942-.47.137-.501-.895-.849-1.031.546 8.206-1.744 18.11-.197 27.166-.652-.121-.667-1.941-1.259-2.229.061 5.43.561 9.708 1.031 14.045-.956-2.472-1.805 4.915-3.125 6.188 1.047-.561 1.426.637 1.183 3.595-.849 3.17-1.047-1.35-1.486 1.775.152 6.75-.076 14.561.713 19.643-.88.349-1.198-6.432-2.214-1.957 1.957 7.751-2.836 31.959-3.762 40.301.819-4.292 1.274 3.792.152 5.385 1.092 1.426 1.82-6.022 2.002-2.063-2.002 2.548-1.153 11.255-2.169 13.075-1.85 2.821-.015-4.641-1.213-3.671-1.426 6.097-2.624 12.999-3.595 20.613-1.32-12.468 4.02-39.619 1.486-56.546-1.198 1.547.046 5.9-.015 8.1-3.231 2.018-.546 4.899-1.941 8.828-3.716-2.153 1.153-14.955.288-20.416-.152 1.699-.334 3.306-1.138 3.079.091-1.38-.288-1.501-.303-2.593.834-8.676 3.504-24.314 1.016-24.436.637-6.705 4.186-12.832 3.443-18.277-1.274 7.22-2.73 14.03-5.278 17.534-.667.091.303-9.662-.622-5.142.94 9.404.455 13.196.015 22.722.834-1.259.303-6.659 1.775-5.946-.409 4.186-.121 10.481-1.638 11.285-.531-3.731-2.67 2.912-1.608 3.231.652-3.868 1.699.561 1.759 2.124-.728.5-.652 3.488-.819 5.688-.849.182-1.532.819-2.033 2.047-.318 4.323.182 6.431.364 9.389-3.792 18.778-.152 42.151-2.715 60.186 1.122 3.155-.561 10.86.819 9.905-.576 1.835-1.881 10.087-1.107 10.36.91-1.229.379-6.886 1.426-7.66.546.076.683 1.29.819 2.488-1.577 4.353-.94 4.732-.531 8.721a266.32 266.32 0 0 0-1.759 4.99c.197 8.828-.212 12.878-.334 21.629-.698.364-1.062-.212-1.426-.819.273 3.716.076 7.311-1.138 10.587-.288-4.08-1.016-6.886-1.881-9.298.41 6.158-.774 16.927 1.335 18.247.455-2.791-1.107-5.552.455-7.463.182 4.384.607 8.1 1.289 11.073-.895.182-1.274 2.002-1.274 4.914-1.077-2.745-2.912 3.003-3.853 6.143 1.805.152 2.169-4.156 3.762-4.626-.865 7.175.698 1.214.728 4.065-.243 7.599-2.366 9.404-2.958 16.048-1.502-1.047-1.304-7.053-2.412-9.222-.849 8.706 1.38 8.464 1.016 15.775-1.274.425-1.426-2.154-2.154 2.488 2.579 8.191.303 28.455.015 40.468 1.395-2.7-.652-4.232.895-6.477.713.046.379 3.109.758 4.156-1.32 1.487-1.471 6.583-3.413 6.234 1.047 6.295-.106 14.212-.592 22.813l111.454 68.043 59.913-909.286 49.675-100.958s-.061-.03-.182-.076zm-119.629-4.763c.015-.842.053-1.733.091-2.627-.038.895-.076 1.786-.091 2.627zm-2.197-2.256zm-.199.057c-.096 1.305-.129 3.231-.225 5.384.096-2.153.129-4.079.225-5.384zm-2.328.104c.255 3.026-.487 9.557-.493 13.019.006-3.462.748-9.993.493-13.019zm-.903 30.156v-.015.015c.341-.126.623-.467.858-.956-.235.489-.518.83-.858.956zm.993-1.268zm.557-2.303.021-.148-.021.148zm-.17-10.369c.239.876.433 2.934.459 5.209-.026-2.275-.22-4.333-.459-5.209.559-1.512.925-3.331 1.17-5.224-.246 1.893-.611 3.711-1.17 5.224zm2.592-15.063c.059.794.085 1.647.548 1.609.317-.408.621-.785 1.103-.667-.483-.118-.785.259-1.103.667-.463.038-.489-.815-.548-1.609zm74.552-6.495c-.006.011-.008.025-.015.035v-.003l.015-.032zm-4.09 13.882c-.612 5.729-.617 11.928-.222 18.792-.399-6.862-.395-13.059.217-18.791.038-.629-.003-.826-.085-.812.085-.021.128.169.09.81zm-.808-.009c.01.011.02.029.031.034-.011-.004-.021-.023-.031-.034zm.182-2.915c-.086.69-.182 1.348-.3 1.927-.006.543.028.83.087.953-.06-.12-.096-.404-.09-.956.119-.578.216-1.235.304-1.924zm-4.233 120.524zm-3.705 51.715zm-3.636-54.766c-.18-.013-.372-.035-.565-.051.192.016.385.039.565.051.728-.334.607 1.334.607 2.745 0-1.411.121-3.079-.607-2.746zm.456 19.714zm3.638-131.184c-.19.101-.389.18-.513.483.124-.303.322-.383.513-.483zm-.62 1.851c-.038-.565-.012-.939.052-1.196-.065.256-.09.631-.052 1.196zm.714-1.905zm-.067-1.555.103.324-.103-.324zm-1.133-2.426c.224.215.406.521.569.873-.163-.352-.345-.658-.569-.873zm-.661-2.911c.117-.8.193-1.718.169-2.934.002-.008.004-.018.007-.025a17.372 17.372 0 0 1-.176 2.958zm-.712 2.386c.129-1.02.25-2.065.398-3.031-.147.968-.267 2.013-.398 3.031zm.009 3.569.01-.015c-.004.006-.01.01-.01.021v-.005zm-1.835 107.985c1.207-2.022.393-6.646-.256-10.692.649 4.047 1.464 8.671.256 10.692zm.062-2.331v-.004zm2.82-83.762zm-1.835 22.326zm-.395 1.047c.013-.949.064-1.259.152-1.288-.087.028-.138.339-.152 1.288-.137 1.991.486-.14.787-.056-.301-.083-.924 2.046-.787.056zm.576 2.927.125-.638c-.041.211-.082.424-.125.638zm-.712-10.617c.581.603 1.22 1.052 1.976 1.228-.756-.176-1.394-.625-1.976-1.228zm2.109-5.612c-.077 1.493-.494 1.969-.805 2.752.31-.784.728-1.259.805-2.752-.25.176-.52.142-.781-.047.261.188.531.223.781.047zm.789 6.917c.003-.419-.066-.674-.179-.832.112.158.182.412.179.832zm-1.077-8.646c-.546-1.653-.789-.273-1.577-.273h-.03a6.133 6.133 0 0 0-.001 0h.03c.789 0 1.031-1.38 1.577.272zm-1.305 18.962c-.297 1.516-.582 3.07-.705 4.571.124-1.501.408-3.055.705-4.571zm2.171-38.016v-.032zm.204 5.174c-.13.133-.294.492-.471.282.177.209.341-.149.471-.282zm-.206-5.123zm.456 5.776c-.159.125-.427.558-.702.971.274-.414.542-.846.702-.971zm-.056-7.3c.007 0 .013.005.019.007-.007-.002-.013-.007-.019-.007zm.05.019c.048.034.091.11.142.2-.051-.09-.094-.166-.142-.2zm-1.575 6.13c.001-.135.002-.267 0-.396zm-.086-1.669zm.067 2.5c-.018.565-.042 1.147-.054 1.701.008.368.088.486.211.452-.123.035-.204-.084-.211-.452.011-.554.036-1.136.054-1.701zm-.964-12.678zm1.364 17.489c-.409-.454-.869-1.063-1.403-1.046.534-.018.994.592 1.403 1.046zm-1.516 37.541c-.073.017-.137.06-.203.098.066-.038.13-.081.203-.098zm.47 6.992c-.536 1.607-.898 5.913-1.096 10.604.197-4.692.56-8.997 1.096-10.604-.182-1.145-.334-1.846-.563-2.156.229.309.381 1.011.563 2.156zm-1.169 12.615zm-.103 6.982v-.012zm-.684 17.867c.178.049.308.217.401.476-.093-.258-.223-.426-.401-.475a23.75 23.75 0 0 0 0-.001zm.339 7.872c-.007.003-.015.012-.022.015.007-.003.014-.012.022-.015zm2.346 17.414c-.397 5.383-.639 9.949-.71 14.259.072-4.31.314-8.876.71-14.259zm1.744 24.587c-.456 1.229-.774 3.155-.994 5.838.22-2.683.538-4.61.994-5.838zm-.77 10.522zm1.346-153.419c-.819-5.415-3.079-3.413-2.67-8.828a.043.043 0 0 0-.007.006.043.043 0 0 0 .007-.006c-.41 5.415 1.85 3.413 2.67 8.828zm-2.609-10.496-.002.005-.012-.059v-.009c-.002-.104 0-.197 0-.296v.298c0 .03.015.046.015.061.172-.212.31-.485.43-.792a2.952 2.952 0 0 1-.429.792c.755 3.627 2.095 5.063 2.976 7.576-.881-2.514-2.222-3.949-2.977-7.576zm.722-1.818zm3.964-5.739c0-.071-.011-.14-.013-.21.002.07.012.14.013.21zm-.315 19.833c-.124.473-.286.83-.532.936.245-.106.408-.462.532-.936zm.378 16.164c.047.749.194 1.791.336 2.89-.142-1.099-.289-2.141-.336-2.89zm.106 8.448c.152-.082.266-.237.35-.452-.084.215-.198.37-.35.452zm.412-.671c.176-.662.154-1.7.05-2.848.104 1.148.125 2.186-.05 2.848zm-.247 16.292c-.209-4.88-.51-9.966.744-12.935.039-.494-.003-.804-.085-1.021.082.217.124.527.085 1.021-1.254 2.969-.953 8.055-.745 12.935.07 1.627.129 3.231.117 4.726.012-1.495-.048-3.099-.117-4.726zm-.131 27.374c.289-2.154.538-5.79.516-9.345.023 3.556-.226 7.191-.516 9.345zm.446-11.923zm-1.718 89.069c.141-2.164.302-4.151.176-5.122v.001c.126.972-.035 2.958-.176 5.121zm-.167 4.203v.01-.01zm1.393-42.566zm-.186-3.476zm.168 5.061c.006-.083.016-.171.026-.26-.01.088-.02.178-.026.26zm.921-5.805zm.626 10.386c0-.063-.068-.258-.139-.515.071.257.138.451.139.515zm-1.411-43.804v-.016c-.06-.151-.121-.272-.182-.394.061.121.121.243.182.394v.016c.531 1.334.843 3.294.987 5.577-.145-2.283-.457-4.242-.987-5.577zm.005-52.716c.447-.479.509-2.128.814-3.057-.746-2.299-.616-4.882-.469-7.688-.147 2.807-.277 5.39.469 7.688-.305.929-.367 2.578-.814 3.057zm-.05-19.893c-.076.447-.133.949-.188 1.457-.031.286-.062.57-.094.85.033-.28.063-.564.094-.85.055-.507.112-1.01.187-1.457zm-.516-18.247c.058.215.085.432.124.648-.039-.216-.066-.433-.124-.648zm-1.037 10.36c.004.318.058 1.035.081 2.639-.023-1.604-.077-2.32-.081-2.639zm-1.379-9.042zm-1.422-1.272v-.002c.002-.133.007-.258.01-.389-.003.131-.008.258-.009.392zm-.246-1.057zm-.68 24.127c-.607 2.396-.956 5.567-1.517 8.13.561-2.563.91-5.733 1.517-8.13zm-1.686 49.703c-.001.347.004.717.018 1.11.246-.212.446-.339.614-.375.154-.033.278.022.387.151-.109-.128-.233-.184-.387-.151-.167.035-.367.162-.614.375a30.935 30.935 0 0 1-.018-1.11zm-.255 49.435c-.469 3.575-.075 7.241.188 11.452-.262-4.211-.657-7.877-.188-11.452zm.091 22.479c.378-.22.615-.855.805-1.632-.189.777-.427 1.412-.805 1.632zm1.77 10.354zm.5 12.845zm.93 10.823c1.153 1.487.273-3.109 1.077-2.7-.804-.409.076 4.187-1.077 2.7zm2.336 1.046c-.597-.275-1.184-.527-1.304-1.961.119 1.434.707 1.686 1.304 1.961.076-.103.151-.205.225-.312-.074.107-.15.209-.226.312zm.88-9.146c4.383-10.072 1.168-28.516 1.865-37.571v.001c-.697 9.056 2.518 27.499-1.866 37.569zm6.719-136.359a.91.91 0 0 1-.004-.052c.072-6.457 1.329-14.559 1.905-22.527-.577 7.988-1.835 16.114-1.901 22.58zm2.065-25.198c.204-4 .181-7.916-.31-11.517.073-.192.14-.345.203-.465a4.328 4.328 0 0 0-.198.459c.488 3.602.51 7.52.306 11.523zm-.148 2.414c.018-.255.03-.509.047-.765-.017.255-.029.509-.047.765zm.486-14.697c.501.458.627 3.982 1.48 3.636v.006c-.858.354-.983-3.177-1.48-3.643zm4.35-2.427c-.064.889-.184 1.662-.373 2.241.187-.581.306-1.354.373-2.241zm.876 6.005a3.16 3.16 0 0 0 0 .003v-.003zm4.284 9.362c-.118.318-.296 1.281-.492 1.971.195-.691.372-1.654.492-1.971zm-.77.844c.077-4.134.262-7.333-.162-9.392.428 2.059.243 5.253.162 9.392zm-.077-11.936v.01c-.17-.049-.216-.379-.236-.77.022.386.071.71.237.76zm-.282-1.664v.014c-.073.131-.141.28-.203.444.062-.169.129-.324.202-.458zm1.21 12.655c.02.02.036.096.049.224v.029c-.011-.15-.028-.229-.049-.253z\",\n fill: \"#abc80a\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M740.352 175.343c1.218.624 2.417-8.317 1.467-7.307-.13 1.379-.033 3.441-.551 3.676-1.696-3.575.694-15.451-.612-17.735-1.263.219.804 3.677-.875 2.669.148 5.043.693 10.632-.363 14.861 1.408-1.528 1.122.197.933 3.837zm-12.319-30.381c-.4 3.13-1.69 9.237-1.025 12.01.24-3.65 1.362-10.247 1.025-12.01zm-2.857 60.359c.505-3.588 1.617-6.792.514-9.588.23 3.728-1.139 8.354-.514 9.588zm-6.849 105.514c-.015-3.572-.784-5.457-1.147-8.246-.058.63-.131 1.227-.457 1.027l-.112 2.06c1.658.753.394 5.425 1.715 5.159zm-6.862 66.535c.141-.834.133-2.123.534-2.183-.602 3.984-.057 10.091.82 7.49-1.259-1.742-.043-6.59.526-9.7-.622-2.667-2.256 2.363-2.339-2.024 1.821-6.879-.218-18.001 2.397-21.391.858 3.747-2.225 15.295.641 18.045.35-6.087-.206-13.445 1.793-18.122-.356-1.02-.705-2.066-1.04-3.138.919-3.896.695.861 1.268-1.083-.925-1.947 1.413-10.24-.519-5.25 1.887-8.894 2.627-16.484 2.158-25.04-.432 6.972-1.44 7.503-2.222 11.438-.754-7.083 2.353-11.045.848-15.581-.192 1.62-.916.722-1.202.002-.159 2.745-.109 6.104-1.144 6.228-.685-1.16 1.429-8.568-.288-9.327-.915 26.228-2.499 47.231-4.112 74.046.69-1.712.831-5.079 1.593-6.546.047.841-.103 2.132.29 2.137zm21.499-59.374c-.134-1.799.765-6.005-.089-6.139.06 2.276-1.48 5.557-.692 6.145.143-1.239.465-.635.781-.006zm-10.982 75.992c1.377-4.729.382-10.631-.086-13.941.214 4.187-.459 10.52.086 13.941zm-2.498 1.245c2.328.759.97-5.831 1.266-8.695-.618.221-1.477-.299-1.684 1.178 2.42-.157.896 4.031.419 7.517zm-12.366 46.045c1.043-3.872 2.132-8.547 1.098-12.352-.144.884-.42 1.333-.899 1.193.496 4.217-.931 8.567-.199 11.158zm11.141 1.11c-.013 2.101-.589 2.516-.641 4.505 1.464-1.55.74 7.167 1.426 4.312-.136-4.691.58-6.415-.784-8.816zm-4.325 35.251c.002 6.484-1.525 16.197.667 19.286-1.447-5.27.426-14.846-.667-19.286zm-4.174 15.37c.126-1.405.275-2.746.977-2.416-.044.775-.086 1.544-.127 2.304 1.749.074-.1-4.88-1.024-4.43-.637 1.6-.793 4.364.175 4.542zm-9.65 51.654c.342 3.981-1.449 8.56-.536 9.607.153-3.646 2.268-8.517.536-9.607z\",\n fill: \"#abc80a\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m779.826 230.098 4.064-16.241 85.257-143.014s-57.162-24.652-102.47-8.408c-11.326 36.058-19.235 114.3 13.15 167.664z\",\n fill: \"#f3ead9\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M899.047 267.771s136.871-27.222 122.218-166.428c0 0 170.669 20.005 115.721-37.62 0 0 87.363-.153 72.519-38.238-14.844-38.084-85.263-22.343-132.967-21.837-47.704.507-180.393-9.597-262.516 119.753s-30.212 287.776 70.645 335.731l-1.863-88.793z\",\n fill: \"#d2e23d\"\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M981.621 49.99c.363.559-1.265.056-1.337.383.488.274 3.815 1.257 4.254.988-.462-.145-.675-.3-.546-.472.716.137 1.721.423 1.85.251-2.131-.348-2.288-.785-4.221-1.15zm58.262 2.683c3.015.665 3.02.478 5.482 1.176.503-.754-4.763-1.402-5.482-1.176zm-31.916-1.516c1.366.113 3.384.564 3.759.156-1.914-.461-3.666-.832-4.312-.627.464.143.681.299.553.471zm99.226 32.481c.903-.017 3.351.592 4.317.819.791-.569-6.659-1.537-4.317-.819zm15.938 3.85c2.127.231 3.684.195 6.844.912.55-.501-5.049-1.324-5.543-1.187 1.885.519-1.795-.169-1.301.275z\",\n fill: \"#abc80a\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1143.647 92.603c-3.047-.518-6.153-1.116-8.948-1.47-1.434-.302-1.371-.701-.539-.782l-3.715-.665c-1.599-.251.813.447-.086.672-5.035-1.268-8.885-2.705-13.515-3.18.307-.299-.363-.522-.532-.785-2.592-.218-6.718-1.304-8.643-1.631-.161-.551 2.286.144 2.567-.201-6.879-1.278-13.841-4.015-22.7-5.103-1.731-1.195 3.919.772 4.405.183-5.905-1.615-13.682-1.695-18.435-3.696-1.407-.343-.753.342-1.916.123-4.606-1.755-9.659-2.715-14.668-3.387-.646-2.433-12.762-3.15-18.069-5.737-4.014-.402-10.106-2.031-14-3.388-1.253-.223-1.684-.024-2.527-.04-2.338-.489-.196-.184-.523-.633-1.783-.441-1.941-.042-3.719-.481.071.218 1.091.389 1.801.573-4.029-.471-9.607-2.104-14.025-3.129 2.546.182 8.759 1.402 10.973 2.45.672.108.473-.236 1.283-.059-.643-.783-4.228-1.849-6.048-1.687-2.071-.668-3.461-1.383-5.349-2.066-2.687-.743-1.348.622-3.794.009-.677-2.048-11.251-2.815-13.143-4.548-3.923-.634-11.051-2.567-16.356-4.128 1.896-.002 1.087-.488-1.071-1.114 3.91.701 2.751 1.463 7.292 1.695-.817-.517-1.225-1.054-3.525-1.514 3.126 1.102.324.441-2.491-.232 1.066.083 1.428-.212 1.971-.409 5.007 1.314 15.116 3.68 19.597 3.654-2.428-.63-5.709-1.496-7.267-1.836-.175.336.4.642 1.741.917.036.383-2.171-.418-3.073-.529 2.041-.084-1.197-.789-1.045-1.279l3.653.835c-.029-.933-6.13-1.61-7.785-2.486.367-.56 1.885.74 4.281.82-.637-1.107-3.779-1.178-5.955-2.076 1.697-.586 6.542 1.175 9.806 1.746 2.057.363 1.584-.245 4.283.807.605-.18 4.263.215 7.436.829-.251.171-1.112.022-1.294.226 4.352 1.071 5.599.518 6.938.009-.794-.531-2.121-.307-3.619-.989 4.761.869 1.96-.158 5.091-.234 3.859.846 9.523 2.38 8.622 1.238 5.205.873 9.518 2.191 12.279 2.021 3.802 1.87 8.622 1.878 12.259 2.149-2.804-.897-4.458-1.538-7.859-2.052-.347-.613 3.292-.092 3.73.295 1.223.149 1.697-.091 1.959-.434-3.529-1.266-7.075-.895-9.705-2.291 3.069.362 9.201 1.214 14.739 2.335 2.259.46 9.944 2.755 7.334 1.4 2.006.047 8.464 2.707 8.631 1.127 11.466 2.278 21.042 3.82 34.28 6.129-.021-.384-2.576-.581-3.635-.891 1.649-.125-.973-.327-.517-.789 2.037.621 4.027 1.248 5.375 1.922 5.098.131 14.195 3.274 17.236 2.486 2.404.696 3.782.963 3.714.358 4.093 1.363 7.225.79 11.034 1.886-.35-1.725-8.641-2.12-12.104-3.289 5.122.367 13.862 2.547 19.663 2.959.99.254 2.281.549 3.713.857a76.96 76.96 0 0 0-2.013-2.204c-3.718-.727-7.334-1.384-10.681-1.843 1.037-.529-3.16-.607-2.985-1.068-21.763-3.469-42.62-8.015-63.392-12.614 24.662 4.847 55.048 10.587 77.927 15.365.65-.011 1.6-.032 2.802-.072-.027-.172.158-.287 1.11-.178.06.045.137.086.205.129 8.027-.322 24.177-1.432 38.853-5.243-9.895-1.5-22.587-2.647-30.318-5.161-2.151-.059-4.163-.699-4.177-1.418 2.328-.194 7.353.824 9.266.418-.332-.576-.835-1.134-2.921-1.534-1.504.397-4.858-1.164-4.361.1-.931.378-.764-.973.103-.84-5.917-.984-8.773-2.772-12.605-3.46 3.673-.085 7.721 2.051 15.14 3.048 1.344.211.343-.667.729-.901-.231-.745-4.561-1.1-5.993-1.742.712-.648 4.486 1.067 6.154.399 2.966.943 12.258 3.147 12.197 1.576 10.305 1.947 20.633 3.403 30.872 4.606 12.067-5.648 19.738-14.395 14.454-27.952-14.844-38.085-85.263-22.343-132.967-21.837-23.01.244-65.795-1.975-113.138 10.173.871.224 1.866.514 2.502.612-.502.382-1.662-.079-2.985-.491-50.68 13.101-106.52 42.714-148.896 109.459-82.123 129.35-1.694 266.444 37.224 314.472l31.557-67.534 16.243-102.568s136.871-27.222 122.218-166.429c0 0 100.365 11.763 122.382-8.739zM984.284 49.224c.814.241.433.533.489.805-.681-.3-1.592-.597-3.008-.871.228-.304 2.291.369 2.519.066zm123.488 11.848c.62.011.692-.242 1.782 0a3.134 3.134 0 0 1-.491-.266c1.788-.148 3.736 1.286 6.107 1.167-.716.555-3.804-.158-5.368-.797.822.448-.49.206-.857.466-1.044-.36-3.278-.627-2.985-1.093.48.184.97.367 1.812.523zm-3.037-.759c.411.518-4.205-.523-1.919.318-.875.269-2.681-.775-4.251-1.005.584-.488 3.71.271 6.171.687zm-13.257-3.806c-1.139.292-6.875-.99-7.974-1.259.651-.439 5.367 1.127 7.974 1.259zm-11.58-2.332c-1.252.043-3.83-.594-5.532-.787.926-.322 4.142.403 5.532.787zm59.057-2.036c-.693-.266-1.605-.51-3.02-.717-.373-.719 3.98.352 3.02.717zm70.272-11.145c-1.521.003-2.455-.853-3.012-.435-2.739-.72 4.103-.086 3.012.435zm-6.781.728c.42.711-2.872-.202-4.249-.29.898-.133 2.384.008 4.249.29zm-6.569-7.803c-.963.367-2.621-.527-4.202-.638.414-.296 3.712.405 4.202.638zm-6.142 6.4-3.013-.472c-.083-.574 3.397-.237 3.013.472zm-63.178 6.634c.103-.483 1.462-.365 2.536-.39 8.903 2.12-.67-.216-2.536.39zm12.255-13.185c-1.916.164-4.714-.998-6.616-1.384-.536-.511 4.391 1.07 6.616 1.384zm-8.585 8.888c-.884-.24.267-.171.07-.503 1.991.539 4.122 1.065 5.995 1.615-1.425.329-4.432-1.461-6.065-1.112zm11.292 3.943c-.797-.314-1.138-.665-2.369-.938.802-.168 3.246.898 5.443 1.143.212.515-3.291-.721-3.075-.205zm7.526-.714c.883-.103 3.198.069 4.27.571-.308.328-2.995-.445-4.27-.571zM1165.807 19c-.115.286.688.476.517.77l-1.794-.303c.889-.147.595-.287-1.156-.541.416-.16 1.316-.088 2.433.074zm-21.472-4.283c-1.86.261 3.285.847 2.928 1.037-.146-.707 2.314-.156 3.589.64 1.7.134-.816-.602.681-.564 1.998.749 6.875.953 5.918 1.556.701.094 1.065.221 1.175.374 1.476.084-1.079-.943 1.883-.359-2.09.214 1.361.7 2.307 1.085-3.269.453-10.997-1.664-15.04-1.957-.789-.307-1.137-.659-1.71-.989-.702-.097-.543.215-.662.397-3.862-.629-6.322-2.272-10.109-2.364.195.421 3.173.587 3.547.995-1.582.049-2.405-.611-4.812-.711-.448-.691-.02-.424-.468-1.117 5.033.731 4.366.91 10.774 1.977zM1128 36.067c-.585.393-1.499-.505-3.026-.57-.199-.743 2.982.318 3.026.57zm-69.077 7.558c.757.083 1.276.047 1.285-.246 2.366.709.387.614-.707.541-2.164-.363-1.401-.907-3.566-1.267.541-.282 3.786.627 2.988.973zm-8.479-1.973c-1.059.104-5.624-.984-6.67-1.429 1.302-.675 4.099 1.11 6.67 1.429zm-18.854-3.736 2.423.528c.377.748-3.005.011-2.423-.528zm.319 9.567c-.078.445 1.86.781 1.688 1.23-1.658-.759-2.721-1.18-5.42-1.527 1.086.019 1.683-.216 3.732.297zm-.297-17.33c-1.694.157-2.99-.605-6.071-1.171-1.265-.614 4.438.877 6.071 1.171zm-13.71 14.412c.093.166-.262.103-.635.03-.507-.144-.578-.06-.631.033-.944-.282-.431-.638-2.377-.872-1.828-.661 3.555.536 3.643.809zm-14.462 3.495c.133-.171-.085-.329-.552-.471.372-.079 1.734.13.662-.196.682-.283 2.669.74 2.353 1.049-.569.008-1.407-.13-2.463-.382zm4.497-4.173c-1.333.371-4.2-1.036-6.157-.871.3-.709 4.193.189 6.157.871zm-11.92-22.086c.852.876-2.618-.541-2.504-.054-1.738-.649.836-.505 2.504.054zm-3.195 25.572c-2.293-.019-8.781-1.025-9.657-2.566 2.087 1.224 5.807 1.674 9.657 2.566zm-10.993-2.184c-2.498-.765-2.668-.664-5.467-1.27.902.056 5.434.507 5.467 1.27zm-1.256 3.518c-1.523.101-4.766-1.124-5.41-1.605 1.261-.091 2.516 1.216 5.41 1.605zm-23.069-8.873c.17-.249 4.618.394 4.243 1-1.878-.681-2.023-.514-4.243-1zm6.703 1.408c5.011.483 4.629.724 11.61 2.204-2.136.203-7.215-1.177-11.61-2.204zm15.534 41.205c-.449-.707 2.045.174 2.482.395 5.71 1.268-2.168-.055-2.482-.395zm71.183-11.89c1.802.333 1.824.772 3.629 1.105-.191.502-3.977-.6-3.629-1.105zm45.723 11.557c-2.086-.345-.865-.933-3.621-1.231.907-.214 4.542.766 3.621 1.231z\",\n fill: \"none\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M963.4 13.822c-.161.041-.321.079-.483.121 1.323.412 2.483.873 2.985.491-.637-.098-1.631-.388-2.502-.612zm-5.894 26.014c2.22.486 2.365.318 4.243 1 .375-.606-4.073-1.249-4.243-1zm6.703 1.408c4.395 1.027 9.474 2.407 11.61 2.204-6.981-1.48-6.599-1.72-11.61-2.204zm16.366 7.465c-2.895-.389-4.15-1.696-5.41-1.605.645.481 3.887 1.707 5.41 1.605zm4.198 1.321c-.056-.272.325-.564-.489-.805-.228.303-2.291-.37-2.519-.066 1.417.274 2.327.57 3.008.871zm8.05-2.656c-3.85-.892-7.57-1.342-9.657-2.566.876 1.541 7.364 2.547 9.657 2.566zm-10.597 35.47c-.437-.221-2.932-1.102-2.482-.395.314.34 8.193 1.663 2.482.395zm11.288-61.096c-.114-.487 3.356.93 2.504.054-1.669-.559-4.242-.703-2.504-.054zm8.268 21.27c1.956-.166 4.824 1.242 6.157.871-1.964-.682-5.857-1.58-6.157-.871zm1.769 4.376c1.072.326-.29.117-.662.196.467.142.685.3.552.471 1.056.251 1.893.389 2.463.382.316-.309-1.671-1.331-2.353-1.049zm13.087-2.765c.053-.093.123-.176.631-.033.373.073.728.136.635-.03-.088-.273-5.47-1.47-3.643-.809 1.946.234 1.434.59 2.377.872zm8.904-15.646c3.081.567 4.378 1.329 6.071 1.171-1.634-.295-7.336-1.785-6.071-1.171zm8.472 9.462-2.423-.528c-.581.539 2.801 1.276 2.423.528zm16.431 3.208c-2.57-.318-5.368-2.104-6.67-1.429 1.045.445 5.611 1.533 6.67 1.429zm.481 28.906c-.349.505 3.438 1.607 3.629 1.105-1.804-.333-1.827-.772-3.629-1.105zm23.44-17.17c1.702.193 4.281.83 5.532.787-1.39-.384-4.607-1.109-5.532-.787zm9.138 1.86c1.099.269 6.835 1.55 7.974 1.259-2.608-.132-7.323-1.698-7.974-1.259zm9.524 25.637c2.757.297 1.535.885 3.621 1.231.921-.465-2.714-1.445-3.621-1.231zm9.788-20.254c-2.286-.841 2.33.199 1.919-.318-2.461-.416-5.587-1.175-6.171-.687 1.57.231 3.376 1.274 4.251 1.005zm6.129 1.012c.366-.26 1.679-.018.857-.466-.086-.035-.172-.07-.248-.105-1.09-.242-1.162.011-1.782 0a9.121 9.121 0 0 1-1.812-.523c-.294.466 1.94.733 2.985 1.093z\",\n fill: \"#abc80a\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1115.17 61.975c-2.37.119-4.319-1.315-6.107-1.167.116.082.284.173.491.266.076.034.162.07.248.105 1.564.639 4.652 1.352 5.368.797zm12.831-25.906c-.043-.252-3.224-1.314-3.026-.57 1.527.065 2.441.964 3.026.57zm10.954 16.071c.96-.365-3.393-1.436-3.02-.717 1.415.207 2.327.452 3.02.717zm10.091-6.253c1.274.126 3.962.899 4.27.571-1.071-.501-3.386-.673-4.27-.571zm15.485-26.418 1.794.303c.171-.294-.632-.484-.517-.77-1.118-.163-2.017-.234-2.433-.074 1.751.254 2.045.394 1.156.541zm25.205 20.852c.384-.709-3.097-1.046-3.013-.472l3.013.472zm1.94-7.038c1.581.111 3.239 1.004 4.202.638-.489-.232-3.788-.934-4.202-.638zm10.77 8.44c-1.866-.281-3.351-.422-4.249-.29 1.378.088 4.67 1.001 4.249.29zm3.769-1.162c.557-.418 1.491.438 3.012.435 1.091-.521-5.751-1.155-3.012-.435zm-65.421 23.078c.407-.014.851-.031 1.315-.049-.068-.043-.145-.084-.205-.129-.952-.109-1.137.006-1.11.178zm-17.337-2.679c-.175.461 4.022.538 2.985 1.068 3.347.459 6.963 1.116 10.681 1.843l-.138-.148s.354 0 1.007-.012c-22.879-4.778-53.265-10.518-77.927-15.365 20.772 4.598 41.63 9.145 63.392 12.614zm28.525-13.705c-1.668.668-5.443-1.048-6.154-.399 1.432.642 5.762.997 5.993 1.742-.386.234.615 1.112-.729.901-7.419-.997-11.467-3.133-15.14-3.048 3.831.688 6.687 2.477 12.605 3.46-.867-.132-1.035 1.219-.103.84-.497-1.263 2.856.297 4.361-.1 2.086.4 2.589.958 2.921 1.534-1.914.406-6.939-.613-9.266-.418.015.72 2.027 1.359 4.177 1.418 7.731 2.514 20.422 3.661 30.318 5.161 4.996-1.298 9.816-2.91 14.088-4.909-10.239-1.203-20.567-2.659-30.872-4.606.061 1.571-9.231-.634-12.197-1.576z\",\n fill: \"#abc80a\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1115.76 62.259c3.463 1.168 11.754 1.564 12.104 3.289-3.809-1.096-6.941-.523-11.034-1.886.069.605-1.31.338-3.714-.358-3.041.788-12.138-2.354-17.236-2.486-1.348-.674-3.338-1.301-5.375-1.922-.456.462 2.166.664.517.789 1.059.31 3.614.507 3.635.891-13.238-2.309-22.815-3.85-34.28-6.129-.168 1.58-6.625-1.08-8.631-1.127 2.61 1.355-5.075-.94-7.334-1.4-5.538-1.121-11.67-1.973-14.739-2.335 2.63 1.396 6.176 1.025 9.705 2.291-.263.343-.736.582-1.959.434-.438-.387-4.077-.908-3.73-.295 3.402.514 5.055 1.155 7.859 2.052-3.637-.271-8.456-.279-12.259-2.149-2.761.171-7.075-1.147-12.279-2.021.901 1.142-4.764-.392-8.622-1.238-3.131.076-.33 1.103-5.091.234 1.499.682 2.825.458 3.619.989-1.34.509-2.587 1.062-6.938-.009.182-.204 1.044-.055 1.294-.226-3.173-.614-6.831-1.009-7.436-.829-2.699-1.052-2.225-.443-4.283-.807-3.265-.572-8.109-2.332-9.806-1.746 2.176.898 5.318.968 5.955 2.076-2.396-.081-3.914-1.381-4.281-.82 1.655.876 7.756 1.553 7.785 2.486l-3.653-.835c-.152.49 3.086 1.194 1.045 1.279.902.111 3.109.912 3.073.529-1.34-.275-1.916-.581-1.741-.917 1.558.341 4.839 1.206 7.267 1.836-4.481.026-14.59-2.34-19.597-3.654-.543.197-.905.492-1.971.409 2.815.673 5.617 1.335 2.491.232 2.3.46 2.707.998 3.525 1.514-4.541-.232-3.382-.994-7.292-1.695 2.159.626 2.967 1.112 1.071 1.114 5.304 1.561 12.433 3.494 16.356 4.128 1.892 1.732 12.466 2.5 13.143 4.548 2.446.613 1.107-.752 3.794-.009 1.888.683 3.278 1.398 5.349 2.066 1.82-.162 5.406.904 6.048 1.687-.81-.177-.612.167-1.283.059-2.215-1.049-8.428-2.268-10.973-2.45 4.418 1.024 9.996 2.658 14.025 3.129-.71-.185-1.729-.355-1.801-.573 1.778.44 1.936.041 3.719.481.326.45-1.816.144.523.633.843.016 1.274-.184 2.527.04 3.894 1.357 9.986 2.986 14 3.388 5.307 2.587 17.422 3.304 18.069 5.737 5.009.672 10.062 1.632 14.668 3.387 1.163.22.509-.466 1.916-.123 4.754 2 12.531 2.081 18.435 3.696-.486.589-6.135-1.378-4.405-.183 8.859 1.087 15.821 3.824 22.7 5.103-.281.345-2.728-.35-2.567.201 1.924.327 6.05 1.414 8.643 1.631.168.264.839.486.532.785 4.63.475 8.48 1.912 13.515 3.18.898-.225-1.513-.922.086-.672l3.715.665c-.832.081-.895.48.539.782 2.795.354 5.902.952 8.948 1.47 6.295-5.862 6.182-14.362-4.51-26.529a97.663 97.663 0 0 1-3.713-.857c-5.801-.412-14.541-2.593-19.663-2.959zM984.538 51.361c-.439.269-3.766-.713-4.254-.988.072-.328 1.701.175 1.337-.383 1.933.365 2.09.802 4.221 1.15-.129.172-1.134-.114-1.85-.251-.129.172.084.328.546.472zm23.428-.204c.128-.172-.089-.328-.553-.471.646-.206 2.398.166 4.312.627-.374.408-2.392-.043-3.759-.156zm31.916 1.516c.72-.226 5.985.421 5.482 1.176-2.463-.697-2.467-.511-5.482-1.176zm71.627 31.784c-.966-.227-3.414-.836-4.317-.819-2.342-.718 5.108.25 4.317.819zm18.465 3.943c-3.16-.717-4.717-.681-6.844-.912-.494-.444 3.186.243 1.301-.275.494-.137 6.093.687 5.543 1.187zM976.363 43.921c2.799.606 2.97.505 5.467 1.27-.033-.763-4.565-1.214-5.467-1.27zm57.235 4.793c.172-.449-1.766-.785-1.688-1.23-2.049-.514-2.646-.278-3.732-.297 2.699.348 3.762.768 5.42 1.527zm25.904-4.793c1.095.074 3.074.168.707-.541-.009.294-.528.33-1.285.246.798-.346-2.447-1.254-2.988-.973 2.164.36 1.402.904 3.566 1.267zm69.592 2.644c-1.074.025-2.433-.093-2.536.39 1.866-.605 11.439 1.73 2.536-.39zm1.134-3.907c1.633-.349 4.64 1.441 6.065 1.112-1.873-.55-4.004-1.076-5.995-1.615.197.332-.954.263-.07.503zm3.802-28.799c2.406.1 3.229.76 4.812.711-.374-.408-3.353-.574-3.547-.995 3.787.092 6.247 1.735 10.109 2.364.119-.181-.039-.494.662-.397.573.33.921.682 1.71.989 4.043.293 11.771 2.409 15.04 1.957-.946-.386-4.396-.871-2.307-1.085-2.961-.584-.407.443-1.883.359-.11-.153-.474-.281-1.175-.374.957-.604-3.92-.807-5.918-1.556-1.496-.038 1.02.697-.681.564-1.275-.795-3.735-1.347-3.589-.64.358-.19-4.787-.776-2.928-1.037-6.408-1.066-5.741-1.246-10.774-1.977.448.693.02.427.468 1.117zm-1.833 18.528c1.902.386 4.7 1.548 6.616 1.384-2.225-.314-7.152-1.895-6.616-1.384zm6.954 13.276c1.23.273 1.572.624 2.369.938-.216-.515 3.286.721 3.075.205-2.198-.245-4.641-1.312-5.443-1.143z\",\n fill: \"#abc80a\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 890.015,\n cy: 300.751,\n fill: \"#f7ada1\",\n rx: 63.529,\n ry: 77.875,\n transform: \"matrix(.79125555 -.61148561 .61148561 .79125555 1.884 607.019)\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M917.509 343.104a5 5 0 0 1-4.959-4.409c-6.506-54.577-51.915-79.279-52.373-79.522a5.003 5.003 0 0 1-2.078-6.756 4.996 4.996 0 0 1 6.747-2.087c2.059 1.085 50.49 27.257 57.634 87.182a5 5 0 0 1-4.971 5.593z\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M871.486 340.491a5 5 0 0 1-3.404-8.663l34.493-32.043a5 5 0 1 1 6.806 7.326l-34.493 32.043a4.982 4.982 0 0 1-3.402 1.337z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(46.8 1724.3999999999999) rotate(0.0 1447.8 933.6) translate(0.0 0.0) scale(1.0604305517967003 1.059721720890003)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 2730.589,\n height: 143.811,\n viewBox: \"0 0 2730.589 143.811\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#E9D9BB\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 146.337V5.022A5.021 5.021 0 0 1 5.022 0h2720.545a5.021 5.021 0 0 1 5.022 5.022v141.315a5.021 5.021 0 0 1-5.022 5.022H5.022A5.022 5.022 0 0 1 0 146.337z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M143.074 151.359h104.022v1610.614H143.074zm2334.061 0h104.022v1610.614h-104.022z\"\n }))), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m2477.135 198.304 104.022-11.984v-34.961h-104.022zm-2334.061 0 104.023-11.984v-34.961H143.074z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(963.5999999999999 174.0) rotate(0.0 358.80000000000007 182.39999999999998) scale(0.7188104768430037 0.7201956847485533)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 998.316,\n height: 506.529,\n viewBox: \"0 0 998.316 506.529\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M953.316 5h-718.97c-22.091 0-40 17.909-40 40v252.071L5 501.529l189.346-77.27v37.27c0 22.092 17.909 40 40 40h718.97c22.091 0 40-17.908 40-40V45c0-22.091-17.909-40-40-40z\",\n fill: \"#fff\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.002 506.529a5 5 0 0 1-3.671-8.397l188.014-203.02V45c.001-24.813 20.188-45 45.001-45h718.97c24.813 0 45 20.187 45 45v416.529c0 24.813-20.187 45-45 45h-718.97c-24.813 0-45-20.187-45-45v-29.83L6.889 506.159a5 5 0 0 1-1.887.37zm189.343-87.271a4.998 4.998 0 0 1 5 5v37.271c0 19.299 15.701 35 35 35h718.971c19.299 0 35-15.701 35-35V45c0-19.299-15.701-35-35-35h-718.97c-19.299 0-35 15.701-35 35v252.071c0 1.26-.476 2.473-1.332 3.397L23.995 488.376l168.462-68.747a4.982 4.982 0 0 1 1.889-.371z\",\n fill: \"#fdc93a\"\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M766.136 97.996H291.791a5 5 0 1 1 0-10h474.346a5 5 0 1 1 0 10zM453.457 204.841H291.79a5 5 0 1 1 0-10h161.667a5 5 0 1 1 0 10zm350.161 0H520.562a5 5 0 1 1 0-10h283.056a5 5 0 1 1 0 10zm116.325 0h-49.115a5 5 0 1 1 0-10h49.115a5 5 0 1 1 0 10zM600.697 311.688H291.791a5 5 0 1 1 0-10h308.906a5 5 0 1 1 0 10zm186.119 0H652.397a5 5 0 1 1 0-10h134.419a5 5 0 1 1 0 10zM887.63 418.534H291.791a5 5 0 1 1 0-10H887.63a5 5 0 1 1 0 10z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1795.2 452.4) rotate(0.0 -226.20000000000005 226.2) scale(-0.5899651158999772 0.5899651158999771)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 766.825,\n height: 766.825,\n viewBox: \"0 0 766.825 766.825\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M725.225 5h-610.08C94.933 5 78.547 21.386 78.547 41.599v544.509L5 761.825l175.717-73.546h544.509c20.213 0 36.599-16.386 36.599-36.599V41.599c0-20.213-16.386-36.599-36.6-36.599z\",\n fill: \"#fff\"\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.002 766.824a5 5 0 0 1-4.614-6.931l73.159-174.789V41.6c0-22.938 18.662-41.6 41.6-41.6h610.08c22.938 0 41.599 18.661 41.599 41.6v610.079c0 22.938-18.661 41.6-41.599 41.6H181.721L6.931 766.437c-.624.26-1.28.387-1.929.387zM115.146 10c-17.424 0-31.6 14.176-31.6 31.6v544.509c0 .663-.132 1.319-.388 1.931L14.322 752.502l164.463-68.836a5.003 5.003 0 0 1 1.931-.388h544.509c17.424 0 31.599-14.176 31.599-31.6V41.6c0-17.424-14.175-31.6-31.599-31.6z\",\n fill: \"#d2e23d\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1473.6 523.1999999999999) rotate(0.0 83.39999999999998 130.20000000000005) scale(1.1378209500941359 1.1378731734601135)\"\n }, /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 146.596,\n height: 228.848,\n viewBox: \"0 0 146.596 228.848\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M126.817 16.262c13.186 10.842 19.779 26.715 19.779 47.616 0 17.192-5.814 31.06-17.435 41.609-11.625 10.549-26.812 16.02-45.564 16.409L81.839 142.7H24.407l-1.758-62.12h24.614c11.524 0 20.365-1.268 26.518-3.809 6.153-2.537 9.23-6.639 9.23-12.307 0-3.709-.929-6.593-2.784-8.645-1.859-2.051-4.35-3.077-7.472-3.077-3.91 0-6.79 1.223-8.644 3.663-1.859 2.445-2.784 5.618-2.784 9.523H.087c-.586-12.11 1.804-23.148 7.179-33.111 5.371-9.962 13.722-17.92 25.053-23.881C43.646 2.98 57.711 0 74.513 0c21.684 0 39.118 5.421 52.304 16.262zM26.751 219.765c-6.84-6.053-10.255-13.671-10.255-22.855 0-9.377 3.416-17.142 10.255-23.295 6.836-6.153 15.919-9.23 27.251-9.23 11.135 0 20.118 3.077 26.958 9.23 6.835 6.153 10.255 13.918 10.255 23.295 0 9.184-3.42 16.803-10.255 22.855-6.84 6.057-15.823 9.083-26.958 9.083-11.331 0-20.415-3.026-27.251-9.083z\",\n fill: \"#91a0e2\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgJuicyManAndWomanTalking);\nexport default __webpack_public_path__ + \"static/media/juicy-man-and-woman-talking.8f852b50896e0d59bccda9dd7f9ae5b6.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { routes, routeTitles } from \"@/constants\";\nimport Lottie from \"lottie-react\";\nimport signInAnimationImage from \"@/assets/images/juicy-girl-is-working-on-laptop-at-a-remote-job.json\";\nimport introAnimationImage from \"@/assets/images/juicy-girl-working-at-home.json\";\nimport successAnimationImage from \"@/assets/images/juicy-girl-sending-messages-from-her-phone.json\";\nimport scheduledAnimationImage from \"@/assets/images/juicy-woman-is-reading-a-book-at-home.json\";\nimport progressAnimationImage from \"@/assets/images/juicy_man_programmer_writing_code_and_make_web_design_on_a_pc.json\";\nimport detailsAnimationImage from \"@/assets/images/juicy-teamwork.json\";\nimport helpAnimationImage from \"@/assets/images/juicy-woman-searching-with-a-magnifying-glass.json\";\nimport forgotPasswordImage from \"@/assets/images/forgot-pass-img.svg\";\nimport mfaImage from \"@/assets/images/mfa-img.svg\";\nimport faqImage from \"@/assets/images/juicy-man-and-woman-talking.svg\";\nimport \"./AnimationImage.scss\";\n\nconst AnimationImage = ({ title }) => {\n const [isAnimation, setIsAnimation] = useState(false);\n const [imageUrl, setImageUrl] = useState(\"\");\n const [animationObject, setAnimationObject] = useState(null);\n\n useEffect(() => {\n switch (title) {\n case routeTitles[routes.LOGIN]:\n setImageUrl(signInAnimationImage);\n break;\n case routeTitles[routes.REGISTER]:\n setImageUrl(signInAnimationImage);\n break;\n case routeTitles[routes.FORGOT_PASSWORD]:\n setImageUrl(forgotPasswordImage);\n break;\n case routeTitles[routes.RESET_PASSWORD]:\n setImageUrl(forgotPasswordImage);\n break;\n case routeTitles[routes.CHANGE_PASSWORD]:\n setImageUrl(forgotPasswordImage);\n break;\n case routeTitles[routes.MFA]:\n setImageUrl(mfaImage);\n break;\n case routeTitles[routes.MFA_SETUP_SUCCESS]:\n setImageUrl(mfaImage);\n break;\n case routeTitles[routes.REGISTER_CONFIRMATION]:\n setImageUrl(signInAnimationImage);\n break;\n case routeTitles[routes.FAQ]:\n setImageUrl(faqImage);\n break;\n case \"projects-empty\":\n setImageUrl(introAnimationImage);\n break;\n case \"success\":\n setImageUrl(successAnimationImage);\n break;\n case \"project-details\":\n setImageUrl(detailsAnimationImage);\n break;\n case \"progress\":\n setImageUrl(progressAnimationImage);\n break;\n case \"scheduled\":\n setImageUrl(scheduledAnimationImage);\n break;\n case \"help\":\n setImageUrl(helpAnimationImage);\n break;\n default:\n setImageUrl();\n break;\n }\n\n if (imageUrl && typeof imageUrl === \"string\") {\n setIsAnimation(false);\n setAnimationObject(null);\n }\n if (imageUrl && typeof imageUrl === \"object\") {\n setAnimationObject(imageUrl);\n setIsAnimation(true);\n }\n }, [title, imageUrl]);\n\n return (\n
\n {isAnimation ? (\n \n ) : (\n \n )}\n
\n );\n};\n\nAnimationImage.propTypes = {\n title: PropTypes.string\n};\n\nexport default AnimationImage;\n","import AnimationImage from \"./AnimationImage\";\n\nexport default AnimationImage;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable react/no-danger */\nimport React from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport { NotificationIcon } from \"@/icons\";\nimport \"./Notification.scss\";\n\nconst Notification = ({ item }) => {\n return (\n
\n
\n
\n \n
\n
\n {item.title && (\n \n )}\n {item.date &&
{item.date}
}\n
\n
\n
\n );\n};\n\nNotification.propTypes = {\n item: PropTypes.object\n};\n\nexport default Notification;\n","import Notification from \"./Notification\";\n\nexport default Notification;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable jsx-a11y/control-has-associated-label */\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport { routes, routeTitles } from \"@/constants\";\nimport Notification from \"@/components/Notification\";\nimport \"./Notifications.scss\";\n\nconst Notifications = ({ handleClick }) => {\n const list = [\n {\n new: true,\n title:\n \"Your report for com.adobe.reader is ready now.\",\n date: \"2 hours ago\"\n },\n {\n new: true,\n title: \"Price\",\n date: \"1 June 2023, 12:23:08\"\n },\n {\n title: \"Welcome to CASA Portal\",\n date: \"2 June 2023, 12:23:08\"\n }\n ];\n\n return (\n
\n
\n
\n
Notifications
\n
Recent updates
\n
\n {list.length ? (\n
\n {list?.map((item) => (\n
\n \n
\n ))}\n
\n ) : (\n
\n
\n \n
\n
\n Your don’t have any notifications yet. We’ll let you know when we\n get news\n
\n
\n )}\n
\n
\n );\n};\n\nNotifications.propTypes = {\n handleClick: PropTypes.func\n};\n\nexport default Notifications;\n","import Notifications from \"./Notifications\";\n\nexport default Notifications;\n","export const OrderFilters = {\n NEW: \"new\",\n IN_PROGRESS: \"in_progress\",\n COMPLETED: \"completed\"\n};\n\nexport const FilterByIndex = {\n 0: OrderFilters.NEW,\n 1: OrderFilters.IN_PROGRESS,\n 2: OrderFilters.COMPLETED\n};\n\nexport const IndexByFilter = {\n [OrderFilters.NEW]: 0,\n [OrderFilters.IN_PROGRESS]: 1,\n [OrderFilters.COMPLETED]: 2\n};\n\nexport const OrderStatuses = {\n CREATED: \"created\",\n PENDING_EMAIL_VERIFICATION: \"pending_email_verification\",\n EMAIL_VERIFIED: \"email_verified\",\n NEED_MORE_INFO: \"need_more_info\",\n ACCEPTED: \"accepted\",\n SCHEDULED: \"scheduled\",\n ASSESSMENT_IN_PROGRESS: \"assessment_in_progress\",\n MITIGATIONS_NEEDED: \"mitigations_needed\",\n QUOTE_READY: \"quote_ready\",\n SCOPING: \"scoping\",\n CONFIRMING_PURCHASE_ORDER: \"confirming_purchase_order\",\n PURCHASE_ORDER_CONFIRMED: \"purchase_order_confirmed\",\n PAID: \"paid\",\n VERIFYING_MITIGATIONS: \"verifying_mitigations\",\n VALIDATED: \"validated\",\n NOT_VALIDATED: \"not_validated\",\n VERIFIED: \"verified\",\n NOT_VERIFIED: \"not_verified\",\n AWAITING_PAYMENT: \"awaiting_payment\",\n INVOICE_PROCESSING: \"invoice_processing\",\n INVOICE_DETAILS_CONFIRMED: \"invoice_details_confirmed\"\n};\n\nexport const ClassNameByStatus = {\n [OrderStatuses.PENDING_EMAIL_VERIFICATION]: \"warning\",\n [OrderStatuses.EMAIL_VERIFIED]: \"success\",\n [OrderStatuses.NEED_MORE_INFO]: \"error\",\n [OrderStatuses.ACCEPTED]: \"success\",\n [OrderStatuses.SCHEDULED]: \"warning\",\n [OrderStatuses.ASSESSMENT_IN_PROGRESS]: \"warning\",\n [OrderStatuses.MITIGATIONS_NEEDED]: \"error\",\n [OrderStatuses.CREATED]: \"created\",\n [OrderStatuses.QUOTE_READY]: \"quote-ready\",\n [OrderStatuses.SCOPING]: \"warning\",\n [OrderStatuses.CONFIRMING_PURCHASE_ORDER]: \"warning\",\n [OrderStatuses.PURCHASE_ORDER_CONFIRMED]: \"success\",\n [OrderStatuses.PAID]: \"success\",\n [OrderStatuses.VERIFYING_MITIGATIONS]: \"error\",\n [OrderStatuses.VERIFIED]: \"success\",\n [OrderStatuses.NOT_VERIFIED]: \"error\",\n [OrderStatuses.VALIDATED]: \"success\",\n [OrderStatuses.NOT_VALIDATED]: \"error\",\n [OrderStatuses.INVOICE_PROCESSING]: \"warning\",\n [OrderStatuses.INVOICE_DETAILS_CONFIRMED]: \"success\",\n [OrderStatuses.AWAITING_PAYMENT]: \"warning\"\n};\n\nexport const OrderMasaDescrByStatus = {\n [OrderStatuses.CREATED]:\n \"Continue to provide the information to start MASA validation.\",\n [OrderStatuses.PENDING_EMAIL_VERIFICATION]:\n \"We will get back to you when your quote is ready.\",\n [OrderStatuses.EMAIL_VERIFIED]:\n \"Choose a pricing plan that suits your needs.\",\n [OrderStatuses.NEED_MORE_INFO]:\n \"We will get back to you when your quote is ready.\",\n [OrderStatuses.ACCEPTED]: \"We will get back to you when your quote is ready.\",\n [OrderStatuses.PAID]:\n \"We successfully confirmed your payment. Assessment will start according to the option you chose.\",\n [OrderStatuses.INVOICE_PROCESSING]:\n \"Hang tight! Our accounting team will shortly reach out to the Accounts Payable/Accounting contact you provided to finalize invoice details.\",\n [OrderStatuses.INVOICE_DETAILS_CONFIRMED]:\n \"Invoicing details have been verified and approved; invoice is being prepared. Assessment will start according to the option you chose.\",\n [OrderStatuses.SCHEDULED]:\n \"The assessment date is locked in! The MASA validation for your application is scheduled and will commence as outlined in the plan you selected.\",\n [OrderStatuses.ASSESSMENT_IN_PROGRESS]:\n \"The assessment is in motion! Our team is at work, and you'll hear from us with a report upon completion.\",\n [OrderStatuses.MITIGATIONS_NEEDED]:\n \"Your MASA findings report is now available for download. The report outlines findings that have to be fixed to complete MASA validation. We kindly urge you to address each identified issue. Upon completion of the necessary fixes, and once you are prepared for a review of the remediated areas, please select the “Ready for Revalidation” option. This will signal our team to re-engage and verify the remediations implemented.\",\n [OrderStatuses.VERIFYING_MITIGATIONS]:\n \"We are in the process of verifying the effectiveness of the remediation steps taken. This phase ensures that all identified weaknesses are properly mitigated.\",\n [OrderStatuses.VERIFIED]:\n \"Congratulations! Your application has successfully met the MASA security requirements. The implemented remediations have been validated. Please consult the Findings Report for details on the findings and the Validation Report for confirmation of meeting the MASA requirements.\",\n [OrderStatuses.NOT_VERIFIED]: \"The application has not been validated.\"\n};\n\nexport const OrderCasaDescrByStatus = {\n [OrderStatuses.CREATED]:\n \"Continue to provide the information to start CASA validation.\",\n [OrderStatuses.SCOPING]:\n \"We are scoping the project. We will get back to you when your quote is ready.\",\n [OrderStatuses.QUOTE_READY]: \"Quote for the assessment is ready.\",\n [OrderStatuses.CONFIRMING_PURCHASE_ORDER]:\n \"Hang tight! Our accounting team will shortly reach out to the Accounts Payable/Accounting contact you provided to finalize invoice details.\",\n [OrderStatuses.PURCHASE_ORDER_CONFIRMED]:\n \"Invoicing details have been verified and approved; invoice is being prepared. Assessment will start according to the option you chose.\",\n [OrderStatuses.PAID]:\n \"We successfully confirmed your payment. Assessment will start according to the option you chose.\",\n [OrderStatuses.ASSESSMENT_IN_PROGRESS]:\n \"The assessment is in motion! Our team is at work, and you'll hear from us with a report upon completion.\",\n [OrderStatuses.SCHEDULED]:\n \"The assessment date is locked in! The CASA validation for your application is scheduled and will commence as outlined in the plan you selected.\",\n [OrderStatuses.MITIGATIONS_NEEDED]:\n \"Your CASA findings report is now available for download. The report outlines findings that have to be fixed to complete CASA validation. We kindly urge you to address each identified issue. Upon completion of the necessary fixes, and once you are prepared for a review of the remediated areas, please select the “Ready for Revalidation” option. This will signal our team to re-engage and verify the remediations implemented.\",\n [OrderStatuses.VERIFYING_MITIGATIONS]:\n \"We are in the process of verifying the effectiveness of the remediation steps taken. This phase ensures that all identified weaknesses are properly mitigated.\",\n [OrderStatuses.VERIFIED]:\n \"Congratulations! Your application has successfully met the CASA security requirements. The implemented remediations have been validated. Please consult the Findings Report for details on the findings and the Validation Report for confirmation of meeting the CASA requirements.\",\n [OrderStatuses.NOT_VERIFIED]: \"The application has not been validated.\"\n};\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { reduceSuccessResponse } from \"@/utils/getSuccessResponse\";\nimport { OrderActions } from \"@/store/order/order.actions\";\nimport { OrderFilters, OrderStatuses } from \"@/constants/orderStatuses\";\nimport { pick } from \"@/utils/pick\";\n\nconst initialState = {\n orderDetails: null,\n orderList: null,\n orderListMore: null,\n orderListTable: null,\n orderProducts: [],\n orderCount: null,\n servicesList: null\n};\n\nexport const order = createReducer(initialState, {\n [OrderActions.CREATE_ORDER]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.UPDATE_DEVELOPER_INFO]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.GET_ORDER_DETAILS_BY_ID]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.FETCH_ORDER_TABLE_COUNT]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderCount: res\n })),\n [OrderActions.CLEAR_ORDERS_REDUCER]: () => {\n return initialState;\n },\n [OrderActions.POST_APPLICATION_INFO]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.APP_INFO_FILE_UPLOAD_SUCCESS]: (state, action) => {\n const data = JSON.parse(action.payload);\n if (data.id) {\n state.orderDetails = data;\n }\n },\n [OrderActions.POST_AGREEMENT]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.FETCH_MITIGATIONS_RECHECK]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.VERIFY_OTP_CODE]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderDetails: res\n })),\n [OrderActions.GET_ALL_ORDERS]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderList: res\n })),\n [OrderActions.GET_ALL_ORDERS_MORE]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderListMore: res.data\n })),\n [OrderActions.FETCH_ORDER_PRODUCTS]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n orderProducts: res\n })),\n [OrderActions.CLEAR_ORDERS_TABLE]: (state) => {\n if (state.orderListTable?.data) {\n state.orderListTable.data = undefined;\n }\n },\n [OrderActions.GET_ORDERS_TABLE]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => {\n return {\n orderListTable: res\n };\n }),\n [OrderActions.CLEAR_ORDER_DETAILS]: (state) => {\n state.orderDetails = null;\n },\n [OrderActions.GET_ALL_SERVICES]: (state, action) =>\n reduceSuccessResponse(state, action, (res) => ({\n servicesList: res\n }))\n});\n\nexport const getServicesList = (state) => state.order.servicesList;\n\nexport const getOrderDetails = (state) => state.order.orderDetails;\n\nexport const getOrderTableCount = (state) => state.order.orderCount;\n\nexport const getIsOrderPaid = (state) => !!state.order.orderDetails?.payed_at;\n\nexport const getIsDeveloperInfoFilled = (state) =>\n !!state.order.orderDetails?.developer_name;\nexport const getIsAppInfoFilled = (state) =>\n !!state.order.orderDetails?.package_name;\n\nexport const getIsDevAndAppInfoFilled = (state) => {\n return getIsDeveloperInfoFilled(state) && getIsAppInfoFilled(state);\n};\n\nexport const getIsOrderPaidOrVerified = (state) =>\n !!state.order.orderDetails?.payed_at ||\n !!state.order.orderDetails?.developer_email_verified_at;\n\nexport const getIsOrderVerified = (state) =>\n !!state.order.orderDetails?.developer_email_verified_at;\n\nexport const getIsAutomaticVerification = (state) =>\n !!state.order?.orderDetails?.developer_email;\n\nexport const getMoreOrderInfoText = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find(\n (e) => e.code === OrderStatuses.NEED_MORE_INFO\n );\n\n return item;\n }\n\n return null;\n};\n\nexport const getMitigationsStatusText = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find(\n (e) => e.code === OrderStatuses.MITIGATIONS_NEEDED\n );\n\n return item;\n }\n\n return null;\n};\n\nexport const getIsMoreInfoAccepted = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses.map((el) => el.code);\n\n if (orderStatuses) {\n return (\n orderStatuses.includes(OrderStatuses.NEED_MORE_INFO) &&\n orderStatuses.includes(OrderStatuses.ACCEPTED)\n );\n }\n\n return false;\n};\n\nexport const getIsAssessmentInProgress = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find(\n (e) => e.code === OrderStatuses.ASSESSMENT_IN_PROGRESS\n );\n\n return item;\n }\n\n return null;\n};\n\nexport const getIsAssessmentSuccessful = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses.map((el) => el.code);\n\n if (orderStatuses) {\n return (\n (orderStatuses.includes(OrderStatuses.ASSESSMENT_IN_PROGRESS) &&\n orderStatuses.includes(OrderStatuses.MITIGATIONS_NEEDED)) ||\n orderStatuses.includes(OrderStatuses.VERIFIED) ||\n orderStatuses.NOT_VERIFIED\n );\n }\n\n return null;\n};\n\nexport const getIsMitigationsNeeded = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find(\n (e) => e.code === OrderStatuses.MITIGATIONS_NEEDED\n );\n return item;\n }\n\n return null;\n};\n\nexport const getIsVerifyingMitigations = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses.map((el) => el.code);\n\n if (orderStatuses) {\n return orderStatuses.includes(OrderStatuses.VERIFYING_MITIGATIONS);\n }\n\n return null;\n};\n\nexport const getIsMitigationsNeededSuccessful = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses.map((el) => el.code);\n\n if (orderStatuses) {\n return (\n orderStatuses.includes(OrderStatuses.MITIGATIONS_NEEDED) ||\n orderStatuses.includes(OrderStatuses.VERIFIED) ||\n orderStatuses.includes(OrderStatuses.NOT_VERIFIED)\n );\n }\n\n return null;\n};\n\nexport const getCurrentStatusCode = (state) => {\n return state.order.orderDetails?.status?.code;\n};\n\nexport const getIsCurrentStatusMitigationsNeeded = (state) => {\n const status = getCurrentStatusCode(state);\n\n return status === OrderStatuses.MITIGATIONS_NEEDED;\n};\n\nexport const getMitigationsNeededItems = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n if (orderStatuses) {\n const items = orderStatuses.filter(\n (e) => e.code === OrderStatuses.MITIGATIONS_NEEDED\n );\n\n return items;\n }\n\n return null;\n};\n\nexport const getLastMitigationsNeededItem = (state) => {\n const items = getMitigationsNeededItems(state);\n if (items) {\n return items[0];\n }\n\n return null;\n};\n\nexport const getIsOrderFinalizedSuccessfully = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find((e) => e.code === OrderStatuses.VERIFIED);\n return item;\n }\n\n return null;\n};\n\nexport const getIsOrderFinalizedUnsuccessfully = (state) => {\n const orderStatuses = state.order.orderDetails?.statuses;\n\n if (orderStatuses) {\n const item = orderStatuses.find(\n (e) => e.code === OrderStatuses.NOT_VERIFIED\n );\n return item;\n }\n\n return null;\n};\n\nexport const getAssessmentCompletedDetails = (state) => {\n const finalizedDetails = getIsOrderFinalizedSuccessfully(state);\n const unfinalizedDetails = getIsOrderFinalizedUnsuccessfully(state);\n\n return finalizedDetails || unfinalizedDetails;\n};\n\nexport const getOrderList = (state) => state.order.orderList;\nexport const getOrdersMore = (state) => state.order.orderListMore;\nexport const getHasCreatedOrders = (state) => state.order.orderList?.total > 0;\n\nexport const getOrderProducts = (state) => state.order.orderProducts;\n\nexport const getProductById = (state, productId) =>\n state.order.orderProducts?.find((product) => product.id === productId);\n\nexport const getOrderPaginationDetails = (state) => {\n if (state.order.orderListTable) {\n return pick(state.order.orderListTable, [\n \"current_page\",\n \"from\",\n \"last_page\",\n \"per_page\",\n \"to\",\n \"total\"\n ]);\n }\n\n return null;\n};\n\nexport const getOrdersForTable = (state) => {\n return state.order.orderListTable?.data;\n};\n\nexport const getInProgressOrders = (state) => {\n const orders = getOrdersForTable(state);\n if (orders) {\n return orders.filter((o) => o.status === OrderFilters.NEW);\n }\n\n return [];\n};\n\nexport default order;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from \"react\";\nimport Header from \"@/components/Header\";\nimport PageSidebar from \"@/components/PageSidebar\";\nimport Footer from \"@/components/Footer\";\nimport Notifications from \"@/components/Notifications\";\nimport { Desktop } from \"@/components/Responsive\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Outlet, useLocation } from \"react-router-dom\";\nimport { getAllOrders } from \"@/store/order/order.actions\";\nimport { getOrderList } from \"@/store/order/order.reducer\";\nimport cn from \"classnames\";\nimport { routes } from \"@/constants\";\nimport \"./MainLayout.scss\";\n\nconst MainLayout = () => {\n const dispatch = useDispatch();\n const orderList = useSelector(getOrderList);\n const location = useLocation();\n const [isOpenedNotifications, setIsOpenedNotifications] = useState(false);\n const isMainRoute = routes.ROOT === location.pathname;\n\n const handleToggleNotifications = () => {\n setIsOpenedNotifications(!isOpenedNotifications);\n };\n\n useEffect(() => {\n dispatch(getAllOrders());\n }, [dispatch]);\n\n return (\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n {isOpenedNotifications && (\n \n )}\n
\n );\n};\n\nexport default MainLayout;\n","import MainLayout from \"./MainLayout\";\n\nexport default MainLayout;\n","import React from \"react\";\n\nexport const useCombinedRefs = (...refs) => {\n const targetRef = React.useRef();\n\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n });\n }, [refs]);\n\n return targetRef;\n};\n","import { routesToPropsMap } from \"@/constants\";\nimport { matchPath, useLocation } from \"react-router-dom\";\nimport { useMemo } from \"react\";\n\nexport const matchLastRouteDefinition = (definitions, location) => {\n const ignoredPaths = [\"*\"];\n let result;\n\n definitions.forEach((path) => {\n const match = matchPath({ path }, location.pathname);\n if (match && !ignoredPaths.includes(path)) {\n result = match;\n }\n });\n\n return result;\n};\n\nexport const useAsideLayoutProps = (routesArray) => {\n const location = useLocation();\n\n return useMemo(() => {\n const match = matchLastRouteDefinition(routesArray, location);\n return routesToPropsMap[match?.pattern?.path] || {};\n }, [location, routesArray]);\n};\n","export * from \"./useCombinedRefs\";\nexport * from \"./useBreadcrumbs\";\nexport * from \"./useAsideLayoutProps\";\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState, useEffect } from \"react\";\nimport Header from \"@/components/Header\";\nimport Footer from \"@/components/Footer\";\nimport { Outlet } from \"react-router-dom\";\nimport { useAsideLayoutProps } from \"@/hooks\";\nimport { Desktop } from \"@/components/Responsive\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport { routes } from \"@/constants\";\nimport cn from \"classnames\";\nimport \"./AsideLayout.scss\";\n\nconst AsideLayout = () => {\n const layoutProps = useAsideLayoutProps(Object.values(routes));\n const [isSticky, setIsSticky] = useState(false);\n\n useEffect(() => {\n const handleSticky = () => {\n setIsSticky(window.scrollY > 0);\n };\n\n window.addEventListener(\"scroll\", handleSticky, { passive: true });\n return () => window.removeEventListener(\"scroll\", handleSticky);\n }, []);\n\n return (\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n {layoutProps.title && (\n \n )}\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default AsideLayout;\n","import AsideLayout from \"./AsideLayout\";\n\nexport default AsideLayout;\n","import * as React from 'react';\n\n// kudos to @tannerlinsley https://twitter.com/tannerlinsley\nexport function useGetLatest(val: T) {\n const ref = React.useRef(val);\n ref.current = val;\n return React.useCallback(() => ref.current, []);\n}\n\nconst noop = () => {\n // do nothing\n};\n\nexport function useControlledState({\n initial,\n value,\n onChange = noop,\n}: {\n initial?: T;\n value?: T;\n onChange?: (state: T) => void;\n}): [T, (state: T) => void] {\n if (initial === undefined && value === undefined) {\n throw new TypeError(\n 'Either \"value\" or \"initial\" variable must be set. Now both are undefined'\n );\n }\n\n const [state, setState] = React.useState(initial);\n\n const getLatest = useGetLatest(state);\n\n const set = React.useCallback(\n (updater: T) => {\n const state = getLatest();\n\n const updatedState =\n typeof updater === 'function' ? updater(state) : updater;\n\n if (typeof updatedState.persist === 'function') updatedState.persist();\n\n setState(updatedState);\n if (typeof onChange === 'function') onChange(updatedState);\n },\n [getLatest, onChange]\n );\n\n const isControlled = value !== undefined;\n\n return [isControlled ? value! : state!, isControlled ? onChange : set];\n}\n\nexport function generateBoundingClientRect(x = 0, y = 0): () => DOMRect {\n return () => ({\n width: 0,\n height: 0,\n top: y,\n right: x,\n bottom: y,\n left: x,\n x: 0,\n y: 0,\n toJSON: () => null,\n });\n}\n","import * as React from 'react';\nimport type { VirtualElement } from '@popperjs/core';\nimport { usePopper } from 'react-popper';\nimport {\n useControlledState,\n useGetLatest,\n generateBoundingClientRect,\n} from './utils';\nimport { Config, PopperOptions, PropsGetterArgs, TriggerType } from './types';\n\nconst virtualElement: VirtualElement = {\n getBoundingClientRect: generateBoundingClientRect(),\n};\n\nconst defaultConfig: Config = {\n closeOnOutsideClick: true,\n closeOnTriggerHidden: false,\n defaultVisible: false,\n delayHide: 0,\n delayShow: 0,\n followCursor: false,\n interactive: false,\n mutationObserverOptions: {\n attributes: true,\n childList: true,\n subtree: true,\n },\n offset: [0, 6],\n trigger: 'hover',\n};\n\nexport function usePopperTooltip(\n config: Config = {},\n popperOptions: PopperOptions = {}\n) {\n // Merging options with default options.\n // Keys with undefined values are replaced with the default ones if any.\n // Keys with other values pass through.\n const finalConfig = (\n Object.keys(defaultConfig) as Array\n ).reduce(\n (config, key) => ({\n ...config,\n [key]: config[key] !== undefined ? config[key] : defaultConfig[key],\n }),\n config\n );\n\n const defaultModifiers = React.useMemo(\n () => [{ name: 'offset', options: { offset: finalConfig.offset } }],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(finalConfig.offset) ? finalConfig.offset : []\n );\n\n const finalPopperOptions = {\n ...popperOptions,\n placement: popperOptions.placement || finalConfig.placement,\n modifiers: popperOptions.modifiers || defaultModifiers,\n };\n\n const [triggerRef, setTriggerRef] = React.useState(null);\n const [tooltipRef, setTooltipRef] = React.useState(null);\n const [visible, setVisible] = useControlledState({\n initial: finalConfig.defaultVisible,\n value: finalConfig.visible,\n onChange: finalConfig.onVisibleChange,\n });\n\n const timer = React.useRef();\n React.useEffect(() => () => clearTimeout(timer.current), []);\n\n const { styles, attributes, ...popperProps } = usePopper(\n finalConfig.followCursor ? virtualElement : triggerRef,\n tooltipRef,\n finalPopperOptions\n );\n\n const update = popperProps.update;\n\n const getLatest = useGetLatest({\n visible,\n triggerRef,\n tooltipRef,\n finalConfig,\n });\n\n const isTriggeredBy = React.useCallback(\n (trigger: TriggerType) => {\n return Array.isArray(finalConfig.trigger)\n ? finalConfig.trigger.includes(trigger)\n : finalConfig.trigger === trigger;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(finalConfig.trigger)\n ? finalConfig.trigger\n : [finalConfig.trigger]\n );\n\n const hideTooltip = React.useCallback(() => {\n clearTimeout(timer.current);\n timer.current = window.setTimeout(\n () => setVisible(false),\n finalConfig.delayHide\n );\n }, [finalConfig.delayHide, setVisible]);\n\n const showTooltip = React.useCallback(() => {\n clearTimeout(timer.current);\n timer.current = window.setTimeout(\n () => setVisible(true),\n finalConfig.delayShow\n );\n }, [finalConfig.delayShow, setVisible]);\n\n const toggleTooltip = React.useCallback(() => {\n if (getLatest().visible) {\n hideTooltip();\n } else {\n showTooltip();\n }\n }, [getLatest, hideTooltip, showTooltip]);\n\n // Handle click outside\n React.useEffect(() => {\n if (!getLatest().finalConfig.closeOnOutsideClick) return;\n\n const handleClickOutside: EventListener = (event) => {\n const { tooltipRef, triggerRef } = getLatest();\n const target = event.composedPath?.()?.[0] || event.target;\n if (target instanceof Node) {\n if (\n tooltipRef != null &&\n triggerRef != null &&\n !tooltipRef.contains(target) &&\n !triggerRef.contains(target)\n ) {\n hideTooltip();\n }\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [getLatest, hideTooltip]);\n\n // Trigger: click\n React.useEffect(() => {\n if (triggerRef == null || !isTriggeredBy('click')) return;\n\n triggerRef.addEventListener('click', toggleTooltip);\n\n return () => triggerRef.removeEventListener('click', toggleTooltip);\n }, [triggerRef, isTriggeredBy, toggleTooltip]);\n\n // Trigger: double-click\n React.useEffect(() => {\n if (triggerRef == null || !isTriggeredBy('double-click')) return;\n\n triggerRef.addEventListener('dblclick', toggleTooltip);\n\n return () => triggerRef.removeEventListener('dblclick', toggleTooltip);\n }, [triggerRef, isTriggeredBy, toggleTooltip]);\n\n // Trigger: right-click\n React.useEffect(() => {\n if (triggerRef == null || !isTriggeredBy('right-click')) return;\n\n const preventDefaultAndToggle: EventListener = (event) => {\n // Don't show the context menu\n event.preventDefault();\n toggleTooltip();\n };\n\n triggerRef.addEventListener('contextmenu', preventDefaultAndToggle);\n return () =>\n triggerRef.removeEventListener('contextmenu', preventDefaultAndToggle);\n }, [triggerRef, isTriggeredBy, toggleTooltip]);\n\n // Trigger: focus\n React.useEffect(() => {\n if (triggerRef == null || !isTriggeredBy('focus')) return;\n\n triggerRef.addEventListener('focus', showTooltip);\n triggerRef.addEventListener('blur', hideTooltip);\n return () => {\n triggerRef.removeEventListener('focus', showTooltip);\n triggerRef.removeEventListener('blur', hideTooltip);\n };\n }, [triggerRef, isTriggeredBy, showTooltip, hideTooltip]);\n\n // Trigger: hover on trigger\n React.useEffect(() => {\n if (triggerRef == null || !isTriggeredBy('hover')) return;\n\n triggerRef.addEventListener('mouseenter', showTooltip);\n triggerRef.addEventListener('mouseleave', hideTooltip);\n return () => {\n triggerRef.removeEventListener('mouseenter', showTooltip);\n triggerRef.removeEventListener('mouseleave', hideTooltip);\n };\n }, [triggerRef, isTriggeredBy, showTooltip, hideTooltip]);\n\n // Trigger: hover on tooltip, keep it open if hovered\n React.useEffect(() => {\n if (\n tooltipRef == null ||\n !isTriggeredBy('hover') ||\n !getLatest().finalConfig.interactive\n )\n return;\n\n tooltipRef.addEventListener('mouseenter', showTooltip);\n tooltipRef.addEventListener('mouseleave', hideTooltip);\n return () => {\n tooltipRef.removeEventListener('mouseenter', showTooltip);\n tooltipRef.removeEventListener('mouseleave', hideTooltip);\n };\n }, [tooltipRef, isTriggeredBy, showTooltip, hideTooltip, getLatest]);\n\n // Handle closing tooltip if trigger hidden\n const isReferenceHidden =\n popperProps?.state?.modifiersData?.hide?.isReferenceHidden;\n React.useEffect(() => {\n if (finalConfig.closeOnTriggerHidden && isReferenceHidden) hideTooltip();\n }, [finalConfig.closeOnTriggerHidden, hideTooltip, isReferenceHidden]);\n\n // Handle follow cursor\n React.useEffect(() => {\n if (!finalConfig.followCursor || triggerRef == null) return;\n\n function setMousePosition({\n clientX,\n clientY,\n }: {\n clientX: number;\n clientY: number;\n }) {\n virtualElement.getBoundingClientRect = generateBoundingClientRect(\n clientX,\n clientY\n );\n update?.();\n }\n\n triggerRef.addEventListener('mousemove', setMousePosition);\n return () => triggerRef.removeEventListener('mousemove', setMousePosition);\n }, [finalConfig.followCursor, triggerRef, update]);\n\n // Handle tooltip DOM mutation changes (aka mutation observer)\n React.useEffect(() => {\n if (\n tooltipRef == null ||\n update == null ||\n finalConfig.mutationObserverOptions == null\n )\n return;\n\n const observer = new MutationObserver(update);\n observer.observe(tooltipRef, finalConfig.mutationObserverOptions);\n return () => observer.disconnect();\n }, [finalConfig.mutationObserverOptions, tooltipRef, update]);\n\n // Tooltip props getter\n const getTooltipProps = (args: PropsGetterArgs = {}) => {\n return {\n ...args,\n style: {\n ...args.style,\n ...styles.popper,\n } as React.CSSProperties,\n ...attributes.popper,\n 'data-popper-interactive': finalConfig.interactive,\n };\n };\n\n // Arrow props getter\n const getArrowProps = (args: PropsGetterArgs = {}) => {\n return {\n ...args,\n ...attributes.arrow,\n style: {\n ...args.style,\n ...styles.arrow,\n } as React.CSSProperties,\n 'data-popper-arrow': true,\n };\n };\n\n return {\n getArrowProps,\n getTooltipProps,\n setTooltipRef,\n setTriggerRef,\n tooltipRef,\n triggerRef,\n visible,\n ...popperProps,\n };\n}\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState, useEffect } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\nimport { clearOrderDetails } from \"@/store/order/order.actions\";\nimport { routes } from \"@/constants\";\nimport cn from \"classnames\";\nimport {\n ClassNameByStatus,\n OrderMasaDescrByStatus,\n OrderCasaDescrByStatus\n} from \"@/constants/orderStatuses\";\nimport { ClockIcon, TagIcon } from \"@/icons\";\nimport { usePopperTooltip } from \"react-popper-tooltip\";\nimport \"./ProjectCard.scss\";\n\nconst ProjectCard = ({ project }) => {\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const [title, setTitle] = useState(\"-\");\n const [serviceName, setServiceName] = useState(false);\n const [description, setDescription] = useState(false);\n const {\n organization_name,\n application_name,\n package_name,\n service_name,\n status: { code, name },\n id,\n gcp_project,\n due_date\n } = project;\n const [controlledVisible, setControlledVisible] = useState(false);\n const {\n getArrowProps,\n getTooltipProps,\n setTooltipRef,\n setTriggerRef,\n visible\n } = usePopperTooltip({\n offset: 6,\n trigger: \"hover\",\n closeOnOutsideClick: true,\n interactive: true,\n placement: \"top\",\n visible: controlledVisible,\n onVisibleChange: setControlledVisible\n });\n\n useEffect(() => {\n switch (service_name) {\n case \"casa\":\n setTitle(application_name || organization_name);\n setServiceName(\"Cloud Application Security Assessment\");\n setDescription(OrderCasaDescrByStatus[code]);\n break;\n case \"masa\":\n setTitle(package_name || organization_name);\n setServiceName(\"Mobile Application Security Assessment\");\n setDescription(OrderMasaDescrByStatus[code]);\n break;\n default:\n break;\n }\n }, [organization_name, application_name, package_name, service_name, code]);\n\n const handleOpenOrderView = async () => {\n await dispatch(clearOrderDetails());\n\n navigate(generatePath(routes.PROJECT_DETAILS, { id }));\n };\n\n return (\n \n
\n {name && (\n \n {name}\n
\n )}\n \n
\n \n
{serviceName}
\n
\n {description &&
{description}
}\n {service_name === \"casa\" && (\n
\n {gcp_project && (\n
\n \n \n GCP Project number: {gcp_project}\n \n
\n )}\n {due_date && (\n
\n \n {due_date}\n
\n )}\n {visible && (\n \n Assessment due date\n
\n
\n )}\n
\n )}\n \n );\n};\n\nProjectCard.propTypes = {\n project: PropTypes.shape({\n id: PropTypes.number,\n status: PropTypes.object,\n is_paid: PropTypes.bool,\n payed_at: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n package_name: PropTypes.string,\n organization_name: PropTypes.string,\n application_name: PropTypes.string,\n due_date: PropTypes.string,\n service_name: PropTypes.string,\n order_number: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n gcp_project: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n }).isRequired\n};\n\nexport default ProjectCard;\n","import ProjectCard from \"./ProjectCard\";\n\nexport default ProjectCard;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport \"./CircleSpinner.scss\";\n\nconst CircleSpinner = ({ type }) => {\n return (\n \n
\n
\n
\n
\n );\n};\n\nCircleSpinner.propTypes = {\n type: PropTypes.string // screen | container\n};\n\nexport default CircleSpinner;\n","import CircleSpinner from \"./CircleSpinner\";\n\nexport default CircleSpinner;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nfunction throttle (delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n var self = this;\n var elapsed = Date.now() - lastExec;\n var args = arguments;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, args);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\n\nfunction debounce (delay, atBegin, callback) {\n return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n}\n\nexport { throttle, debounce };\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport { routes } from \"@/constants\";\nimport ProjectCard from \"@/components/ProjectCard\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\n// import PageNotice from \"@/components/PageNotice\";\nimport { useMediaQuery } from \"react-responsive\";\nimport InfiniteScroll from \"react-infinite-scroll-component\";\nimport { getAllOrdersMore } from \"@/store/order/order.actions\";\nimport { getOrdersMore } from \"@/store/order/order.reducer\";\nimport \"./ProjectTiles.scss\";\n\nconst ProjectTiles = ({ orders }) => {\n const dispatch = useDispatch();\n const moreOrders = useSelector(getOrdersMore);\n const [ordersArr, setOrdersArr] = useState(orders.data);\n const [page, setPage] = useState(1);\n const isDesktop = useMediaQuery({ query: \"(min-width: 1024px)\" });\n\n useEffect(() => {\n if (moreOrders) {\n setOrdersArr(ordersArr.concat(moreOrders));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [moreOrders]);\n\n const fetchMoreData = async () => {\n await dispatch(getAllOrdersMore(page + 1));\n setPage(page + 1);\n };\n\n return (\n
\n {/* */}\n {ordersArr && ordersArr.length ? (\n <>\n

All Projects

\n \n \n
\n }\n next={fetchMoreData}\n scrollableTarget={isDesktop && \"main-layout-body\"}\n hasMore={orders.total !== ordersArr.length}>\n {ordersArr.map((project) => (\n
\n \n
\n ))}\n \n \n ) : (\n
\n
\n \n
\n

\n Welcome to the Assessment Hub\n

\n
\n To begin a new security assessment for your application, click the\n button below\n
\n
\n \n Start new assesment\n \n
\n
\n )}\n \n );\n};\n\nProjectTiles.propTypes = {\n orders: PropTypes.object.isRequired\n};\n\nexport default ProjectTiles;\n","import ProjectTiles from \"./ProjectTiles\";\n\nexport default ProjectTiles;\n","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\n\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaa':\n return dayPeriodEnumValue;\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return lightFormatters.m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nexport default formatters;","var dateLongFormatter = function (pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\n\nvar timeLongFormatter = function (pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\n\nvar dateTimeLongFormatter = function (pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function (token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function (token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nvar ordinalNumber = function (dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport { IconBack, IconForward, DownloadIcon } from \"@/icons\";\nimport \"./Button.scss\";\n\nconst BUTTON_DIRECTIONS = {\n BACK: \"back\",\n FORWARD: \"forward\",\n DOWNLOAD: \"download\"\n};\n\n// eslint-disable-next-line react/display-name\nconst Button = React.forwardRef(\n (\n {\n type,\n icon,\n btnIcon,\n disabled,\n isLoading,\n size,\n text,\n className,\n onClick,\n ...props\n },\n ref\n ) => {\n return (\n \n {isLoading &&
}\n
\n {icon === BUTTON_DIRECTIONS.BACK && (\n \n )}\n {icon === BUTTON_DIRECTIONS.DOWNLOAD && (\n \n )}\n {btnIcon}\n {text}\n {icon === BUTTON_DIRECTIONS.FORWARD && (\n \n )}\n
\n \n );\n }\n);\n\nButton.propTypes = {\n type: PropTypes.string,\n icon: PropTypes.string, // back | forward | null | \n btnIcon: PropTypes.node,\n onClick: PropTypes.func,\n text: PropTypes.string,\n className: PropTypes.string,\n size: PropTypes.string, // sm, md, lg\n disabled: PropTypes.bool,\n isLoading: PropTypes.bool\n};\n\nexport default Button;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport { Link } from \"react-router-dom\";\nimport { IconForward, IconBack } from \"@/icons\";\n\nconst BUTTON_DIRECTIONS = {\n BACK: \"back\",\n FORWARD: \"forward\"\n};\n\n// eslint-disable-next-line react/display-name\nconst ButtonLink = React.forwardRef(\n (\n { icon, blank, disabled, size, replace, text, className, to, onClick },\n ref\n ) => {\n return (\n \n {icon === BUTTON_DIRECTIONS.BACK && (\n \n )}\n {text}\n {icon === BUTTON_DIRECTIONS.FORWARD && (\n \n )}\n \n );\n }\n);\n\nButtonLink.defaultProps = {\n replace: false,\n icon: null,\n blank: false\n};\n\nButtonLink.propTypes = {\n blank: PropTypes.bool,\n disabled: PropTypes.bool,\n icon: PropTypes.string, // back | forward | null\n onClick: PropTypes.func,\n text: PropTypes.string,\n className: PropTypes.string,\n to: PropTypes.string.isRequired,\n replace: PropTypes.bool,\n size: PropTypes.string // sm, md, lg\n};\n\nexport default ButtonLink;\n","import Button from \"./Button\";\n\nexport { default as ButtonLink } from \"./ButtonLink\";\n\nexport default Button;\n","import { isPending, isTracked } from \"@/utils/createAsyncAction\";\nimport { createReducer } from \"@reduxjs/toolkit\";\n\nconst pending = createReducer([], (builder) => {\n builder.addMatcher(\n (action) => {\n return isTracked(action) && isPending(action);\n },\n // eslint-disable-next-line consistent-return\n (state, action) => {\n if (!state.includes(action.type)) {\n state.push(action.type);\n }\n }\n );\n\n builder.addMatcher(\n (action) => {\n return isTracked(action) && !isPending(action);\n },\n (state, action) => {\n if (state.includes(action.type)) {\n return state.filter((actionType) => {\n return actionType !== action.type;\n });\n }\n return state;\n }\n );\n});\n\nexport const isInProcess = (state, action) => {\n return state.pending.includes(action);\n};\n\nexport default pending;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable react/no-unused-prop-types */\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Button from \"@/components/Button\";\nimport { TrashInvertedIcon } from \"@/icons\";\nimport { useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport \"./ServicePopup.scss\";\n\nconst ServicePopup = ({\n onClose,\n onSubmit,\n onSubmitAction,\n title,\n text,\n submitButtonLabel,\n submitDelete,\n closeButtonLabel\n}) => {\n const isLoading = useSelector((state) => isInProcess(state, onSubmitAction));\n\n return (\n
\n
\n {title &&
{title}
}\n {text &&
{text}
}\n
\n \n {submitDelete ? (\n }\n onClick={onSubmit}\n />\n ) : (\n \n )}\n
\n
\n
\n );\n};\n\nServicePopup.propTypes = {\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n onSubmitAction: PropTypes.string,\n title: PropTypes.string,\n text: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n submitDelete: PropTypes.bool,\n closeButtonLabel: PropTypes.string\n};\n\nexport default ServicePopup;\n","import ServicePopup from \"./ServicePopup\";\n\nexport default ServicePopup;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable no-unused-expressions */\n/* eslint-disable jsx-a11y/label-has-associated-control */\n/* eslint-disable import/no-duplicates, no-console */\nimport React, { useState, useEffect } from \"react\";\nimport { format } from \"date-fns\";\nimport { Auth } from \"aws-amplify\";\nimport { useSelector } from \"react-redux\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { getAuthType } from \"@/store/auth/auth.reducer\";\nimport {\n getAccountEmail,\n getAccountChangePasswordDate\n} from \"@/store/account/account.reducer\";\nimport { AuthTypes, lsKeys } from \"@/constants\";\nimport cn from \"classnames\";\nimport {\n TrashIcon,\n NotificationInvertedIcon,\n LockIcon,\n GoogleIcon,\n MailIcon,\n AppleLogo\n} from \"@/icons\";\nimport ServicePopup from \"@/components/ServicePopup\";\nimport { TabletDesktop, Mobile } from \"@/components/Responsive\";\nimport { routes } from \"@/constants/routes\";\nimport \"./Settings.scss\";\n\nconst Settings = () => {\n const navigate = useNavigate();\n const [showDeleteAccountModal, setShowDeleteAccountModal] = useState(false);\n const authType = useSelector(getAuthType);\n const accountEmail = useSelector(getAccountEmail);\n const [isEmailAuth, setEmailAuth] = useState(false);\n const [isGoogleAuth, setGoogleAuth] = useState(false);\n const [isAppleAuth, setAppleAuth] = useState(false);\n const [pushNotifications, setPushNotifications] = useState(false);\n const [mfaAuth, setMfaAuth] = useState();\n const accountChangePasswordDate = useSelector(getAccountChangePasswordDate);\n const [comingSoon] = useState(false);\n const isMfaAuth = localStorage.getItem(lsKeys.MFA_SESSION);\n\n const openDeleteAccountModal = () => {\n setShowDeleteAccountModal(true);\n };\n\n const closeDeleteAccountModal = () => {\n setShowDeleteAccountModal(false);\n };\n\n const handlePushNotifications = () => {\n setPushNotifications(!pushNotifications);\n };\n\n const handleMfaAuth = () => {\n if (mfaAuth) {\n navigate(routes.MFA_DISABLE);\n } else {\n navigate(routes.MFA_ENABLE);\n }\n };\n\n useEffect(() => {\n setMfaAuth(isMfaAuth);\n\n const provider =\n Auth.user &&\n JSON.parse(Auth.user.attributes.identities)[0].providerName.toLowerCase();\n\n if (provider && provider.indexOf(\"google\") !== -1) {\n setGoogleAuth(true);\n }\n if (provider && provider.indexOf(\"apple\") !== -1) {\n setAppleAuth(true);\n }\n\n if (authType === AuthTypes.EMAIL_PASSWORD) {\n setEmailAuth(true);\n }\n }, [authType, isMfaAuth]);\n\n return (\n
\n
\n
\n
\n
\n {accountEmail && (\n
\n
{accountEmail[0]}
\n
\n
{accountEmail}
\n \n
\n {isGoogleAuth && \"Sign in with Google\"}\n {isEmailAuth && \"Sign in with email\"}\n {isAppleAuth && \"Sign in with Apple\"}\n
\n
\n
\n
\n )}\n \n
\n {isGoogleAuth && (\n <>\n \n \n Sign in with Google\n \n \n )}\n {isEmailAuth && (\n <>\n \n \n Sign in with email\n \n \n )}\n {isAppleAuth && (\n <>\n \n \n Sign in with Apple\n \n \n )}\n
\n
\n
\n
\n
\n {isEmailAuth && (\n
\n
\n
\n \n
\n
Privacy and Security
\n
\n
\n
\n
\n
Change password
\n {accountChangePasswordDate && (\n
\n Changed:{\" \"}\n {format(\n new Date(accountChangePasswordDate),\n \"MMMM d, yyyy\"\n )}\n
\n )}\n
\n \n Change\n \n
\n
\n
\n
\n Multi-factor authentification\n
\n
Set up MFA
\n
\n \n
\n
\n
\n
\n
\n )}\n {comingSoon && (\n
\n
\n
\n \n
\n
Notification settings
\n
\n
\n
\n
\n
Push-notifications
\n
Allow notifications
\n
\n \n
\n
\n
\n
\n
\n )}\n {comingSoon && (\n
\n \n
\n \n
\n
\n Delete account\n
\n \n
\n )}\n
\n {showDeleteAccountModal && (\n \n )}\n
\n );\n};\n\nexport default Settings;\n","import Settings from \"./Settings\";\n\nexport default Settings;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Header from \"@/components/Header\";\nimport PageSidebar from \"@/components/PageSidebar\";\nimport Footer from \"@/components/Footer\";\nimport ProjectTiles from \"@/components/ProjectTiles\";\nimport { Desktop, TabletDesktop } from \"@/components/Responsive\";\nimport Settings from \"@/components/Settings\";\nimport { Outlet, Link } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getAllOrders } from \"@/store/order/order.actions\";\nimport { getOrderList } from \"@/store/order/order.reducer\";\nimport { useAsideLayoutProps } from \"@/hooks\";\nimport { routes } from \"@/constants\";\nimport \"../MainLayout/MainLayout.scss\";\n\nconst DrawerLayout = ({ pageState }) => {\n const dispatch = useDispatch();\n const orderList = useSelector(getOrderList);\n const layoutProps = useAsideLayoutProps(Object.values(routes));\n let closePath = routes.ROOT;\n\n if (pageState === \"settings\") {\n closePath = routes.SETTINGS;\n }\n\n useEffect(() => {\n dispatch(getAllOrders());\n }, [dispatch]);\n\n return (\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n \n
\n {orderList && !pageState && }\n {pageState === \"settings\" && }\n
\n
\n
\n
\n {layoutProps.title && (\n
\n
\n
\n {layoutProps.title}\n
\n {layoutProps.label && (\n
\n {layoutProps.label}\n
\n )}\n
\n \n \n \n \n \n
\n )}\n \n
\n
\n \n
\n
\n
\n
\n
\n );\n};\n\nDrawerLayout.propTypes = {\n pageState: PropTypes.string\n};\n\nexport default DrawerLayout;\n","import DrawerLayout from \"./DrawerLayout\";\n\nexport default DrawerLayout;\n","export { default as MainLayout } from \"./MainLayout\";\nexport { default as AsideLayout } from \"./AsideLayout\";\nexport { default as DrawerLayout } from \"./DrawerLayout\";\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Navigate, Outlet, useLocation } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getAuthType, getIsAuthenticated } from \"@/store/auth/auth.reducer\";\nimport { AuthTypes, routes } from \"@/constants\";\nimport { logout, validateToken } from \"@/store/auth/auth.actions\";\nimport { Auth } from \"aws-amplify\";\nimport { getUserDetails } from \"@/store/account/account.actions\";\nimport axios from \"axios\";\n\nconst RequireAuth = ({ redirectTo }) => {\n const isAuthenticated = useSelector(getIsAuthenticated);\n const authType = useSelector(getAuthType);\n const location = useLocation();\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (isAuthenticated) {\n dispatch(getUserDetails());\n }\n }, [isAuthenticated, dispatch]);\n\n useEffect(() => {\n const cancelTokenSource = axios.CancelToken.source();\n if (authType === AuthTypes.EMAIL_PASSWORD) {\n dispatch(validateToken(cancelTokenSource.token));\n } else {\n (async () => {\n try {\n await Auth.currentAuthenticatedUser({\n bypassCache: false\n });\n } catch (error) {\n dispatch(logout());\n }\n })();\n }\n\n return () => {\n cancelTokenSource?.cancel();\n };\n }, [authType, dispatch]);\n\n return isAuthenticated ? (\n \n ) : (\n \n );\n};\n\nRequireAuth.defaultProps = {\n redirectTo: routes.LOGIN\n};\n\nRequireAuth.propTypes = {\n redirectTo: PropTypes.string\n};\n\nexport default RequireAuth;\n","import RequireAuth from \"./RequireAuth\";\n\nexport default RequireAuth;\n","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is Date => value instanceof Date;\n","export default (value: unknown): value is null | undefined => value == null;\n","import isDateObject from './isDateObject';\nimport isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown) => typeof value === 'object';\n\nexport default (value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n","import isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isObject from '../utils/isObject';\n\ntype Event = { target: any };\n\nexport default (event: unknown) =>\n isObject(event) && (event as Event).target\n ? isCheckBoxInput((event as Event).target)\n ? (event as Event).target.checked\n : (event as Event).target.value\n : event;\n","export default (name: string) =>\n name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n","import { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set, name: InternalFieldName) =>\n names.has(getNodeParentName(name));\n","export default (value: TValue[]) =>\n Array.isArray(value) ? value.filter(Boolean) : [];\n","export default (val: unknown): val is undefined => val === undefined;\n","import compact from './compact';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\n\nexport default (obj: T, path: string, defaultValue?: unknown): any => {\n if (!path || !isObject(obj)) {\n return defaultValue;\n }\n\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) =>\n isNullOrUndefined(result) ? result : result[key as keyof {}],\n obj,\n );\n\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path as keyof T])\n ? defaultValue\n : obj[path as keyof T]\n : result;\n};\n","import { ValidationMode } from './types';\n\nexport const EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\n\nexport const VALIDATION_MODE: ValidationMode = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n","import React from 'react';\n\nimport { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst HookFormContext = React.createContext(null);\n\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n>(): UseFormReturn =>\n React.useContext(HookFormContext) as unknown as UseFormReturn;\n\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useFrom methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const FormProvider = (\n props: FormProviderProps,\n) => {\n const { children, ...data } = props;\n return (\n \n {children}\n \n );\n};\n","import { VALIDATION_MODE } from '../constants';\nimport { FieldValues, FormState, ReadFormState } from '../types';\n\nexport default (\n formState: FormState,\n _proxyFormState: ReadFormState,\n localProxyFormState?: ReadFormState,\n isRoot = true,\n) => {\n const result = {} as typeof formState;\n\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key as keyof FormState & keyof ReadFormState;\n\n if (_proxyFormState[_key] !== VALIDATION_MODE.all) {\n _proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n\n return result;\n};\n","import { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import { VALIDATION_MODE } from '../constants';\nimport { ReadFormState } from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\n\nexport default , K extends ReadFormState>(\n formStateData: T,\n _proxyFormState: K,\n isRoot?: boolean,\n) => {\n const { name, ...formState } = formStateData;\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find(\n (key) =>\n _proxyFormState[key as keyof ReadFormState] ===\n (!isRoot || VALIDATION_MODE.all),\n )\n );\n};\n","export default (value: T) => (Array.isArray(value) ? value : [value]);\n","import convertToArrayPayload from '../utils/convertToArrayPayload';\n\nexport default (\n name?: T,\n signalName?: string,\n exact?: boolean,\n) =>\n exact && signalName\n ? name === signalName\n : !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some(\n (currentName) =>\n currentName &&\n (currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)),\n );\n","import React from 'react';\n\nimport { Subject, Subscription } from './utils/createSubject';\n\ntype Props = {\n disabled?: boolean;\n subject: Subject;\n callback: (value: T) => void;\n};\n\nexport function useSubscribe(props: Props) {\n const _props = React.useRef(props);\n _props.current = props;\n\n React.useEffect(() => {\n const tearDown = (subscription: Subscription | false) => {\n if (subscription) {\n subscription.unsubscribe();\n }\n };\n\n const subscription =\n !props.disabled &&\n _props.current.subject.subscribe({\n next: _props.current.callback,\n });\n\n return () => tearDown(subscription);\n }, [props.disabled]);\n}\n","import React from 'react';\n\nimport getProxyFormState from './logic/getProxyFormState';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport shouldSubscribeByName from './logic/shouldSubscribeByName';\nimport {\n FieldValues,\n InternalFieldName,\n UseFormStateProps,\n UseFormStateReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n *
\n * \n * {dirtyFields.firstName &&

Field is dirty.

}\n * \n *
\n * );\n * }\n * ```\n */\nfunction useFormState(\n props?: UseFormStateProps,\n): UseFormStateReturn {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n const _mounted = React.useRef(true);\n\n _name.current = name;\n\n const callback = React.useCallback(\n (value: { name?: InternalFieldName }) =>\n _mounted.current &&\n shouldSubscribeByName(\n _name.current as InternalFieldName,\n value.name,\n exact,\n ) &&\n shouldRenderFormState(value, _localProxyFormState.current) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n [control, exact],\n );\n\n useSubscribe({\n disabled,\n callback,\n subject: control._subjects.state,\n });\n\n React.useEffect(() => {\n _mounted.current = true;\n return () => {\n _mounted.current = false;\n };\n }, []);\n\n return getProxyFormState(\n formState,\n control._proxyFormState,\n _localProxyFormState.current,\n false,\n );\n}\n\nexport { useFormState };\n","export default (value: unknown): value is string => typeof value === 'string';\n","import { FieldValues, InternalFieldName, Names } from '../types';\nimport get from '../utils/get';\nimport isString from '../utils/isString';\n\nexport default (\n names: string | string[] | undefined,\n _names: Names,\n formValues?: FieldValues,\n isGlobal?: boolean,\n) => {\n const isArray = Array.isArray(names);\n if (isString(names)) {\n isGlobal && _names.watch.add(names as InternalFieldName);\n return get(formValues, names as InternalFieldName);\n }\n\n if (isArray) {\n return names.map(\n (fieldName) => (\n isGlobal && _names.watch.add(fieldName as InternalFieldName),\n get(formValues, fieldName as InternalFieldName)\n ),\n );\n }\n\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import isFunction from './isFunction';\n\nexport default (data: T): boolean => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n","import React from 'react';\n\nimport generateWatchOutput from './logic/generateWatchOutput';\nimport shouldSubscribeByName from './logic/shouldSubscribeByName';\nimport isObject from './utils/isObject';\nimport isUndefined from './utils/isUndefined';\nimport objectHasFunction from './utils/objectHasFunction';\nimport {\n Control,\n DeepPartialSkipArrayKey,\n FieldPath,\n FieldPathValue,\n FieldPathValues,\n FieldValues,\n InternalFieldName,\n UnpackNestedValue,\n UseWatchProps,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * Subscribe to the entire form values change and re-render at the hook level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { watch } = useForm();\n * const values = useWatch({\n * control,\n * defaultValue: {\n * name: \"data\"\n * },\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n>(props: {\n defaultValue?: DeepPartialSkipArrayKey;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): DeepPartialSkipArrayKey;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { watch } = useForm();\n * const values = useWatch({\n * control,\n * name: \"fieldA\",\n * defaultValue: \"default value\",\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n TFieldName extends FieldPath = FieldPath,\n>(props: {\n name: TFieldName;\n defaultValue?: FieldPathValue;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): FieldPathValue;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { watch } = useForm();\n * const values = useWatch({\n * control,\n * name: [\"fieldA\", \"fieldB\"],\n * defaultValue: {\n * fieldA: \"data\",\n * fieldB: \"data\"\n * },\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n TFieldNames extends readonly FieldPath[] = readonly FieldPath[],\n>(props: {\n name: readonly [...TFieldNames];\n defaultValue?: UnpackNestedValue>;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): FieldPathValues;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * // can skip passing down the control into useWatch if the form is wrapped with the FormProvider\n * const values = useWatch()\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n TFieldNames extends FieldPath[] = FieldPath[],\n>(): FieldPathValues;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { watch } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nexport function useWatch(\n props?: UseWatchProps,\n) {\n const methods = useFormContext();\n const {\n control = methods.control,\n name,\n defaultValue,\n disabled,\n exact,\n } = props || {};\n const _name = React.useRef(name);\n\n _name.current = name;\n\n const callback = React.useCallback(\n (formState: { name?: InternalFieldName; values?: FieldValues }) => {\n if (\n shouldSubscribeByName(\n _name.current as InternalFieldName,\n formState.name,\n exact,\n )\n ) {\n const fieldValues = generateWatchOutput(\n _name.current as InternalFieldName | InternalFieldName[],\n control._names,\n formState.values || control._formValues,\n );\n\n updateValue(\n isUndefined(_name.current) ||\n (isObject(fieldValues) && !objectHasFunction(fieldValues))\n ? { ...fieldValues }\n : Array.isArray(fieldValues)\n ? [...fieldValues]\n : isUndefined(fieldValues)\n ? defaultValue\n : fieldValues,\n );\n }\n },\n [control, exact, defaultValue],\n );\n\n useSubscribe({\n disabled,\n subject: control._subjects.watch,\n callback,\n });\n\n const [value, updateValue] = React.useState(\n isUndefined(defaultValue)\n ? control._getWatch(name as InternalFieldName)\n : defaultValue,\n );\n\n React.useEffect(() => {\n control._removeUnmounted();\n });\n\n return value;\n}\n","import React from 'react';\n\nimport getEventValue from './logic/getEventValue';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport get from './utils/get';\nimport { EVENTS } from './constants';\nimport {\n ControllerFieldState,\n Field,\n FieldPath,\n FieldPathValue,\n FieldValues,\n InternalFieldName,\n UseControllerProps,\n UseControllerReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useFormState } from './useFormState';\nimport { useWatch } from './useWatch';\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n *
\n * \n *

{fieldState.isTouched && \"Touched\"}

\n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *
\n * );\n * }\n * ```\n */\nexport function useController<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath = FieldPath,\n>(\n props: UseControllerProps,\n): UseControllerReturn {\n const methods = useFormContext();\n const { name, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(\n control._formValues,\n name,\n get(control._defaultValues, name, props.defaultValue),\n ),\n exact: true,\n }) as FieldPathValue;\n const formState = useFormState({\n control,\n name,\n });\n\n const _registerProps = React.useRef(\n control.register(name, {\n ...props.rules,\n value,\n }),\n );\n\n React.useEffect(() => {\n const updateMounted = (name: InternalFieldName, value: boolean) => {\n const field: Field = get(control._fields, name);\n\n if (field) {\n field._f.mount = value;\n }\n };\n\n updateMounted(name, true);\n\n return () => {\n const _shouldUnregisterField =\n control._options.shouldUnregister || shouldUnregister;\n\n (\n isArrayField\n ? _shouldUnregisterField && !control._stateFlags.action\n : _shouldUnregisterField\n )\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n\n return {\n field: {\n name,\n value,\n onChange: React.useCallback(\n (event) => {\n _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name as InternalFieldName,\n },\n type: EVENTS.CHANGE,\n });\n },\n [name],\n ),\n onBlur: React.useCallback(() => {\n _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name as InternalFieldName,\n },\n type: EVENTS.BLUR,\n });\n }, [name, control]),\n ref: React.useCallback(\n (elm) => {\n const field = get(control._fields, name);\n\n if (elm && field && elm.focus) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message: string) =>\n elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n [name, control._fields],\n ),\n },\n formState,\n fieldState: Object.defineProperties(\n {},\n {\n invalid: {\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n get: () => !!get(formState.touchedFields, name),\n },\n error: {\n get: () => get(formState.errors, name),\n },\n },\n ) as ControllerFieldState,\n };\n}\n","import { ControllerProps, FieldPath, FieldValues } from './types';\nimport { useController } from './useController';\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n *
\n * (\n * <>\n * \n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *

{fieldState.isTouched ? \"touched\" : \"\"}

\n * \n * )}\n * />\n * \n * );\n * }\n * ```\n */\nconst Controller = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath = FieldPath,\n>(\n props: ControllerProps,\n) => props.render(useController(props));\n\nexport { Controller };\n","import {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default (value: string) => /^\\w*$/.test(value);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import { FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default function set(\n object: FieldValues,\n path: string,\n value?: unknown,\n) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n","import { FieldRefs, InternalFieldName } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\nimport isUndefined from '../utils/isUndefined';\n\nconst focusFieldBy = (\n fields: FieldRefs,\n callback: (name: string) => boolean,\n fieldsNames?: Set | InternalFieldName[],\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const { _f, ...currentField } = field;\n\n if (_f && callback(_f.name)) {\n if (_f.ref.focus && isUndefined(_f.ref.focus())) {\n break;\n } else if (_f.refs) {\n _f.refs[0].focus();\n break;\n }\n } else if (isObject(currentField)) {\n focusFieldBy(currentField, callback);\n }\n }\n }\n};\n\nexport default focusFieldBy;\n","export default () => {\n const d =\n typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n","import { FieldArrayMethodProps, InternalFieldName } from '../types';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n name: InternalFieldName,\n index: number,\n options: FieldArrayMethodProps = {},\n): string =>\n options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n","import { InternalFieldName, Names } from '../types';\n\nexport default (\n name: InternalFieldName,\n _names: Names,\n isBlurEvent?: boolean,\n) =>\n !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some(\n (watchName) =>\n name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length)),\n ));\n","import {\n FieldError,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport compact from '../utils/compact';\nimport get from '../utils/get';\nimport set from '../utils/set';\n\nexport default (\n errors: FieldErrors,\n error: Partial>,\n name: InternalFieldName,\n): FieldErrors => {\n const fieldArrayErrors = compact(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","import React from 'react';\n\nimport { Message } from '../types';\nimport isString from '../utils/isString';\n\nexport default (value: unknown): value is Message =>\n isString(value) || React.isValidElement(value as JSX.Element);\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport {\n Field,\n FieldError,\n InternalFieldErrors,\n Message,\n NativeFieldValue,\n} from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isMessage from '../utils/isMessage';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async (\n field: Field,\n inputValue: T,\n validateAllFieldCriteria: boolean,\n shouldUseNativeValidation?: boolean,\n isFieldArray?: boolean,\n): Promise => {\n const {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n valueAsNumber,\n mount,\n disabled,\n } = field._f;\n if (!mount || disabled) {\n return {};\n }\n const inputRef: HTMLInputElement = refs ? refs[0] : (ref as HTMLInputElement);\n const setCustomValidity = (message?: string | boolean) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || ' ');\n inputRef.reportValidity();\n }\n };\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) && !ref.value) ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType = INPUT_VALIDATION_RULES.maxLength,\n minType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue as number)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber || +inputValue;\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue as string);\n if (isString(maxOutput.value)) {\n exceedMax = valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value)) {\n exceedMin = valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (\n (maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))\n ) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue);\n const validateError = getValidateError(result, inputRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateError = getValidateError(\n await validate[key](inputValue),\n inputRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n setCustomValidity(validateError.message);\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n setCustomValidity(true);\n return error;\n};\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default function append(data: T[], value: T | T[]): T[] {\n return [...data, ...convertToArrayPayload(value)];\n}\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isFunction from './isFunction';\nimport isObject from './isObject';\nimport isWeb from './isWeb';\n\nexport default function cloneObject(data: T): T {\n let copy: any;\n const isArray = Array.isArray(data);\n\n if (data instanceof Date) {\n copy = new Date(data);\n } else if (data instanceof Set) {\n copy = new Set(data);\n } else if (\n !(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))\n ) {\n copy = isArray ? [] : {};\n for (const key in data) {\n if (isFunction(data[key])) {\n copy = data;\n break;\n }\n copy[key] = cloneObject(data[key]);\n }\n } else {\n return data;\n }\n\n return copy;\n}\n","export default (value: T | T[]): undefined[] | undefined =>\n Array.isArray(value) ? value.map(() => undefined) : undefined;\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode } from '../types';\n\nexport default (\n mode?: Mode,\n): {\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnAll: boolean;\n isOnTouch: boolean;\n} => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default function insert(data: T[], index: number): (T | undefined)[];\nexport default function insert(\n data: T[],\n index: number,\n value: T | T[],\n): T[];\nexport default function insert(\n data: T[],\n index: number,\n value?: T | T[],\n): (T | undefined)[] {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n","import isUndefined from './isUndefined';\n\nexport default (\n data: (T | undefined)[],\n from: number,\n to: number,\n): (T | undefined)[] => {\n if (!Array.isArray(data)) {\n return [];\n }\n\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n\n return data;\n};\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default function prepend(data: T[], value: T | T[]): T[] {\n return [...convertToArrayPayload(value), ...convertToArrayPayload(data)];\n}\n","import compact from './compact';\nimport convertToArrayPayload from './convertToArrayPayload';\nimport isUndefined from './isUndefined';\n\nfunction removeAtIndexes(data: T[], indexes: number[]): T[] {\n let i = 0;\n const temp = [...data];\n\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n\n return compact(temp).length ? temp : [];\n}\n\nexport default (data: T[], index?: number | number[]): T[] =>\n isUndefined(index)\n ? []\n : removeAtIndexes(\n data,\n (convertToArrayPayload(index) as number[]).sort((a, b) => a - b),\n );\n","export default (data: T[], indexA: number, indexB: number): void => {\n data[indexA] = [data[indexB], (data[indexB] = data[indexA])][0];\n};\n","import isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nfunction isEmptyArray(obj: unknown[]) {\n for (const key in obj) {\n if (!isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\n\nexport default function unset(object: any, path: string) {\n const updatePath = isKey(path) ? [path] : stringToPath(path);\n const childObject =\n updatePath.length == 1 ? object : baseGet(object, updatePath);\n const key = updatePath[updatePath.length - 1];\n let previousObjRef;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\n let index = -1;\n let objectRef;\n const currentPaths = updatePath.slice(0, -(k + 1));\n const currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n const item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (\n currentPathsLength === index &&\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\n (Array.isArray(objectRef) && isEmptyArray(objectRef)))\n ) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n","export default (fieldValues: T[], index: number, value: T) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n","import React from 'react';\n\nimport focusFieldBy from './logic/focusFieldBy';\nimport generateId from './logic/generateId';\nimport getFocusFieldName from './logic/getFocusFieldName';\nimport isWatched from './logic/isWatched';\nimport updateFieldArrayRootError from './logic/updateFieldArrayRootError';\nimport validateField from './logic/validateField';\nimport appendAt from './utils/append';\nimport cloneObject from './utils/cloneObject';\nimport convertToArrayPayload from './utils/convertToArrayPayload';\nimport fillEmptyArray from './utils/fillEmptyArray';\nimport get from './utils/get';\nimport getValidationModes from './utils/getValidationModes';\nimport insertAt from './utils/insert';\nimport isEmptyObject from './utils/isEmptyObject';\nimport moveArrayAt from './utils/move';\nimport prependAt from './utils/prepend';\nimport removeArrayAt from './utils/remove';\nimport set from './utils/set';\nimport swapArrayAt from './utils/swap';\nimport unset from './utils/unset';\nimport updateAt from './utils/update';\nimport { VALIDATION_MODE } from './constants';\nimport {\n Control,\n Field,\n FieldArray,\n FieldArrayMethodProps,\n FieldArrayPath,\n FieldArrayWithId,\n FieldErrors,\n FieldPath,\n FieldValues,\n InternalFieldName,\n RegisterOptions,\n UseFieldArrayProps,\n UseFieldArrayReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n *
console.log(data))}>\n * {fields.map((item, index) => (\n * \n * ))}\n * \n * \n *
\n * );\n * }\n * ```\n */\nexport function useFieldArray<\n TFieldValues extends FieldValues = FieldValues,\n TFieldArrayName extends FieldArrayPath = FieldArrayPath,\n TKeyName extends string = 'id',\n>(\n props: UseFieldArrayProps,\n): UseFieldArrayReturn {\n const methods = useFormContext();\n const {\n control = methods.control,\n name,\n keyName = 'id' as TKeyName,\n shouldUnregister,\n } = props;\n const [fields, setFields] = React.useState<\n Partial>[]\n >(control._getFieldArray(name));\n const ids = React.useRef(\n control._getFieldArray(name).map(generateId),\n );\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n\n props.rules &&\n (control as Control).register(\n name as InternalFieldName,\n props.rules as RegisterOptions,\n );\n\n const callback = React.useCallback(\n ({\n values,\n name: fieldArrayName,\n }: {\n values?: FieldValues;\n name?: InternalFieldName;\n }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current, []);\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n },\n [],\n );\n\n useSubscribe({\n callback,\n subject: control._subjects.array,\n });\n\n const updateValues = React.useCallback(\n <\n T extends Partial<\n FieldArrayWithId\n >[],\n >(\n updatedFieldArrayValues: T,\n ) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n },\n [control, name],\n );\n\n const append = (\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(\n control._getFieldArray(name),\n appendValue,\n );\n control._names.focus = getFocusFieldName(\n name,\n updatedFieldArrayValues.length - 1,\n options,\n );\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n\n const prepend = (\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(\n control._getFieldArray(name),\n prependValue,\n );\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n\n const remove = (index?: number | number[]) => {\n const updatedFieldArrayValues: Partial<\n FieldArrayWithId\n >[] = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n\n const insert = (\n index: number,\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insertAt(\n control._getFieldArray(name),\n index,\n insertValue,\n );\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insertAt(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insertAt, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n\n const swap = (indexA: number, indexB: number) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n swapArrayAt,\n {\n argA: indexA,\n argB: indexB,\n },\n false,\n );\n };\n\n const move = (from: number, to: number) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n moveArrayAt,\n {\n argA: from,\n argB: to,\n },\n false,\n );\n };\n\n const update = (\n index: number,\n value: FieldArray,\n ) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(\n control._getFieldArray<\n FieldArrayWithId\n >(name),\n index,\n updateValue as FieldArrayWithId,\n );\n ids.current = [...updatedFieldArrayValues].map((item, i) =>\n !item || i === index ? generateId() : ids.current[i],\n );\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n updateAt,\n {\n argA: index,\n argB: updateValue,\n },\n true,\n false,\n );\n };\n\n const replace = (\n value:\n | Partial>\n | Partial>[],\n ) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(\n name,\n [...updatedFieldArrayValues],\n (data: T): T => data,\n {},\n true,\n false,\n );\n };\n\n React.useEffect(() => {\n control._stateFlags.action = false;\n\n isWatched(name, control._names) && control._subjects.state.next({});\n\n if (_actioned.current) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n\n if (\n existingError ? !error && existingError.type : error && error.type\n ) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors as FieldErrors,\n });\n }\n });\n } else {\n const field: Field = get(control._fields, name);\n const validationModeBeforeSubmit = getValidationModes(\n control._options.mode,\n );\n if (\n (!validationModeBeforeSubmit.isOnSubmit ||\n control._formState.isSubmitted) &&\n field &&\n field._f\n ) {\n validateField(\n field,\n get(control._formValues, name),\n control._options.criteriaMode === VALIDATION_MODE.all,\n control._options.shouldUseNativeValidation,\n true,\n ).then(\n (error) =>\n !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(\n control._formState.errors,\n error,\n name,\n ) as FieldErrors,\n }),\n );\n }\n }\n }\n\n control._subjects.watch.next({\n name,\n values: control._formValues,\n });\n\n control._names.focus &&\n focusFieldBy(control._fields, (key: string) =>\n key.startsWith(control._names.focus),\n );\n\n control._names.focus = '';\n\n control._proxyFormState.isValid && control._updateValid();\n }, [fields, name, control]);\n\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name as FieldPath);\n };\n }, [name, control, keyName, shouldUnregister]);\n\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(\n () =>\n fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })) as FieldArrayWithId[],\n [fields, keyName],\n ),\n };\n}\n","import { Noop } from '../types';\n\nexport type Observer = {\n next: (value: T) => void;\n};\n\nexport type Subscription = {\n unsubscribe: Noop;\n};\n\nexport type Subject = {\n readonly observers: Observer[];\n subscribe: (value: Observer) => Subscription;\n unsubscribe: Noop;\n} & Observer;\n\nexport default function createSubject(): Subject {\n let _observers: Observer[] = [];\n\n const next = (value: T) => {\n for (const observer of _observers) {\n observer.next(value);\n }\n };\n\n const subscribe = (observer: Observer): Subscription => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n\n const unsubscribe = () => {\n _observers = [];\n };\n\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n}\n","import { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isObject from '../utils/isObject';\n\nimport isDateObject from './isDateObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(object1: any, object2: any) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!keys2.includes(key)) {\n return false;\n }\n\n if (key !== 'ref') {\n const val2 = object2[key];\n\n if (\n (isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n\n return true;\n}\n","export default (value: unknown): value is HTMLElement => {\n const owner = value ? ((value as HTMLElement).ownerDocument as Document) : 0;\n const ElementClass =\n owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement;\n return value instanceof ElementClass;\n};\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import { Ref } from '../types';\n\nimport isHTMLElement from './isHTMLElement';\n\nexport default (ref: Ref) => isHTMLElement(ref) && ref.isConnected;\n","import deepEqual from '../utils/deepEqual';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isUndefined from '../utils/isUndefined';\nimport objectHasFunction from '../utils/objectHasFunction';\n\nfunction markFieldsDirty(data: U, fields: Record = {}) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n } else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n\n return fields;\n}\n\nfunction getDirtyFieldsFromDefaultValues(\n data: T,\n formValues: T,\n dirtyFieldsFromValues: any,\n) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n if (\n isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])\n ) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n } else {\n getDirtyFieldsFromDefaultValues(\n data[key],\n isNullOrUndefined(formValues) ? {} : formValues[key],\n dirtyFieldsFromValues[key],\n );\n }\n } else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n\n return dirtyFieldsFromValues;\n}\n\nexport default (defaultValues: T, formValues: T) =>\n getDirtyFieldsFromDefaultValues(\n defaultValues,\n formValues,\n markFieldsDirty(formValues),\n );\n","import { Field, NativeFieldValue } from '../types';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n value: T,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === '' || isNullOrUndefined(value)\n ? NaN\n : +value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","import { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(_f: Field['_f']) {\n const ref = _f.ref;\n\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n","import {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default (\n fieldsNames: Set | InternalFieldName[],\n _fields: FieldRefs,\n criteriaMode?: CriteriaMode,\n shouldUseNativeValidation?: boolean | undefined,\n) => {\n const fields: Record = {};\n\n for (const name of fieldsNames) {\n const field: Field = get(_fields, name);\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName[],\n fields,\n shouldUseNativeValidation,\n };\n};\n","import {\n ValidationRule,\n ValidationValue,\n ValidationValueMessage,\n} from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n rule?: ValidationRule | ValidationValueMessage,\n) =>\n isUndefined(rule)\n ? undefined\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n","import { Field } from '../types';\n\nexport default (options: Field['_f']) =>\n options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","import { FieldError, FieldErrors, FieldValues } from '../types';\nimport get from '../utils/get';\nimport isKey from '../utils/isKey';\n\nexport default function schemaErrorLookup(\n errors: FieldErrors,\n _fields: FieldValues,\n name: string,\n): {\n error?: FieldError;\n name: string;\n} {\n const error = get(errors, name);\n\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n\n const names = name.split('.');\n\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n\n names.pop();\n }\n\n return {\n name,\n };\n}\n","export default (\n isBlurEvent: boolean,\n isTouched: boolean,\n isSubmitted: boolean,\n reValidateMode: {\n isOnBlur: boolean;\n isOnChange: boolean;\n },\n mode: Partial<{\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnTouch: boolean;\n isOnAll: boolean;\n }>,\n) => {\n if (mode.isOnAll) {\n return false;\n } else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","import compact from '../utils/compact';\nimport get from '../utils/get';\nimport unset from '../utils/unset';\n\nexport default (ref: T, name: string) =>\n !compact(get(ref, name)).length && unset(ref, name);\n","import { EVENTS, VALIDATION_MODE } from '../constants';\nimport {\n BatchFieldArrayUpdate,\n ChangeHandler,\n DeepPartial,\n DelayCallback,\n EventType,\n Field,\n FieldError,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n GetIsDirty,\n InternalFieldName,\n Names,\n Path,\n Ref,\n ResolverResult,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UseFormClearErrors,\n UseFormGetFieldState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormReset,\n UseFormResetField,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from '../types';\nimport cloneObject from '../utils/cloneObject';\nimport compact from '../utils/compact';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport createSubject from '../utils/createSubject';\nimport deepEqual from '../utils/deepEqual';\nimport get from '../utils/get';\nimport getValidationModes from '../utils/getValidationModes';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDateObject from '../utils/isDateObject';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isPrimitive from '../utils/isPrimitive';\nimport isRadioOrCheckbox from '../utils/isRadioOrCheckbox';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\nimport isWeb from '../utils/isWeb';\nimport live from '../utils/live';\nimport set from '../utils/set';\nimport unset from '../utils/unset';\n\nimport focusFieldBy from './focusFieldBy';\nimport generateWatchOutput from './generateWatchOutput';\nimport getDirtyFields from './getDirtyFields';\nimport getEventValue from './getEventValue';\nimport getFieldValue from './getFieldValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getResolverOptions from './getResolverOptions';\nimport getRuleValue from './getRuleValue';\nimport hasValidation from './hasValidation';\nimport isNameInFieldArray from './isNameInFieldArray';\nimport isWatched from './isWatched';\nimport schemaErrorLookup from './schemaErrorLookup';\nimport skipValidation from './skipValidation';\nimport unsetEmptyArray from './unsetEmptyArray';\nimport updateFieldArrayRootError from './updateFieldArrayRootError';\nimport validateField from './validateField';\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n} as const;\n\nexport function createFormControl<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n>(\n props: UseFormProps = {},\n): Omit, 'formState'> {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState: FormState = {\n isDirty: false,\n isValidating: false,\n dirtyFields: {} as FieldNamesMarkedBoolean,\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {} as FieldNamesMarkedBoolean,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {} as FieldErrors,\n };\n let _fields = {};\n let _defaultValues = cloneObject(_options.defaultValues) || {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _stateFlags = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names: Names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n } as Names;\n let delayErrorCallback: DelayCallback | null;\n let timer = 0;\n let validateFields: Record = {};\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects: Subjects = {\n watch: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors =\n _options.criteriaMode === VALIDATION_MODE.all;\n\n const debounce =\n (callback: T) =>\n (wait: number) => {\n clearTimeout(timer);\n timer = window.setTimeout(callback, wait);\n };\n\n const _updateValid = async (shouldSkipRender?: boolean) => {\n let isValid = false;\n\n if (_proxyFormState.isValid) {\n isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n\n if (!shouldSkipRender && isValid !== _formState.isValid) {\n _formState.isValid = isValid;\n _subjects.state.next({\n isValid,\n });\n }\n }\n\n return isValid;\n };\n\n const _updateFieldArray: BatchFieldArrayUpdate = (\n name,\n values = [],\n method,\n args,\n shouldSetValues = true,\n shouldUpdateFieldsAndState = true,\n ) => {\n if (args && method) {\n _stateFlags.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n\n if (\n _proxyFormState.errors &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))\n ) {\n const errors = method(\n get(_formState.errors, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n\n if (\n _proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))\n ) {\n const touchedFields = method(\n get(_formState.touchedFields, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n\n _subjects.state.next({\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n } else {\n set(_formValues, name, values);\n }\n };\n\n const updateErrors = (name: InternalFieldName, error: FieldError) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const updateValidAndValue = (\n name: InternalFieldName,\n shouldSkipSetValueAs: boolean,\n value?: unknown,\n ref?: Ref,\n ) => {\n const field: Field = get(_fields, name);\n\n if (field) {\n const defaultValue = get(\n _formValues,\n name,\n isUndefined(value) ? get(_defaultValues, name) : value,\n );\n\n isUndefined(defaultValue) ||\n (ref && (ref as HTMLInputElement).defaultChecked) ||\n shouldSkipSetValueAs\n ? set(\n _formValues,\n name,\n shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f),\n )\n : setFieldValue(name, defaultValue);\n\n _stateFlags.mount && _updateValid();\n }\n };\n\n const updateTouchAndDirty = (\n name: InternalFieldName,\n fieldValue: unknown,\n isBlurEvent?: boolean,\n shouldDirty?: boolean,\n shouldRender?: boolean,\n ): Partial<\n Pick, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n let isFieldDirty = false;\n const output: Partial> & { name: string } = {\n name,\n };\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n\n if (_proxyFormState.isDirty) {\n const isPreviousFormDirty = _formState.isDirty;\n\n _formState.isDirty = output.isDirty = _getDirty();\n isFieldDirty = isPreviousFormDirty !== output.isDirty;\n }\n\n if (_proxyFormState.dirtyFields && (!isBlurEvent || shouldDirty)) {\n const isPreviousFieldDirty = get(_formState.dirtyFields, name);\n const isCurrentFieldPristine = deepEqual(\n get(_defaultValues, name),\n fieldValue,\n );\n\n isCurrentFieldPristine\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields as TFieldValues, name, true);\n output.dirtyFields = _formState.dirtyFields;\n isFieldDirty =\n isFieldDirty ||\n isPreviousFieldDirty !== get(_formState.dirtyFields, name);\n }\n\n if (isBlurEvent && !isPreviousFieldTouched) {\n set(_formState.touchedFields as TFieldValues, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n isFieldDirty =\n isFieldDirty ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n\n isFieldDirty && shouldRender && _subjects.state.next(output);\n\n return isFieldDirty ? output : {};\n };\n\n const shouldRenderByError = async (\n name: InternalFieldName,\n isValid: boolean,\n error?: FieldError,\n fieldState?: {\n dirty?: FieldNamesMarkedBoolean;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean;\n },\n ): Promise => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid =\n _proxyFormState.isValid && _formState.isValid !== isValid;\n\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n } else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n\n if (\n (error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid\n ) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n\n _subjects.state.next(updatedFormState);\n }\n\n validateFields[name]--;\n\n if (\n _proxyFormState.isValidating &&\n !Object.values(validateFields).some((v) => v)\n ) {\n _subjects.state.next({\n isValidating: false,\n });\n validateFields = {};\n }\n };\n\n const _executeSchema = async (name?: InternalFieldName[]) =>\n _options.resolver\n ? await _options.resolver(\n { ..._formValues } as TFieldValues,\n _options.context,\n getResolverOptions(\n name || _names.mount,\n _fields,\n _options.criteriaMode,\n _options.shouldUseNativeValidation,\n ),\n )\n : ({} as ResolverResult);\n\n const executeSchemaAndUpdateState = async (names?: InternalFieldName[]) => {\n const { errors } = await _executeSchema();\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n } else {\n _formState.errors = errors as FieldErrors;\n }\n\n return errors;\n };\n\n const executeBuiltInValidation = async (\n fields: FieldRefs,\n shouldOnlyCheckValid?: boolean,\n context = {\n valid: true,\n },\n ) => {\n for (const name in fields) {\n const field = fields[name];\n\n if (field) {\n const { _f, ...fieldValue } = field;\n\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const fieldError = await validateField(\n field,\n get(_formValues, _f.name),\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n isFieldArrayRoot,\n );\n\n if (fieldError[_f.name]) {\n context.valid = false;\n\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(\n _formState.errors,\n fieldError,\n _f.name,\n )\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n\n fieldValue &&\n (await executeBuiltInValidation(\n fieldValue,\n shouldOnlyCheckValid,\n context,\n ));\n }\n }\n\n return context.valid;\n };\n\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field: Field = get(_fields, name);\n\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name as FieldPath);\n }\n\n _names.unMount = new Set();\n };\n\n const _getDirty: GetIsDirty = (name, data) => (\n name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues)\n );\n\n const _getWatch: WatchInternal = (\n names,\n defaultValue,\n isGlobal,\n ) => {\n const fieldValues = {\n ...(_stateFlags.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n };\n\n return generateWatchOutput(names, _names, fieldValues, isGlobal);\n };\n\n const _getFieldArray = (\n name: InternalFieldName,\n ): Partial[] =>\n compact(\n get(\n _stateFlags.mount ? _formValues : _defaultValues,\n name,\n props.shouldUnregister ? get(_defaultValues, name, []) : [],\n ),\n );\n\n const setFieldValue = (\n name: InternalFieldName,\n value: SetFieldValue,\n options: SetValueConfig = {},\n ) => {\n const field: Field = get(_fields, name);\n let fieldValue: unknown = value;\n\n if (field) {\n const fieldReference = field._f;\n\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n\n fieldValue =\n isWeb && isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach(\n (selectRef) =>\n (selectRef.selected = (\n fieldValue as InternalFieldName[]\n ).includes(selectRef.value)),\n );\n } else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach(\n (checkboxRef) =>\n !checkboxRef.disabled &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!(fieldValue as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : fieldValue === checkboxRef.value),\n )\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n } else {\n fieldReference.refs.forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === fieldValue),\n );\n }\n } else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n } else {\n fieldReference.ref.value = fieldValue;\n\n if (!fieldReference.ref.type) {\n _subjects.watch.next({\n name,\n });\n }\n }\n }\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(\n name,\n fieldValue,\n options.shouldTouch,\n options.shouldDirty,\n true,\n );\n\n options.shouldValidate && trigger(name as Path);\n };\n\n const setValues = <\n T extends InternalFieldName,\n K extends SetFieldValue,\n U extends SetValueConfig,\n >(\n name: T,\n value: K,\n options: U,\n ) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}` as Path;\n const field = get(_fields, fieldName);\n\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n\n const setValue: UseFormSetValue = (\n name,\n value,\n options = {},\n ) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n\n set(_formValues, name, cloneValue);\n\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: _formValues,\n });\n\n if (\n (_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty\n ) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n\n _subjects.state.next({\n name,\n dirtyFields: _formState.dirtyFields,\n isDirty: _getDirty(name, cloneValue),\n });\n }\n } else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n\n isWatched(name, _names) && _subjects.state.next({});\n _subjects.watch.next({\n name,\n });\n };\n\n const onChange: ChangeHandler = async (event) => {\n const target = event.target;\n let name = target.name;\n const field: Field = get(_fields, name);\n\n if (field) {\n let error;\n let isValid;\n const fieldValue = target.type\n ? getFieldValue(field._f)\n : getEventValue(event);\n const isBlurEvent =\n event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation =\n (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(\n isBlurEvent,\n get(_formState.touchedFields, name),\n _formState.isSubmitted,\n validationModeAfterSubmit,\n validationModeBeforeSubmit,\n );\n const watched = isWatched(name, _names, isBlurEvent);\n\n set(_formValues, name, fieldValue);\n\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n } else if (field._f.onChange) {\n field._f.onChange(event);\n }\n\n const fieldState = updateTouchAndDirty(\n name,\n fieldValue,\n isBlurEvent,\n false,\n );\n\n const shouldRender = !isEmptyObject(fieldState) || watched;\n\n !isBlurEvent &&\n _subjects.watch.next({\n name,\n type: event.type,\n });\n\n if (shouldSkipValidation) {\n return (\n shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) })\n );\n }\n\n !isBlurEvent && watched && _subjects.state.next({});\n\n validateFields[name] = validateFields[name] ? +1 : 1;\n\n _subjects.state.next({\n isValidating: true,\n });\n\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n const previousErrorLookupResult = schemaErrorLookup(\n _formState.errors,\n _fields,\n name,\n );\n const errorLookupResult = schemaErrorLookup(\n errors,\n _fields,\n previousErrorLookupResult.name || name,\n );\n\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n\n isValid = isEmptyObject(errors);\n } else {\n error = (\n await validateField(\n field,\n get(_formValues, name),\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n )\n )[name];\n\n isValid = await _updateValid(true);\n }\n\n field._f.deps &&\n trigger(\n field._f.deps as FieldPath | FieldPath[],\n );\n\n shouldRenderByError(name, isValid, error, fieldState);\n }\n };\n\n const trigger: UseFormTrigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n\n _subjects.state.next({\n isValidating: true,\n });\n\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(\n isUndefined(name) ? name : fieldNames,\n );\n\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n } else if (name) {\n validationResult = (\n await Promise.all(\n fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(\n field && field._f ? { [fieldName]: field } : field,\n );\n }),\n )\n ).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n } else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver ? { isValid } : {}),\n errors: _formState.errors,\n isValidating: false,\n });\n\n options.shouldFocus &&\n !validationResult &&\n focusFieldBy(\n _fields,\n (key) => get(_formState.errors, key),\n name ? fieldNames : _names.mount,\n );\n\n return validationResult;\n };\n\n const getValues: UseFormGetValues = (\n fieldNames?:\n | FieldPath\n | ReadonlyArray>,\n ) => {\n const values = {\n ..._defaultValues,\n ...(_stateFlags.mount ? _formValues : {}),\n };\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames as InternalFieldName)\n : fieldNames.map((name) => get(values, name as InternalFieldName));\n };\n\n const getFieldState: UseFormGetFieldState = (\n name,\n formState,\n ) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n error: get((formState || _formState).errors, name),\n });\n\n const clearErrors: UseFormClearErrors = (name) => {\n name\n ? convertToArrayPayload(name).forEach((inputName) =>\n unset(_formState.errors, inputName),\n )\n : (_formState.errors = {} as FieldErrors);\n\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const setError: UseFormSetError = (name, error, options) => {\n const ref = ((get(_fields, name, { _f: {} }) as Field)._f || {}).ref;\n\n set(_formState.errors, name, {\n ...error,\n ref,\n });\n\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watch: UseFormWatch = (\n name?:\n | FieldPath\n | ReadonlyArray>\n | WatchObserver,\n defaultValue?: unknown,\n ) =>\n isFunction(name)\n ? _subjects.watch.subscribe({\n next: (info) =>\n name(\n _getWatch(undefined, defaultValue as DeepPartial),\n info as {\n name?: FieldPath;\n type?: EventType;\n value?: unknown;\n },\n ),\n })\n : _getWatch(\n name as InternalFieldName | InternalFieldName[],\n defaultValue as DeepPartial,\n true,\n );\n\n const unregister: UseFormUnregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n\n if (get(_fields, fieldName)) {\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n }\n\n _subjects.watch.next({});\n\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n\n !options.keepIsValid && _updateValid();\n };\n\n const register: UseFormRegister = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n\n set(_fields, name, {\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n\n field\n ? disabledIsDefined &&\n set(\n _formValues,\n name,\n options.disabled\n ? undefined\n : get(_formValues, name, getFieldValue(field._f)),\n )\n : updateValidAndValue(name, true, options.value);\n\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.shouldUseNativeValidation\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength) as number,\n maxLength: getRuleValue(options.maxLength) as number,\n pattern: getRuleValue(options.pattern) as string,\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? (ref.querySelectorAll('input,select,textarea')[0] as Ref) || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n\n if (\n radioOrCheckbox\n ? refs.find((option: Ref) => option === fieldRef)\n : fieldRef === field._f.ref\n ) {\n return;\n }\n\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(!!Array.isArray(get(_defaultValues, name))\n ? [{}]\n : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n\n updateValidAndValue(name, false, undefined, fieldRef);\n } else {\n field = get(_fields, name, {});\n\n if (field._f) {\n field._f.mount = false;\n }\n\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _stateFlags.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n\n const handleSubmit: UseFormHandleSubmit =\n (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let hasNoPromiseError = true;\n let fieldValues: any = cloneObject(_formValues);\n\n _subjects.state.next({\n isSubmitting: true,\n });\n\n try {\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors as FieldErrors;\n fieldValues = values;\n } else {\n await executeBuiltInValidation(_fields);\n }\n\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {} as FieldErrors,\n isSubmitting: true,\n });\n await onValid(fieldValues, e);\n } else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n\n _options.shouldFocusError &&\n focusFieldBy(\n _fields,\n (key) => get(_formState.errors, key),\n _names.mount,\n );\n }\n } catch (err) {\n hasNoPromiseError = false;\n throw err;\n } finally {\n _formState.isSubmitted = true;\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful:\n isEmptyObject(_formState.errors) && hasNoPromiseError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n }\n };\n\n const resetField: UseFormResetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, get(_defaultValues, name));\n } else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, options.defaultValue);\n }\n\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, get(_defaultValues, name))\n : _getDirty();\n }\n\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n\n _subjects.state.next({ ..._formState });\n }\n };\n\n const reset: UseFormReset = (\n formValues,\n keepStateOptions = {},\n ) => {\n const updatedValues = formValues || _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const values =\n formValues && !isEmptyObject(formValues)\n ? cloneUpdatedValues\n : _defaultValues;\n\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(\n fieldName as FieldPath,\n get(values, fieldName),\n );\n }\n } else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n try {\n if (isHTMLElement(fieldReference)) {\n fieldReference.closest('form')!.reset();\n break;\n }\n } catch {}\n }\n }\n }\n\n _fields = {};\n }\n\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneUpdatedValues;\n\n _subjects.array.next({\n values,\n });\n\n _subjects.watch.next({\n values,\n });\n }\n\n _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n\n _stateFlags.mount =\n !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;\n\n _stateFlags.watch = !!props.shouldUnregister;\n\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty:\n keepStateOptions.keepDirty || keepStateOptions.keepDirtyValues\n ? _formState.isDirty\n : !!(\n keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)\n ),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields:\n keepStateOptions.keepDirty || keepStateOptions.keepDirtyValues\n ? _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : ({} as FieldNamesMarkedBoolean),\n errors: keepStateOptions.keepErrors\n ? _formState.errors\n : ({} as FieldErrors),\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n };\n\n const setFocus: UseFormSetFocus = (name, options = {}) => {\n const field = get(_fields, name)._f;\n const fieldRef = field.refs ? field.refs[0] : field.ref;\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n };\n\n return {\n control: {\n register,\n unregister,\n getFieldState,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _getFieldArray,\n _subjects,\n _proxyFormState,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _stateFlags() {\n return _stateFlags;\n },\n set _stateFlags(value) {\n _stateFlags = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n","import React from 'react';\n\nimport { createFormControl } from './logic/createFormControl';\nimport getProxyFormState from './logic/getProxyFormState';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport {\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldValues,\n FormState,\n UseFormProps,\n UseFormReturn,\n} from './types';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n *
\n * \n * \n * {errors.exampleRequired && This field is required}\n * \n *
\n * );\n * }\n * ```\n */\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n>(\n props: UseFormProps = {},\n): UseFormReturn {\n const _formControl = React.useRef<\n UseFormReturn | undefined\n >();\n const [formState, updateFormState] = React.useState>({\n isDirty: false,\n isValidating: false,\n dirtyFields: {} as FieldNamesMarkedBoolean,\n isSubmitted: false,\n submitCount: 0,\n touchedFields: {} as FieldNamesMarkedBoolean,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n errors: {} as FieldErrors,\n });\n\n if (_formControl.current) {\n _formControl.current.control._options = props;\n } else {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n\n const control = _formControl.current.control;\n\n const callback = React.useCallback(\n (value: FieldValues) => {\n if (shouldRenderFormState(value, control._proxyFormState, true)) {\n control._formState = {\n ...control._formState,\n ...value,\n };\n\n updateFormState({ ...control._formState });\n }\n },\n [control],\n );\n\n useSubscribe({\n subject: control._subjects.state,\n callback,\n });\n\n React.useEffect(() => {\n if (!control._stateFlags.mount) {\n control._proxyFormState.isValid && control._updateValid();\n control._stateFlags.mount = true;\n }\n if (control._stateFlags.watch) {\n control._stateFlags.watch = false;\n control._subjects.state.next({});\n }\n control._removeUnmounted();\n });\n\n _formControl.current.formState = getProxyFormState(\n formState,\n control._proxyFormState,\n );\n\n return _formControl.current;\n}\n","// ES6 Map\nvar map\ntry {\n map = Map\n} catch (_) { }\nvar set\n\n// ES6 Set\ntry {\n set = Set\n} catch (_) { }\n\nfunction baseClone (src, circulars, clones) {\n // Null/undefined/functions/etc\n if (!src || typeof src !== 'object' || typeof src === 'function') {\n return src\n }\n\n // DOM Node\n if (src.nodeType && 'cloneNode' in src) {\n return src.cloneNode(true)\n }\n\n // Date\n if (src instanceof Date) {\n return new Date(src.getTime())\n }\n\n // RegExp\n if (src instanceof RegExp) {\n return new RegExp(src)\n }\n\n // Arrays\n if (Array.isArray(src)) {\n return src.map(clone)\n }\n\n // ES6 Maps\n if (map && src instanceof map) {\n return new Map(Array.from(src.entries()))\n }\n\n // ES6 Sets\n if (set && src instanceof set) {\n return new Set(Array.from(src.values()))\n }\n\n // Object\n if (src instanceof Object) {\n circulars.push(src)\n var obj = Object.create(src)\n clones.push(obj)\n for (var key in src) {\n var idx = circulars.findIndex(function (i) {\n return i === src[key]\n })\n obj[key] = idx > -1 ? clones[idx] : baseClone(src[key], circulars, clones)\n }\n return obj\n }\n\n // ???\n return src\n}\n\nexport default function clone (src) {\n return baseClone(src, [], [])\n}\n","const toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && 1 / val < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printSimpleValue(val, quoteStrings = false) {\n if (val == null || val === true || val === false) return '' + val;\n const typeOf = typeof val;\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n const tag = toString.call(val).slice(8, -1);\n if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n if (tag === 'RegExp') return regExpToString.call(val);\n return null;\n}\n\nexport default function printValue(value, quoteStrings) {\n let result = printSimpleValue(value, quoteStrings);\n if (result !== null) return result;\n return JSON.stringify(value, function (key, value) {\n let result = printSimpleValue(this[key], quoteStrings);\n if (result !== null) return result;\n return value;\n }, 2);\n}","import printValue from './util/printValue';\nexport let mixed = {\n default: '${path} is invalid',\n required: '${path} is a required field',\n oneOf: '${path} must be one of the following values: ${values}',\n notOneOf: '${path} must not be one of the following values: ${values}',\n notType: ({\n path,\n type,\n value,\n originalValue\n }) => {\n let isCast = originalValue != null && originalValue !== value;\n let msg = `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + (isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.');\n\n if (value === null) {\n msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n }\n\n return msg;\n },\n defined: '${path} must be defined'\n};\nexport let string = {\n length: '${path} must be exactly ${length} characters',\n min: '${path} must be at least ${min} characters',\n max: '${path} must be at most ${max} characters',\n matches: '${path} must match the following: \"${regex}\"',\n email: '${path} must be a valid email',\n url: '${path} must be a valid URL',\n uuid: '${path} must be a valid UUID',\n trim: '${path} must be a trimmed string',\n lowercase: '${path} must be a lowercase string',\n uppercase: '${path} must be a upper case string'\n};\nexport let number = {\n min: '${path} must be greater than or equal to ${min}',\n max: '${path} must be less than or equal to ${max}',\n lessThan: '${path} must be less than ${less}',\n moreThan: '${path} must be greater than ${more}',\n positive: '${path} must be a positive number',\n negative: '${path} must be a negative number',\n integer: '${path} must be an integer'\n};\nexport let date = {\n min: '${path} field must be later than ${min}',\n max: '${path} field must be at earlier than ${max}'\n};\nexport let boolean = {\n isValue: '${path} field must be ${value}'\n};\nexport let object = {\n noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nexport let array = {\n min: '${path} field must have at least ${min} items',\n max: '${path} field must have less than or equal to ${max} items',\n length: '${path} must have ${length} items'\n};\nexport default Object.assign(Object.create(null), {\n mixed,\n string,\n number,\n date,\n object,\n array,\n boolean\n});","const isSchema = obj => obj && obj.__isYupSchema__;\n\nexport default isSchema;","import has from 'lodash/has';\nimport isSchema from './util/isSchema';\n\nclass Condition {\n constructor(refs, options) {\n this.fn = void 0;\n this.refs = refs;\n this.refs = refs;\n\n if (typeof options === 'function') {\n this.fn = options;\n return;\n }\n\n if (!has(options, 'is')) throw new TypeError('`is:` is required for `when()` conditions');\n if (!options.then && !options.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n let {\n is,\n then,\n otherwise\n } = options;\n let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n\n this.fn = function (...args) {\n let options = args.pop();\n let schema = args.pop();\n let branch = check(...args) ? then : otherwise;\n if (!branch) return undefined;\n if (typeof branch === 'function') return branch(schema);\n return schema.concat(branch.resolve(options));\n };\n }\n\n resolve(base, options) {\n let values = this.refs.map(ref => ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n let schema = this.fn.apply(base, values.concat(base, options));\n if (schema === undefined || schema === base) return base;\n if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n return schema.resolve(options);\n }\n\n}\n\nexport default Condition;","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function toArray(value) {\n return value == null ? [] : [].concat(value);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport printValue from './util/printValue';\nimport toArray from './util/toArray';\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\nexport default class ValidationError extends Error {\n static formatError(message, params) {\n const path = params.label || params.path || 'this';\n if (path !== params.path) params = _extends({}, params, {\n path\n });\n if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n if (typeof message === 'function') return message(params);\n return message;\n }\n\n static isError(err) {\n return err && err.name === 'ValidationError';\n }\n\n constructor(errorOrErrors, value, field, type) {\n super();\n this.value = void 0;\n this.path = void 0;\n this.type = void 0;\n this.errors = void 0;\n this.params = void 0;\n this.inner = void 0;\n this.name = 'ValidationError';\n this.value = value;\n this.path = field;\n this.type = type;\n this.errors = [];\n this.inner = [];\n toArray(errorOrErrors).forEach(err => {\n if (ValidationError.isError(err)) {\n this.errors.push(...err.errors);\n this.inner = this.inner.concat(err.inner.length ? err.inner : err);\n } else {\n this.errors.push(err);\n }\n });\n this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n if (Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n }\n\n}","import ValidationError from '../ValidationError';\n\nconst once = cb => {\n let fired = false;\n return (...args) => {\n if (fired) return;\n fired = true;\n cb(...args);\n };\n};\n\nexport default function runTests(options, cb) {\n let {\n endEarly,\n tests,\n args,\n value,\n errors,\n sort,\n path\n } = options;\n let callback = once(cb);\n let count = tests.length;\n const nestedErrors = [];\n errors = errors ? errors : [];\n if (!count) return errors.length ? callback(new ValidationError(errors, value, path)) : callback(null, value);\n\n for (let i = 0; i < tests.length; i++) {\n const test = tests[i];\n test(args, function finishTestRun(err) {\n if (err) {\n // always return early for non validation errors\n if (!ValidationError.isError(err)) {\n return callback(err, value);\n }\n\n if (endEarly) {\n err.value = value;\n return callback(err, value);\n }\n\n nestedErrors.push(err);\n }\n\n if (--count <= 0) {\n if (nestedErrors.length) {\n if (sort) nestedErrors.sort(sort); //show parent errors after the nested ones: name.first, name\n\n if (errors.length) nestedErrors.push(...errors);\n errors = nestedErrors;\n }\n\n if (errors.length) {\n callback(new ValidationError(errors, value, path), value);\n return;\n }\n\n callback(null, value);\n }\n });\n }\n}","import { getter } from 'property-expr';\nconst prefixes = {\n context: '$',\n value: '.'\n};\nexport function create(key, options) {\n return new Reference(key, options);\n}\nexport default class Reference {\n constructor(key, options = {}) {\n this.key = void 0;\n this.isContext = void 0;\n this.isValue = void 0;\n this.isSibling = void 0;\n this.path = void 0;\n this.getter = void 0;\n this.map = void 0;\n if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n this.key = key.trim();\n if (key === '') throw new TypeError('ref must be a non-empty string');\n this.isContext = this.key[0] === prefixes.context;\n this.isValue = this.key[0] === prefixes.value;\n this.isSibling = !this.isContext && !this.isValue;\n let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n this.path = this.key.slice(prefix.length);\n this.getter = this.path && getter(this.path, true);\n this.map = options.map;\n }\n\n getValue(value, parent, context) {\n let result = this.isContext ? context : this.isValue ? value : parent;\n if (this.getter) result = this.getter(result || {});\n if (this.map) result = this.map(result);\n return result;\n }\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {Object=} options.context\n * @param {Object=} options.parent\n */\n\n\n cast(value, options) {\n return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n }\n\n resolve() {\n return this;\n }\n\n describe() {\n return {\n type: 'ref',\n key: this.key\n };\n }\n\n toString() {\n return `Ref(${this.key})`;\n }\n\n static isRef(value) {\n return value && value.__isYupRef;\n }\n\n} // @ts-ignore\n\nReference.prototype.__isYupRef = true;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport mapValues from 'lodash/mapValues';\nimport ValidationError from '../ValidationError';\nimport Ref from '../Reference';\nexport default function createValidation(config) {\n function validate(_ref, cb) {\n let {\n value,\n path = '',\n label,\n options,\n originalValue,\n sync\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, [\"value\", \"path\", \"label\", \"options\", \"originalValue\", \"sync\"]);\n\n const {\n name,\n test,\n params,\n message\n } = config;\n let {\n parent,\n context\n } = options;\n\n function resolve(item) {\n return Ref.isRef(item) ? item.getValue(value, parent, context) : item;\n }\n\n function createError(overrides = {}) {\n const nextParams = mapValues(_extends({\n value,\n originalValue,\n label,\n path: overrides.path || path\n }, params, overrides.params), resolve);\n const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name);\n error.params = nextParams;\n return error;\n }\n\n let ctx = _extends({\n path,\n parent,\n type: name,\n createError,\n resolve,\n options,\n originalValue\n }, rest);\n\n if (!sync) {\n try {\n Promise.resolve(test.call(ctx, value, ctx)).then(validOrError => {\n if (ValidationError.isError(validOrError)) cb(validOrError);else if (!validOrError) cb(createError());else cb(null, validOrError);\n }).catch(cb);\n } catch (err) {\n cb(err);\n }\n\n return;\n }\n\n let result;\n\n try {\n var _ref2;\n\n result = test.call(ctx, value, ctx);\n\n if (typeof ((_ref2 = result) == null ? void 0 : _ref2.then) === 'function') {\n throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n }\n } catch (err) {\n cb(err);\n return;\n }\n\n if (ValidationError.isError(result)) cb(result);else if (!result) cb(createError());else cb(null, result);\n }\n\n validate.OPTIONS = config;\n return validate;\n}","import { forEach } from 'property-expr';\n\nlet trim = part => part.substr(0, part.length - 1).substr(1);\n\nexport function getIn(schema, path, value, context = value) {\n let parent, lastPart, lastPartDebug; // root path: ''\n\n if (!path) return {\n parent,\n parentPath: path,\n schema\n };\n forEach(path, (_part, isBracket, isArray) => {\n let part = isBracket ? trim(_part) : _part;\n schema = schema.resolve({\n context,\n parent,\n value\n });\n\n if (schema.innerType) {\n let idx = isArray ? parseInt(part, 10) : 0;\n\n if (value && idx >= value.length) {\n throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n }\n\n parent = value;\n value = value && value[idx];\n schema = schema.innerType;\n } // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n // in these cases the current part is the next schema and should be processed\n // in this iteration. For cases where the index signature is included this\n // check will fail and we'll handle the `child` part on the next iteration like normal\n\n\n if (!isArray) {\n if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema._type}\")`);\n parent = value;\n value = value && value[part];\n schema = schema.fields[part];\n }\n\n lastPart = part;\n lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n });\n return {\n schema,\n parent,\n parentPath: lastPart\n };\n}\n\nconst reach = (obj, path, value, context) => getIn(obj, path, value, context).schema;\n\nexport default reach;","import Reference from '../Reference';\nexport default class ReferenceSet {\n constructor() {\n this.list = void 0;\n this.refs = void 0;\n this.list = new Set();\n this.refs = new Map();\n }\n\n get size() {\n return this.list.size + this.refs.size;\n }\n\n describe() {\n const description = [];\n\n for (const item of this.list) description.push(item);\n\n for (const [, ref] of this.refs) description.push(ref.describe());\n\n return description;\n }\n\n toArray() {\n return Array.from(this.list).concat(Array.from(this.refs.values()));\n }\n\n resolveAll(resolve) {\n return this.toArray().reduce((acc, e) => acc.concat(Reference.isRef(e) ? resolve(e) : e), []);\n }\n\n add(value) {\n Reference.isRef(value) ? this.refs.set(value.key, value) : this.list.add(value);\n }\n\n delete(value) {\n Reference.isRef(value) ? this.refs.delete(value.key) : this.list.delete(value);\n }\n\n clone() {\n const next = new ReferenceSet();\n next.list = new Set(this.list);\n next.refs = new Map(this.refs);\n return next;\n }\n\n merge(newItems, removeItems) {\n const next = this.clone();\n newItems.list.forEach(value => next.add(value));\n newItems.refs.forEach(value => next.add(value));\n removeItems.list.forEach(value => next.delete(value));\n removeItems.refs.forEach(value => next.delete(value));\n return next;\n }\n\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// @ts-ignore\nimport cloneDeep from 'nanoclone';\nimport { mixed as locale } from './locale';\nimport Condition from './Condition';\nimport runTests from './util/runTests';\nimport createValidation from './util/createValidation';\nimport printValue from './util/printValue';\nimport Ref from './Reference';\nimport { getIn } from './util/reach';\nimport ValidationError from './ValidationError';\nimport ReferenceSet from './util/ReferenceSet';\nimport toArray from './util/toArray'; // const UNSET = 'unset' as const;\n\nexport default class BaseSchema {\n constructor(options) {\n this.deps = [];\n this.tests = void 0;\n this.transforms = void 0;\n this.conditions = [];\n this._mutate = void 0;\n this._typeError = void 0;\n this._whitelist = new ReferenceSet();\n this._blacklist = new ReferenceSet();\n this.exclusiveTests = Object.create(null);\n this.spec = void 0;\n this.tests = [];\n this.transforms = [];\n this.withMutation(() => {\n this.typeError(locale.notType);\n });\n this.type = (options == null ? void 0 : options.type) || 'mixed';\n this.spec = _extends({\n strip: false,\n strict: false,\n abortEarly: true,\n recursive: true,\n nullable: false,\n presence: 'optional'\n }, options == null ? void 0 : options.spec);\n } // TODO: remove\n\n\n get _type() {\n return this.type;\n }\n\n _typeCheck(_value) {\n return true;\n }\n\n clone(spec) {\n if (this._mutate) {\n if (spec) Object.assign(this.spec, spec);\n return this;\n } // if the nested value is a schema we can skip cloning, since\n // they are already immutable\n\n\n const next = Object.create(Object.getPrototypeOf(this)); // @ts-expect-error this is readonly\n\n next.type = this.type;\n next._typeError = this._typeError;\n next._whitelistError = this._whitelistError;\n next._blacklistError = this._blacklistError;\n next._whitelist = this._whitelist.clone();\n next._blacklist = this._blacklist.clone();\n next.exclusiveTests = _extends({}, this.exclusiveTests); // @ts-expect-error this is readonly\n\n next.deps = [...this.deps];\n next.conditions = [...this.conditions];\n next.tests = [...this.tests];\n next.transforms = [...this.transforms];\n next.spec = cloneDeep(_extends({}, this.spec, spec));\n return next;\n }\n\n label(label) {\n let next = this.clone();\n next.spec.label = label;\n return next;\n }\n\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n } // withContext(): BaseSchema<\n // TCast,\n // TContext,\n // TOutput\n // > {\n // return this as any;\n // }\n\n\n withMutation(fn) {\n let before = this._mutate;\n this._mutate = true;\n let result = fn(this);\n this._mutate = before;\n return result;\n }\n\n concat(schema) {\n if (!schema || schema === this) return this;\n if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n let base = this;\n let combined = schema.clone();\n\n const mergedSpec = _extends({}, base.spec, combined.spec); // if (combined.spec.nullable === UNSET)\n // mergedSpec.nullable = base.spec.nullable;\n // if (combined.spec.presence === UNSET)\n // mergedSpec.presence = base.spec.presence;\n\n\n combined.spec = mergedSpec;\n combined._typeError || (combined._typeError = base._typeError);\n combined._whitelistError || (combined._whitelistError = base._whitelistError);\n combined._blacklistError || (combined._blacklistError = base._blacklistError); // manually merge the blacklist/whitelist (the other `schema` takes\n // precedence in case of conflicts)\n\n combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist); // start with the current tests\n\n combined.tests = base.tests;\n combined.exclusiveTests = base.exclusiveTests; // manually add the new tests to ensure\n // the deduping logic is consistent\n\n combined.withMutation(next => {\n schema.tests.forEach(fn => {\n next.test(fn.OPTIONS);\n });\n });\n combined.transforms = [...base.transforms, ...combined.transforms];\n return combined;\n }\n\n isType(v) {\n if (this.spec.nullable && v === null) return true;\n return this._typeCheck(v);\n }\n\n resolve(options) {\n let schema = this;\n\n if (schema.conditions.length) {\n let conditions = schema.conditions;\n schema = schema.clone();\n schema.conditions = [];\n schema = conditions.reduce((schema, condition) => condition.resolve(schema, options), schema);\n schema = schema.resolve(options);\n }\n\n return schema;\n }\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {*=} options.parent\n * @param {*=} options.context\n */\n\n\n cast(value, options = {}) {\n let resolvedSchema = this.resolve(_extends({\n value\n }, options));\n\n let result = resolvedSchema._cast(value, options);\n\n if (value !== undefined && options.assert !== false && resolvedSchema.isType(result) !== true) {\n let formattedValue = printValue(value);\n let formattedResult = printValue(result);\n throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema._type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n }\n\n return result;\n }\n\n _cast(rawValue, _options) {\n let value = rawValue === undefined ? rawValue : this.transforms.reduce((value, fn) => fn.call(this, value, rawValue, this), rawValue);\n\n if (value === undefined) {\n value = this.getDefault();\n }\n\n return value;\n }\n\n _validate(_value, options = {}, cb) {\n let {\n sync,\n path,\n from = [],\n originalValue = _value,\n strict = this.spec.strict,\n abortEarly = this.spec.abortEarly\n } = options;\n let value = _value;\n\n if (!strict) {\n // this._validating = true;\n value = this._cast(value, _extends({\n assert: false\n }, options)); // this._validating = false;\n } // value is cast, we can check if it meets type requirements\n\n\n let args = {\n value,\n path,\n options,\n originalValue,\n schema: this,\n label: this.spec.label,\n sync,\n from\n };\n let initialTests = [];\n if (this._typeError) initialTests.push(this._typeError);\n let finalTests = [];\n if (this._whitelistError) finalTests.push(this._whitelistError);\n if (this._blacklistError) finalTests.push(this._blacklistError);\n runTests({\n args,\n value,\n path,\n sync,\n tests: initialTests,\n endEarly: abortEarly\n }, err => {\n if (err) return void cb(err, value);\n runTests({\n tests: this.tests.concat(finalTests),\n args,\n path,\n sync,\n value,\n endEarly: abortEarly\n }, cb);\n });\n }\n\n validate(value, options, maybeCb) {\n let schema = this.resolve(_extends({}, options, {\n value\n })); // callback case is for nested validations\n\n return typeof maybeCb === 'function' ? schema._validate(value, options, maybeCb) : new Promise((resolve, reject) => schema._validate(value, options, (err, value) => {\n if (err) reject(err);else resolve(value);\n }));\n }\n\n validateSync(value, options) {\n let schema = this.resolve(_extends({}, options, {\n value\n }));\n let result;\n\n schema._validate(value, _extends({}, options, {\n sync: true\n }), (err, value) => {\n if (err) throw err;\n result = value;\n });\n\n return result;\n }\n\n isValid(value, options) {\n return this.validate(value, options).then(() => true, err => {\n if (ValidationError.isError(err)) return false;\n throw err;\n });\n }\n\n isValidSync(value, options) {\n try {\n this.validateSync(value, options);\n return true;\n } catch (err) {\n if (ValidationError.isError(err)) return false;\n throw err;\n }\n }\n\n _getDefault() {\n let defaultValue = this.spec.default;\n\n if (defaultValue == null) {\n return defaultValue;\n }\n\n return typeof defaultValue === 'function' ? defaultValue.call(this) : cloneDeep(defaultValue);\n }\n\n getDefault(options) {\n let schema = this.resolve(options || {});\n return schema._getDefault();\n }\n\n default(def) {\n if (arguments.length === 0) {\n return this._getDefault();\n }\n\n let next = this.clone({\n default: def\n });\n return next;\n }\n\n strict(isStrict = true) {\n let next = this.clone();\n next.spec.strict = isStrict;\n return next;\n }\n\n _isPresent(value) {\n return value != null;\n }\n\n defined(message = locale.defined) {\n return this.test({\n message,\n name: 'defined',\n exclusive: true,\n\n test(value) {\n return value !== undefined;\n }\n\n });\n }\n\n required(message = locale.required) {\n return this.clone({\n presence: 'required'\n }).withMutation(s => s.test({\n message,\n name: 'required',\n exclusive: true,\n\n test(value) {\n return this.schema._isPresent(value);\n }\n\n }));\n }\n\n notRequired() {\n let next = this.clone({\n presence: 'optional'\n });\n next.tests = next.tests.filter(test => test.OPTIONS.name !== 'required');\n return next;\n }\n\n nullable(isNullable = true) {\n let next = this.clone({\n nullable: isNullable !== false\n });\n return next;\n }\n\n transform(fn) {\n let next = this.clone();\n next.transforms.push(fn);\n return next;\n }\n /**\n * Adds a test function to the schema's queue of tests.\n * tests can be exclusive or non-exclusive.\n *\n * - exclusive tests, will replace any existing tests of the same name.\n * - non-exclusive: can be stacked\n *\n * If a non-exclusive test is added to a schema with an exclusive test of the same name\n * the exclusive test is removed and further tests of the same name will be stacked.\n *\n * If an exclusive test is added to a schema with non-exclusive tests of the same name\n * the previous tests are removed and further tests of the same name will replace each other.\n */\n\n\n test(...args) {\n let opts;\n\n if (args.length === 1) {\n if (typeof args[0] === 'function') {\n opts = {\n test: args[0]\n };\n } else {\n opts = args[0];\n }\n } else if (args.length === 2) {\n opts = {\n name: args[0],\n test: args[1]\n };\n } else {\n opts = {\n name: args[0],\n message: args[1],\n test: args[2]\n };\n }\n\n if (opts.message === undefined) opts.message = locale.default;\n if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n let next = this.clone();\n let validate = createValidation(opts);\n let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n\n if (opts.exclusive) {\n if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n }\n\n if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n next.tests = next.tests.filter(fn => {\n if (fn.OPTIONS.name === opts.name) {\n if (isExclusive) return false;\n if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n }\n\n return true;\n });\n next.tests.push(validate);\n return next;\n }\n\n when(keys, options) {\n if (!Array.isArray(keys) && typeof keys !== 'string') {\n options = keys;\n keys = '.';\n }\n\n let next = this.clone();\n let deps = toArray(keys).map(key => new Ref(key));\n deps.forEach(dep => {\n // @ts-ignore\n if (dep.isSibling) next.deps.push(dep.key);\n });\n next.conditions.push(new Condition(deps, options));\n return next;\n }\n\n typeError(message) {\n let next = this.clone();\n next._typeError = createValidation({\n message,\n name: 'typeError',\n\n test(value) {\n if (value !== undefined && !this.schema.isType(value)) return this.createError({\n params: {\n type: this.schema._type\n }\n });\n return true;\n }\n\n });\n return next;\n }\n\n oneOf(enums, message = locale.oneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._whitelist.add(val);\n\n next._blacklist.delete(val);\n });\n next._whitelistError = createValidation({\n message,\n name: 'oneOf',\n\n test(value) {\n if (value === undefined) return true;\n let valids = this.schema._whitelist;\n let resolved = valids.resolveAll(this.resolve);\n return resolved.includes(value) ? true : this.createError({\n params: {\n values: valids.toArray().join(', '),\n resolved\n }\n });\n }\n\n });\n return next;\n }\n\n notOneOf(enums, message = locale.notOneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._blacklist.add(val);\n\n next._whitelist.delete(val);\n });\n next._blacklistError = createValidation({\n message,\n name: 'notOneOf',\n\n test(value) {\n let invalids = this.schema._blacklist;\n let resolved = invalids.resolveAll(this.resolve);\n if (resolved.includes(value)) return this.createError({\n params: {\n values: invalids.toArray().join(', '),\n resolved\n }\n });\n return true;\n }\n\n });\n return next;\n }\n\n strip(strip = true) {\n let next = this.clone();\n next.spec.strip = strip;\n return next;\n }\n\n describe() {\n const next = this.clone();\n const {\n label,\n meta\n } = next.spec;\n const description = {\n meta,\n label,\n type: next.type,\n oneOf: next._whitelist.describe(),\n notOneOf: next._blacklist.describe(),\n tests: next.tests.map(fn => ({\n name: fn.OPTIONS.name,\n params: fn.OPTIONS.params\n })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n };\n return description;\n }\n\n} // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error\nBaseSchema.prototype.__isYupSchema__ = true;\n\nfor (const method of ['validate', 'validateSync']) BaseSchema.prototype[`${method}At`] = function (path, value, options = {}) {\n const {\n parent,\n parentPath,\n schema\n } = getIn(this, path, value, options.context);\n return schema[method](parent && parent[parentPath], _extends({}, options, {\n parent,\n path\n }));\n};\n\nfor (const alias of ['equals', 'is']) BaseSchema.prototype[alias] = BaseSchema.prototype.oneOf;\n\nfor (const alias of ['not', 'nope']) BaseSchema.prototype[alias] = BaseSchema.prototype.notOneOf;\n\nBaseSchema.prototype.optional = BaseSchema.prototype.notRequired;","import BaseSchema from './schema';\nconst Mixed = BaseSchema;\nexport default Mixed;\nexport function create() {\n return new Mixed();\n} // XXX: this is using the Base schema so that `addMethod(mixed)` works as a base class\n\ncreate.prototype = Mixed.prototype;","const isAbsent = value => value == null;\n\nexport default isAbsent;","import BaseSchema from './schema';\nimport { boolean as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nexport function create() {\n return new BooleanSchema();\n}\nexport default class BooleanSchema extends BaseSchema {\n constructor() {\n super({\n type: 'boolean'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (!this.isType(value)) {\n if (/^(true|1)$/i.test(String(value))) return true;\n if (/^(false|0)$/i.test(String(value))) return false;\n }\n\n return value;\n });\n });\n }\n\n _typeCheck(v) {\n if (v instanceof Boolean) v = v.valueOf();\n return typeof v === 'boolean';\n }\n\n isTrue(message = locale.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'true'\n },\n\n test(value) {\n return isAbsent(value) || value === true;\n }\n\n });\n }\n\n isFalse(message = locale.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'false'\n },\n\n test(value) {\n return isAbsent(value) || value === false;\n }\n\n });\n }\n\n}\ncreate.prototype = BooleanSchema.prototype;","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}","import { string as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema'; // eslint-disable-next-line\n\nlet rEmail = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i; // eslint-disable-next-line\n\nlet rUrl = /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i; // eslint-disable-next-line\n\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\n\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\n\nlet objStringTag = {}.toString();\nexport function create() {\n return new StringSchema();\n}\nexport default class StringSchema extends BaseSchema {\n constructor() {\n super({\n type: 'string'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (this.isType(value)) return value;\n if (Array.isArray(value)) return value;\n const strValue = value != null && value.toString ? value.toString() : value;\n if (strValue === objStringTag) return value;\n return strValue;\n });\n });\n }\n\n _typeCheck(value) {\n if (value instanceof String) value = value.valueOf();\n return typeof value === 'string';\n }\n\n _isPresent(value) {\n return super._isPresent(value) && !!value.length;\n }\n\n length(length, message = locale.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n\n test(value) {\n return isAbsent(value) || value.length === this.resolve(length);\n }\n\n });\n }\n\n min(min, message = locale.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value.length >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n return this.test({\n name: 'max',\n exclusive: true,\n message,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value.length <= this.resolve(max);\n }\n\n });\n }\n\n matches(regex, options) {\n let excludeEmptyString = false;\n let message;\n let name;\n\n if (options) {\n if (typeof options === 'object') {\n ({\n excludeEmptyString = false,\n message,\n name\n } = options);\n } else {\n message = options;\n }\n }\n\n return this.test({\n name: name || 'matches',\n message: message || locale.matches,\n params: {\n regex\n },\n test: value => isAbsent(value) || value === '' && excludeEmptyString || value.search(regex) !== -1\n });\n }\n\n email(message = locale.email) {\n return this.matches(rEmail, {\n name: 'email',\n message,\n excludeEmptyString: true\n });\n }\n\n url(message = locale.url) {\n return this.matches(rUrl, {\n name: 'url',\n message,\n excludeEmptyString: true\n });\n }\n\n uuid(message = locale.uuid) {\n return this.matches(rUUID, {\n name: 'uuid',\n message,\n excludeEmptyString: false\n });\n } //-- transforms --\n\n\n ensure() {\n return this.default('').transform(val => val === null ? '' : val);\n }\n\n trim(message = locale.trim) {\n return this.transform(val => val != null ? val.trim() : val).test({\n message,\n name: 'trim',\n test: isTrimmed\n });\n }\n\n lowercase(message = locale.lowercase) {\n return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n test: value => isAbsent(value) || value === value.toLowerCase()\n });\n }\n\n uppercase(message = locale.uppercase) {\n return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n test: value => isAbsent(value) || value === value.toUpperCase()\n });\n }\n\n}\ncreate.prototype = StringSchema.prototype; //\n// String Interfaces\n//","import { number as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema';\n\nlet isNaN = value => value != +value;\n\nexport function create() {\n return new NumberSchema();\n}\nexport default class NumberSchema extends BaseSchema {\n constructor() {\n super({\n type: 'number'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n let parsed = value;\n\n if (typeof parsed === 'string') {\n parsed = parsed.replace(/\\s/g, '');\n if (parsed === '') return NaN; // don't use parseFloat to avoid positives on alpha-numeric strings\n\n parsed = +parsed;\n }\n\n if (this.isType(parsed)) return parsed;\n return parseFloat(parsed);\n });\n });\n }\n\n _typeCheck(value) {\n if (value instanceof Number) value = value.valueOf();\n return typeof value === 'number' && !isNaN(value);\n }\n\n min(min, message = locale.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value <= this.resolve(max);\n }\n\n });\n }\n\n lessThan(less, message = locale.lessThan) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n less\n },\n\n test(value) {\n return isAbsent(value) || value < this.resolve(less);\n }\n\n });\n }\n\n moreThan(more, message = locale.moreThan) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n more\n },\n\n test(value) {\n return isAbsent(value) || value > this.resolve(more);\n }\n\n });\n }\n\n positive(msg = locale.positive) {\n return this.moreThan(0, msg);\n }\n\n negative(msg = locale.negative) {\n return this.lessThan(0, msg);\n }\n\n integer(message = locale.integer) {\n return this.test({\n name: 'integer',\n message,\n test: val => isAbsent(val) || Number.isInteger(val)\n });\n }\n\n truncate() {\n return this.transform(value => !isAbsent(value) ? value | 0 : value);\n }\n\n round(method) {\n var _method;\n\n let avail = ['ceil', 'floor', 'round', 'trunc'];\n method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round'; // this exists for symemtry with the new Math.trunc\n\n if (method === 'trunc') return this.truncate();\n if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n }\n\n}\ncreate.prototype = NumberSchema.prototype; //\n// Number Interfaces\n//","/* eslint-disable */\n\n/**\n *\n * Date.parse with progressive enhancement for ISO 8601 \n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover \n * Released under MIT license.\n */\n// 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\nvar isoReg = /^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nexport default function parseIsoDate(date) {\n var numericKeys = [1, 4, 5, 6, 7, 10, 11],\n minutesOffset = 0,\n timestamp,\n struct;\n\n if (struct = isoReg.exec(date)) {\n // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC\n for (var i = 0, k; k = numericKeys[i]; ++i) struct[k] = +struct[k] || 0; // allow undefined days and months\n\n\n struct[2] = (+struct[2] || 1) - 1;\n struct[3] = +struct[3] || 1; // allow arbitrary sub-second precision beyond milliseconds\n\n struct[7] = struct[7] ? String(struct[7]).substr(0, 3) : 0; // timestamps without timezone identifiers should be considered local time\n\n if ((struct[8] === undefined || struct[8] === '') && (struct[9] === undefined || struct[9] === '')) timestamp = +new Date(struct[1], struct[2], struct[3], struct[4], struct[5], struct[6], struct[7]);else {\n if (struct[8] !== 'Z' && struct[9] !== undefined) {\n minutesOffset = struct[10] * 60 + struct[11];\n if (struct[9] === '+') minutesOffset = 0 - minutesOffset;\n }\n\n timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n }\n } else timestamp = Date.parse ? Date.parse(date) : NaN;\n\n return timestamp;\n}","// @ts-ignore\nimport isoParse from './util/isodate';\nimport { date as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport Ref from './Reference';\nimport BaseSchema from './schema';\nlet invalidDate = new Date('');\n\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\n\nexport function create() {\n return new DateSchema();\n}\nexport default class DateSchema extends BaseSchema {\n constructor() {\n super({\n type: 'date'\n });\n this.withMutation(() => {\n this.transform(function (value) {\n if (this.isType(value)) return value;\n value = isoParse(value); // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n\n return !isNaN(value) ? new Date(value) : invalidDate;\n });\n });\n }\n\n _typeCheck(v) {\n return isDate(v) && !isNaN(v.getTime());\n }\n\n prepareParam(ref, name) {\n let param;\n\n if (!Ref.isRef(ref)) {\n let cast = this.cast(ref);\n if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n param = cast;\n } else {\n param = ref;\n }\n\n return param;\n }\n\n min(min, message = locale.min) {\n let limit = this.prepareParam(min, 'min');\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n test(value) {\n return isAbsent(value) || value >= this.resolve(limit);\n }\n\n });\n }\n\n max(max, message = locale.max) {\n let limit = this.prepareParam(max, 'max');\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value <= this.resolve(limit);\n }\n\n });\n }\n\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate.prototype = DateSchema.prototype;\ncreate.INVALID_DATE = invalidDate;","import has from 'lodash/has'; // @ts-expect-error\n\nimport toposort from 'toposort';\nimport { split } from 'property-expr';\nimport Ref from '../Reference';\nimport isSchema from './isSchema';\nexport default function sortFields(fields, excludedEdges = []) {\n let edges = [];\n let nodes = new Set();\n let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n\n function addNode(depPath, key) {\n let node = split(depPath)[0];\n nodes.add(node);\n if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n }\n\n for (const key in fields) if (has(fields, key)) {\n let value = fields[key];\n nodes.add(key);\n if (Ref.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n }\n\n return toposort.array(Array.from(nodes), edges).reverse();\n}","function findIndex(arr, err) {\n let idx = Infinity;\n arr.some((key, ii) => {\n var _err$path;\n\n if (((_err$path = err.path) == null ? void 0 : _err$path.indexOf(key)) !== -1) {\n idx = ii;\n return true;\n }\n });\n return idx;\n}\n\nexport default function sortByKeyOrder(keys) {\n return (a, b) => {\n return findIndex(keys, a) - findIndex(keys, b);\n };\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport has from 'lodash/has';\nimport snakeCase from 'lodash/snakeCase';\nimport camelCase from 'lodash/camelCase';\nimport mapKeys from 'lodash/mapKeys';\nimport mapValues from 'lodash/mapValues';\nimport { getter } from 'property-expr';\nimport { object as locale } from './locale';\nimport sortFields from './util/sortFields';\nimport sortByKeyOrder from './util/sortByKeyOrder';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\n\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\n\nfunction unknown(ctx, value) {\n let known = Object.keys(ctx.fields);\n return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\n\nconst defaultSort = sortByKeyOrder([]);\nexport default class ObjectSchema extends BaseSchema {\n constructor(spec) {\n super({\n type: 'object'\n });\n this.fields = Object.create(null);\n this._sortErrors = defaultSort;\n this._nodes = [];\n this._excludedEdges = [];\n this.withMutation(() => {\n this.transform(function coerce(value) {\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value);\n } catch (err) {\n value = null;\n }\n }\n\n if (this.isType(value)) return value;\n return null;\n });\n\n if (spec) {\n this.shape(spec);\n }\n });\n }\n\n _typeCheck(value) {\n return isObject(value) || typeof value === 'function';\n }\n\n _cast(_value, options = {}) {\n var _options$stripUnknown;\n\n let value = super._cast(_value, options); //should ignore nulls here\n\n\n if (value === undefined) return this.getDefault();\n if (!this._typeCheck(value)) return value;\n let fields = this.fields;\n let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n\n let props = this._nodes.concat(Object.keys(value).filter(v => this._nodes.indexOf(v) === -1));\n\n let intermediateValue = {}; // is filled during the transform below\n\n let innerOptions = _extends({}, options, {\n parent: intermediateValue,\n __validating: options.__validating || false\n });\n\n let isChanged = false;\n\n for (const prop of props) {\n let field = fields[prop];\n let exists = has(value, prop);\n\n if (field) {\n let fieldValue;\n let inputValue = value[prop]; // safe to mutate since this is fired in sequence\n\n innerOptions.path = (options.path ? `${options.path}.` : '') + prop; // innerOptions.value = value[prop];\n\n field = field.resolve({\n value: inputValue,\n context: options.context,\n parent: intermediateValue\n });\n let fieldSpec = 'spec' in field ? field.spec : undefined;\n let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n\n if (fieldSpec == null ? void 0 : fieldSpec.strip) {\n isChanged = isChanged || prop in value;\n continue;\n }\n\n fieldValue = !options.__validating || !strict ? // TODO: use _cast, this is double resolving\n field.cast(value[prop], innerOptions) : value[prop];\n\n if (fieldValue !== undefined) {\n intermediateValue[prop] = fieldValue;\n }\n } else if (exists && !strip) {\n intermediateValue[prop] = value[prop];\n }\n\n if (intermediateValue[prop] !== value[prop]) {\n isChanged = true;\n }\n }\n\n return isChanged ? intermediateValue : value;\n }\n\n _validate(_value, opts = {}, callback) {\n let errors = [];\n let {\n sync,\n from = [],\n originalValue = _value,\n abortEarly = this.spec.abortEarly,\n recursive = this.spec.recursive\n } = opts;\n from = [{\n schema: this,\n value: originalValue\n }, ...from]; // this flag is needed for handling `strict` correctly in the context of\n // validation vs just casting. e.g strict() on a field is only used when validating\n\n opts.__validating = true;\n opts.originalValue = originalValue;\n opts.from = from;\n\n super._validate(_value, opts, (err, value) => {\n if (err) {\n if (!ValidationError.isError(err) || abortEarly) {\n return void callback(err, value);\n }\n\n errors.push(err);\n }\n\n if (!recursive || !isObject(value)) {\n callback(errors[0] || null, value);\n return;\n }\n\n originalValue = originalValue || value;\n\n let tests = this._nodes.map(key => (_, cb) => {\n let path = key.indexOf('.') === -1 ? (opts.path ? `${opts.path}.` : '') + key : `${opts.path || ''}[\"${key}\"]`;\n let field = this.fields[key];\n\n if (field && 'validate' in field) {\n field.validate(value[key], _extends({}, opts, {\n // @ts-ignore\n path,\n from,\n // inner fields are always strict:\n // 1. this isn't strict so the casting will also have cast inner values\n // 2. this is strict in which case the nested values weren't cast either\n strict: true,\n parent: value,\n originalValue: originalValue[key]\n }), cb);\n return;\n }\n\n cb(null);\n });\n\n runTests({\n sync,\n tests,\n value,\n errors,\n endEarly: abortEarly,\n sort: this._sortErrors,\n path: opts.path\n }, callback);\n });\n }\n\n clone(spec) {\n const next = super.clone(spec);\n next.fields = _extends({}, this.fields);\n next._nodes = this._nodes;\n next._excludedEdges = this._excludedEdges;\n next._sortErrors = this._sortErrors;\n return next;\n }\n\n concat(schema) {\n let next = super.concat(schema);\n let nextFields = next.fields;\n\n for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n const target = nextFields[field];\n\n if (target === undefined) {\n nextFields[field] = schemaOrRef;\n } else if (target instanceof BaseSchema && schemaOrRef instanceof BaseSchema) {\n nextFields[field] = schemaOrRef.concat(target);\n }\n }\n\n return next.withMutation(() => next.shape(nextFields, this._excludedEdges));\n }\n\n getDefaultFromShape() {\n let dft = {};\n\n this._nodes.forEach(key => {\n const field = this.fields[key];\n dft[key] = 'default' in field ? field.getDefault() : undefined;\n });\n\n return dft;\n }\n\n _getDefault() {\n if ('default' in this.spec) {\n return super._getDefault();\n } // if there is no default set invent one\n\n\n if (!this._nodes.length) {\n return undefined;\n }\n\n return this.getDefaultFromShape();\n }\n\n shape(additions, excludes = []) {\n let next = this.clone();\n let fields = Object.assign(next.fields, additions);\n next.fields = fields;\n next._sortErrors = sortByKeyOrder(Object.keys(fields));\n\n if (excludes.length) {\n // this is a convenience for when users only supply a single pair\n if (!Array.isArray(excludes[0])) excludes = [excludes];\n next._excludedEdges = [...next._excludedEdges, ...excludes];\n }\n\n next._nodes = sortFields(fields, next._excludedEdges);\n return next;\n }\n\n pick(keys) {\n const picked = {};\n\n for (const key of keys) {\n if (this.fields[key]) picked[key] = this.fields[key];\n }\n\n return this.clone().withMutation(next => {\n next.fields = {};\n return next.shape(picked);\n });\n }\n\n omit(keys) {\n const next = this.clone();\n const fields = next.fields;\n next.fields = {};\n\n for (const key of keys) {\n delete fields[key];\n }\n\n return next.withMutation(() => next.shape(fields));\n }\n\n from(from, to, alias) {\n let fromGetter = getter(from, true);\n return this.transform(obj => {\n if (obj == null) return obj;\n let newObj = obj;\n\n if (has(obj, from)) {\n newObj = _extends({}, obj);\n if (!alias) delete newObj[from];\n newObj[to] = fromGetter(obj);\n }\n\n return newObj;\n });\n }\n\n noUnknown(noAllow = true, message = locale.noUnknown) {\n if (typeof noAllow === 'string') {\n message = noAllow;\n noAllow = true;\n }\n\n let next = this.test({\n name: 'noUnknown',\n exclusive: true,\n message: message,\n\n test(value) {\n if (value == null) return true;\n const unknownKeys = unknown(this.schema, value);\n return !noAllow || unknownKeys.length === 0 || this.createError({\n params: {\n unknown: unknownKeys.join(', ')\n }\n });\n }\n\n });\n next.spec.noUnknown = noAllow;\n return next;\n }\n\n unknown(allow = true, message = locale.noUnknown) {\n return this.noUnknown(!allow, message);\n }\n\n transformKeys(fn) {\n return this.transform(obj => obj && mapKeys(obj, (_, key) => fn(key)));\n }\n\n camelCase() {\n return this.transformKeys(camelCase);\n }\n\n snakeCase() {\n return this.transformKeys(snakeCase);\n }\n\n constantCase() {\n return this.transformKeys(key => snakeCase(key).toUpperCase());\n }\n\n describe() {\n let base = super.describe();\n base.fields = mapValues(this.fields, value => value.describe());\n return base;\n }\n\n}\nexport function create(spec) {\n return new ObjectSchema(spec);\n}\ncreate.prototype = ObjectSchema.prototype;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport isAbsent from './util/isAbsent';\nimport isSchema from './util/isSchema';\nimport printValue from './util/printValue';\nimport { array as locale } from './locale';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\nexport function create(type) {\n return new ArraySchema(type);\n}\nexport default class ArraySchema extends BaseSchema {\n constructor(type) {\n super({\n type: 'array'\n }); // `undefined` specifically means uninitialized, as opposed to\n // \"no subtype\"\n\n this.innerType = void 0;\n this.innerType = type;\n this.withMutation(() => {\n this.transform(function (values) {\n if (typeof values === 'string') try {\n values = JSON.parse(values);\n } catch (err) {\n values = null;\n }\n return this.isType(values) ? values : null;\n });\n });\n }\n\n _typeCheck(v) {\n return Array.isArray(v);\n }\n\n get _subType() {\n return this.innerType;\n }\n\n _cast(_value, _opts) {\n const value = super._cast(_value, _opts); //should ignore nulls here\n\n\n if (!this._typeCheck(value) || !this.innerType) return value;\n let isChanged = false;\n const castArray = value.map((v, idx) => {\n const castElement = this.innerType.cast(v, _extends({}, _opts, {\n path: `${_opts.path || ''}[${idx}]`\n }));\n\n if (castElement !== v) {\n isChanged = true;\n }\n\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n\n _validate(_value, options = {}, callback) {\n var _options$abortEarly, _options$recursive;\n\n let errors = [];\n let sync = options.sync;\n let path = options.path;\n let innerType = this.innerType;\n let endEarly = (_options$abortEarly = options.abortEarly) != null ? _options$abortEarly : this.spec.abortEarly;\n let recursive = (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive;\n let originalValue = options.originalValue != null ? options.originalValue : _value;\n\n super._validate(_value, options, (err, value) => {\n if (err) {\n if (!ValidationError.isError(err) || endEarly) {\n return void callback(err, value);\n }\n\n errors.push(err);\n }\n\n if (!recursive || !innerType || !this._typeCheck(value)) {\n callback(errors[0] || null, value);\n return;\n }\n\n originalValue = originalValue || value; // #950 Ensure that sparse array empty slots are validated\n\n let tests = new Array(value.length);\n\n for (let idx = 0; idx < value.length; idx++) {\n let item = value[idx];\n let path = `${options.path || ''}[${idx}]`; // object._validate note for isStrict explanation\n\n let innerOptions = _extends({}, options, {\n path,\n strict: true,\n parent: value,\n index: idx,\n originalValue: originalValue[idx]\n });\n\n tests[idx] = (_, cb) => innerType.validate(item, innerOptions, cb);\n }\n\n runTests({\n sync,\n path,\n value,\n errors,\n endEarly,\n tests\n }, callback);\n });\n }\n\n clone(spec) {\n const next = super.clone(spec);\n next.innerType = this.innerType;\n return next;\n }\n\n concat(schema) {\n let next = super.concat(schema);\n next.innerType = this.innerType;\n if (schema.innerType) next.innerType = next.innerType ? // @ts-expect-error Lazy doesn't have concat()\n next.innerType.concat(schema.innerType) : schema.innerType;\n return next;\n }\n\n of(schema) {\n // FIXME: this should return a new instance of array without the default to be\n let next = this.clone();\n if (!isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema not: ' + printValue(schema)); // FIXME(ts):\n\n next.innerType = schema;\n return next;\n }\n\n length(length, message = locale.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n\n test(value) {\n return isAbsent(value) || value.length === this.resolve(length);\n }\n\n });\n }\n\n min(min, message) {\n message = message || locale.min;\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n\n // FIXME(ts): Array\n test(value) {\n return isAbsent(value) || value.length >= this.resolve(min);\n }\n\n });\n }\n\n max(max, message) {\n message = message || locale.max;\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n\n test(value) {\n return isAbsent(value) || value.length <= this.resolve(max);\n }\n\n });\n }\n\n ensure() {\n return this.default(() => []).transform((val, original) => {\n // We don't want to return `null` for nullable schema\n if (this._typeCheck(val)) return val;\n return original == null ? [] : [].concat(original);\n });\n }\n\n compact(rejector) {\n let reject = !rejector ? v => !!v : (v, i, a) => !rejector(v, i, a);\n return this.transform(values => values != null ? values.filter(reject) : values);\n }\n\n describe() {\n let base = super.describe();\n if (this.innerType) base.innerType = this.innerType.describe();\n return base;\n }\n\n nullable(isNullable = true) {\n return super.nullable(isNullable);\n }\n\n defined() {\n return super.defined();\n }\n\n required(msg) {\n return super.required(msg);\n }\n\n}\ncreate.prototype = ArraySchema.prototype; //\n// Interfaces\n//","import isSchema from './util/isSchema';\nexport function create(builder) {\n return new Lazy(builder);\n}\n\nclass Lazy {\n constructor(builder) {\n this.type = 'lazy';\n this.__isYupSchema__ = true;\n this.__inputType = void 0;\n this.__outputType = void 0;\n\n this._resolve = (value, options = {}) => {\n let schema = this.builder(value, options);\n if (!isSchema(schema)) throw new TypeError('lazy() functions must return a valid schema');\n return schema.resolve(options);\n };\n\n this.builder = builder;\n }\n\n resolve(options) {\n return this._resolve(options.value, options);\n }\n\n cast(value, options) {\n return this._resolve(value, options).cast(value, options);\n }\n\n validate(value, options, maybeCb) {\n // @ts-expect-error missing public callback on type\n return this._resolve(value, options).validate(value, options, maybeCb);\n }\n\n validateSync(value, options) {\n return this._resolve(value, options).validateSync(value, options);\n }\n\n validateAt(path, value, options) {\n return this._resolve(value, options).validateAt(path, value, options);\n }\n\n validateSyncAt(path, value, options) {\n return this._resolve(value, options).validateSyncAt(path, value, options);\n }\n\n describe() {\n return null;\n }\n\n isValid(value, options) {\n return this._resolve(value, options).isValid(value, options);\n }\n\n isValidSync(value, options) {\n return this._resolve(value, options).isValidSync(value, options);\n }\n\n}\n\nexport default Lazy;","import locale from './locale';\nexport default function setLocale(custom) {\n Object.keys(custom).forEach(type => {\n // @ts-ignore\n Object.keys(custom[type]).forEach(method => {\n // @ts-ignore\n locale[type][method] = custom[type][method];\n });\n });\n}","import MixedSchema, { create as mixedCreate } from './mixed';\nimport BooleanSchema, { create as boolCreate } from './boolean';\nimport StringSchema, { create as stringCreate } from './string';\nimport NumberSchema, { create as numberCreate } from './number';\nimport DateSchema, { create as dateCreate } from './date';\nimport ObjectSchema, { create as objectCreate } from './object';\nimport ArraySchema, { create as arrayCreate } from './array';\nimport { create as refCreate } from './Reference';\nimport { create as lazyCreate } from './Lazy';\nimport ValidationError from './ValidationError';\nimport reach from './util/reach';\nimport isSchema from './util/isSchema';\nimport setLocale from './setLocale';\nimport BaseSchema from './schema';\n\nfunction addMethod(schemaType, name, fn) {\n if (!schemaType || !isSchema(schemaType.prototype)) throw new TypeError('You must provide a yup schema constructor function');\n if (typeof name !== 'string') throw new TypeError('A Method name must be provided');\n if (typeof fn !== 'function') throw new TypeError('Method function must be provided');\n schemaType.prototype[name] = fn;\n}\n\nexport { mixedCreate as mixed, boolCreate as bool, boolCreate as boolean, stringCreate as string, numberCreate as number, dateCreate as date, objectCreate as object, arrayCreate as array, refCreate as ref, lazyCreate as lazy, reach, isSchema, addMethod, setLocale, ValidationError };\nexport { BaseSchema, MixedSchema, BooleanSchema, StringSchema, NumberSchema, DateSchema, ObjectSchema, ArraySchema };","import * as yup from \"yup\";\n\nyup.setLocale({\n mixed: {\n default: \"Required field\",\n required: \"Required field\"\n },\n string: {\n length: ({ length }) => `String length should be ${length}`,\n min: ({ min }) => `String cannot contain less than ${min} symbols`,\n max: ({ max }) => `String cannot contain more than ${max} symbols`,\n email: () => `Should be a valid email`,\n url: \"Should be a valid URL\",\n lowercase: \"String must be lowercase\",\n uppercase: \"String must be uppercase\"\n },\n number: {\n min: ({ min }) => `Number cannot be less than ${min}`,\n max: ({ max }) => `Number cannot be larger than ${max}`\n },\n boolean: {},\n date: {},\n object: {},\n array: {}\n});\n\nexport default yup;\n","import {\n get, FieldError, ResolverOptions, Ref, FieldErrors\n} from 'react-hook-form';\n\nconst setCustomValidity = (ref: Ref, fieldPath: string, errors: FieldErrors) => {\n if (ref && 'reportValidity' in ref) {\n const error = get(errors, fieldPath) as FieldError | undefined;\n ref.setCustomValidity((error && error.message) || '');\n\n ref.reportValidity();\n }\n};\n\n// Native validation (web only)\nexport const validateFieldsNatively = (\n errors: FieldErrors,\n options: ResolverOptions,\n): void => {\n\n\n for (const fieldPath in options.fields) {\n const field = options.fields[fieldPath];\n if (field && field.ref && 'reportValidity' in field.ref) {\n setCustomValidity(field.ref, fieldPath, errors)\n } else if (field.refs) {\n field.refs.forEach((ref: HTMLInputElement) => setCustomValidity(ref, fieldPath, errors))\n }\n }\n};\n","import {\n set,\n get,\n FieldErrors,\n Field,\n ResolverOptions,\n} from 'react-hook-form';\nimport { validateFieldsNatively } from './validateFieldsNatively';\n\nexport const toNestError = (\n errors: FieldErrors,\n options: ResolverOptions,\n): FieldErrors => {\n options.shouldUseNativeValidation && validateFieldsNatively(errors, options);\n\n const fieldErrors = {} as FieldErrors;\n for (const path in errors) {\n const field = get(options.fields, path) as Field['_f'] | undefined;\n\n set(\n fieldErrors,\n path,\n Object.assign(errors[path], { ref: field && field.ref }),\n );\n }\n\n return fieldErrors;\n};\n","import * as Yup from 'yup';\nimport { toNestError, validateFieldsNatively } from '@hookform/resolvers';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport { Resolver } from './types';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nconst parseErrorSchema = (\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean,\n) => {\n return (error.inner || []).reduce>(\n (previous, error) => {\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n },\n {},\n );\n};\n\nexport const yupResolver: Resolver =\n (schema, schemaOptions = {}, resolverOptions = {}) =>\n async (values, context, options) => {\n try {\n if (schemaOptions.context && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\",\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n values,\n Object.assign({ abortEarly: false }, schemaOptions, { context }),\n );\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : result,\n errors: {},\n };\n } catch (e: any) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: toNestError(\n parseErrorSchema(\n e,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n };\n","import * as React from 'react';\nimport { useFormContext, get, FieldErrors } from 'react-hook-form';\nimport { Props } from './types';\n\nconst ErrorMessage = <\n TFieldErrors extends FieldErrors,\n TAs extends\n | undefined\n | React.ReactElement\n | React.ComponentType\n | keyof JSX.IntrinsicElements = undefined\n>({\n as,\n errors,\n name,\n message,\n render,\n ...rest\n}: Props) => {\n const methods = useFormContext();\n const error = get(errors || methods.formState.errors, name);\n\n if (!error) {\n return null;\n }\n\n const { message: messageFromRegister, types } = error;\n const props = Object.assign({}, rest, {\n children: messageFromRegister || message,\n });\n\n return React.isValidElement(as)\n ? React.cloneElement(as, props)\n : render\n ? (render({\n message: messageFromRegister || message,\n messages: types,\n }) as React.ReactElement)\n : React.createElement((as as string) || React.Fragment, props);\n};\n\nexport { ErrorMessage };\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { ErrorMessage as RHFErrorMessage } from \"@hookform/error-message\";\n\nconst ErrorMessage = ({ errors, name }) => {\n return (\n {\n if (messages) {\n return Object.entries(messages).map((error) => (\n
\n *\n {error.message}\n
\n ));\n }\n\n if (message) {\n return (\n
\n *\n {message}\n
\n );\n }\n\n return null;\n }}\n />\n );\n};\n\nexport const BaseErrorMessage = ({ text }) => {\n if (!text) {\n return null;\n }\n\n return (\n
\n *\n {text}\n
\n );\n};\n\nBaseErrorMessage.propTypes = {\n text: PropTypes.string\n};\n\nErrorMessage.propTypes = {\n errors: PropTypes.object,\n name: PropTypes.string.isRequired\n};\n\nexport default ErrorMessage;\n","import ErrorMessage from \"./ErrorMessage\";\n\nexport { BaseErrorMessage } from \"./ErrorMessage\";\n\nexport default ErrorMessage;\n","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","import React from 'react';\n\ntype AllowedInputTypes = 'password' | 'text' | 'number' | 'tel';\n\ntype InputProps = Required<\n Pick<\n React.InputHTMLAttributes,\n | 'value'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'onKeyDown'\n | 'onPaste'\n | 'aria-label'\n | 'maxLength'\n | 'autoComplete'\n | 'style'\n | 'inputMode'\n | 'onInput'\n > & {\n ref: React.RefCallback;\n placeholder: string | undefined;\n className: string | undefined;\n type: AllowedInputTypes;\n }\n>;\n\ninterface OTPInputProps {\n /** Value of the OTP input */\n value?: string;\n /** Number of OTP inputs to be rendered */\n numInputs?: number;\n /** Callback to be called when the OTP value changes */\n onChange: (otp: string) => void;\n /** Function to render the input */\n renderInput: (inputProps: InputProps, index: number) => React.ReactNode;\n /** Whether the first input should be auto focused */\n shouldAutoFocus?: boolean;\n /** Placeholder for the inputs */\n placeholder?: string;\n /** Function to render the separator */\n renderSeparator?: ((index: number) => React.ReactNode) | React.ReactNode;\n /** Style for the container */\n containerStyle?: React.CSSProperties | string;\n /** Style for the input */\n inputStyle?: React.CSSProperties | string;\n /** The type that will be passed to the input being rendered */\n inputType?: AllowedInputTypes;\n}\n\nconst isStyleObject = (obj: unknown) => typeof obj === 'object' && obj !== null;\n\nconst OTPInput = ({\n value = '',\n numInputs = 4,\n onChange,\n renderInput,\n shouldAutoFocus = false,\n inputType = 'text',\n renderSeparator,\n placeholder,\n containerStyle,\n inputStyle,\n}: OTPInputProps) => {\n const [activeInput, setActiveInput] = React.useState(0);\n const inputRefs = React.useRef>([]);\n\n const getOTPValue = () => (value ? value.toString().split('') : []);\n\n const isInputNum = inputType === 'number' || inputType === 'tel';\n\n React.useEffect(() => {\n inputRefs.current = inputRefs.current.slice(0, numInputs);\n }, [numInputs]);\n\n React.useEffect(() => {\n if (shouldAutoFocus) {\n inputRefs.current[0]?.focus();\n }\n }, [shouldAutoFocus]);\n\n const getPlaceholderValue = () => {\n if (typeof placeholder === 'string') {\n if (placeholder.length === numInputs) {\n return placeholder;\n }\n\n if (placeholder.length > 0) {\n console.error('Length of the placeholder should be equal to the number of inputs.');\n }\n }\n return undefined;\n };\n\n const isInputValueValid = (value: string) => {\n const isTypeValid = isInputNum ? !isNaN(Number(value)) : typeof value === 'string';\n return isTypeValid && value.trim().length === 1;\n };\n\n const handleChange = (event: React.ChangeEvent) => {\n const { value } = event.target;\n\n if (isInputValueValid(value)) {\n changeCodeAtFocus(value);\n focusInput(activeInput + 1);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent) => {\n const { nativeEvent } = event;\n if (!isInputValueValid(event.target.value)) {\n // @ts-expect-error - This was added previosly to handle and edge case\n // for dealing with keyCode \"229 Unidentified\" on Android. Check if this is\n // still needed.\n if (nativeEvent.data === null && nativeEvent.inputType === 'deleteContentBackward') {\n event.preventDefault();\n changeCodeAtFocus('');\n focusInput(activeInput - 1);\n }\n // Clear the input if it's not valid value because firefox allows\n // pasting non-numeric characters in a number type input\n event.target.value = '';\n }\n };\n\n const handleFocus = (event: React.FocusEvent) => (index: number) => {\n setActiveInput(index);\n event.target.select();\n };\n\n const handleBlur = () => {\n setActiveInput(activeInput - 1);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n const otp = getOTPValue();\n if ([event.code, event.key].includes('Backspace')) {\n event.preventDefault();\n changeCodeAtFocus('');\n focusInput(activeInput - 1);\n } else if (event.code === 'Delete') {\n event.preventDefault();\n changeCodeAtFocus('');\n } else if (event.code === 'ArrowLeft') {\n event.preventDefault();\n focusInput(activeInput - 1);\n } else if (event.code === 'ArrowRight') {\n event.preventDefault();\n focusInput(activeInput + 1);\n }\n // React does not trigger onChange when the same value is entered\n // again. So we need to focus the next input manually in this case.\n else if (event.key === otp[activeInput]) {\n event.preventDefault();\n focusInput(activeInput + 1);\n } else if (\n event.code === 'Spacebar' ||\n event.code === 'Space' ||\n event.code === 'ArrowUp' ||\n event.code === 'ArrowDown'\n ) {\n event.preventDefault();\n }\n };\n\n const focusInput = (index: number) => {\n const activeInput = Math.max(Math.min(numInputs - 1, index), 0);\n\n if (inputRefs.current[activeInput]) {\n inputRefs.current[activeInput]?.focus();\n inputRefs.current[activeInput]?.select();\n setActiveInput(activeInput);\n }\n };\n\n const changeCodeAtFocus = (value: string) => {\n const otp = getOTPValue();\n otp[activeInput] = value[0];\n handleOTPChange(otp);\n };\n\n const handleOTPChange = (otp: Array) => {\n const otpValue = otp.join('');\n onChange(otpValue);\n };\n\n const handlePaste = (event: React.ClipboardEvent) => {\n event.preventDefault();\n\n const otp = getOTPValue();\n let nextActiveInput = activeInput;\n\n // Get pastedData in an array of max size (num of inputs - current position)\n const pastedData = event.clipboardData\n .getData('text/plain')\n .slice(0, numInputs - activeInput)\n .split('');\n\n // Prevent pasting if the clipboard data contains non-numeric values for number inputs\n if (isInputNum && pastedData.some((value) => isNaN(Number(value)))) {\n return;\n }\n\n // Paste data from focused input onwards\n for (let pos = 0; pos < numInputs; ++pos) {\n if (pos >= activeInput && pastedData.length > 0) {\n otp[pos] = pastedData.shift() ?? '';\n nextActiveInput++;\n }\n }\n\n focusInput(nextActiveInput);\n handleOTPChange(otp);\n };\n\n return (\n \n {Array.from({ length: numInputs }, (_, index) => index).map((index) => (\n \n {renderInput(\n {\n value: getOTPValue()[index] ?? '',\n placeholder: getPlaceholderValue()?.[index] ?? undefined,\n ref: (element) => (inputRefs.current[index] = element),\n onChange: handleChange,\n onFocus: (event) => handleFocus(event)(index),\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onPaste: handlePaste,\n autoComplete: 'off',\n maxLength: 1,\n 'aria-label': `Please enter OTP character ${index + 1}`,\n style: Object.assign(\n { width: '1em', textAlign: 'center' } as const,\n isStyleObject(inputStyle) && inputStyle\n ),\n className: typeof inputStyle === 'string' ? inputStyle : undefined,\n type: inputType,\n inputMode: isInputNum ? 'numeric' : 'text',\n onInput: handleInputChange,\n },\n index\n )}\n {index < numInputs - 1 && (typeof renderSeparator === 'function' ? renderSeparator(index) : renderSeparator)}\n \n ))}\n
\n );\n};\n\nexport type { OTPInputProps, InputProps, AllowedInputTypes };\nexport default OTPInput;\n","export const generatePasswordPlaceholder = (password) => {\n let n = 0;\n let passwordPlaceholder = \"\";\n while (n < password.length) {\n n += 1;\n passwordPlaceholder = `${passwordPlaceholder}*`;\n }\n return passwordPlaceholder;\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport { format } from \"date-fns\";\nimport cn from \"classnames\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\nimport \"./InputField.scss\";\nimport { useCombinedRefs } from \"@/hooks\";\nimport { usePopperTooltip } from \"react-popper-tooltip\";\nimport \"react-popper-tooltip/dist/styles.css\";\nimport { InfoIcon } from \"@/icons\";\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { Controller } from \"react-hook-form\";\nimport OtpInput from \"react-otp-input\";\nimport { generatePasswordPlaceholder } from \"@/utils/generatePasswordPlaceholder\";\n\n// eslint-disable-next-line react/display-name\nconst InputField = React.forwardRef(\n (\n {\n wrapperClassName,\n inputClassName,\n placeholder,\n name,\n label,\n tooltipContent,\n tooltipTitle,\n errors,\n autoFocus,\n onChange,\n onBlur,\n datePicker,\n datePickerFormat,\n withoutInput,\n multiline,\n readonlyValue,\n control,\n preloadValue,\n otpInput,\n setValue,\n hasPasswordShow,\n ...props\n },\n ref\n ) => {\n const inputRef = useRef(null);\n const combinedRef = useCombinedRefs(ref, inputRef);\n const [controlledVisible, setControlledVisible] = useState(false);\n const [startDate, setStartDate] = useState();\n const [showPassword, setShowPassword] = useState(false);\n const [otp, setOtp] = useState(\"\");\n const {\n getArrowProps,\n getTooltipProps,\n setTooltipRef,\n setTriggerRef,\n visible\n } = usePopperTooltip({\n offset: 6,\n trigger: \"click\",\n closeOnOutsideClick: true,\n interactive: true,\n placement: \"bottom-start\",\n visible: controlledVisible,\n onVisibleChange: setControlledVisible\n });\n\n const handleShowPassword = () => {\n setShowPassword(!showPassword);\n };\n\n useEffect(() => {\n if (autoFocus) {\n combinedRef.current?.focus();\n }\n if (datePicker && preloadValue) {\n setStartDate(new Date(preloadValue));\n }\n }, [autoFocus, combinedRef, datePicker, preloadValue]);\n\n return (\n \n {label && (\n
\n \n
\n )}\n {!withoutInput && !readonlyValue && (\n
\n {datePicker ? (\n (\n {\n field.onChange(format(new Date(date), datePickerFormat));\n setStartDate(date);\n }}\n onBlur={onBlur}\n dateFormat={datePickerFormat}\n placeholderText={placeholder}\n autoComplete=\"off\"\n />\n )}\n />\n ) : (\n <>\n {multiline && (\n \n )}\n {otpInput && (\n
\n {\n setOtp(value);\n setValue(name, value);\n }}\n numInputs={6}\n inputStyle=\"form-control form-control-otp\"\n renderSeparator={}\n // eslint-disable-next-line no-shadow\n renderInput={(props) => }\n />\n
\n )}\n {!multiline && !otpInput && (\n \n )}\n \n )}\n
\n )}\n {readonlyValue && hasPasswordShow ? (\n
\n
\n {showPassword\n ? readonlyValue\n : generatePasswordPlaceholder(readonlyValue)}\n
\n {hasPasswordShow && (\n handleShowPassword()}\n type=\"button\">\n {showPassword ? \"Hide\" : \"Show\"}\n \n )}\n
\n ) : (\n \n )}\n {tooltipContent && (\n
\n
\n \n
\n {tooltipTitle}\n
\n )}\n {visible && (\n \n {tooltipContent}\n
\n
\n )}\n \n \n );\n }\n);\n\nInputField.defaultProps = {\n errors: {}\n};\n\nInputField.propTypes = {\n autoFocus: PropTypes.bool,\n placeholder: PropTypes.string,\n name: PropTypes.string.isRequired,\n wrapperClassName: PropTypes.string,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n tooltipContent: PropTypes.node,\n tooltipTitle: PropTypes.string,\n inputClassName: PropTypes.string,\n label: PropTypes.string,\n errors: PropTypes.object,\n datePicker: PropTypes.bool,\n datePickerFormat: PropTypes.string,\n withoutInput: PropTypes.bool,\n multiline: PropTypes.string,\n readonlyValue: PropTypes.string,\n control: PropTypes.object,\n preloadValue: PropTypes.string,\n otpInput: PropTypes.bool,\n setValue: PropTypes.func,\n hasPasswordShow: PropTypes.bool\n};\n\nexport default InputField;\n","import InputField from \"./InputField\";\n\nexport default InputField;\n","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[047]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-2])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-79]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0(4(?:[14]4|56)|[579])?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[189]\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[12]00|[368]|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[1245]|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-2]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1289]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-2])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{7}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[25]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[4-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29[1289]|389)\",\"529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5293[01]\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]|8[0-3]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"592(?:4[0-2]|93)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-2])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[047]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-579]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|[89]0\",\"50(?:[0367]|88)|[89]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[59]|80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7|86\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-3]))\\\\d{4}\"],[\"(?:69(?:2\\\\d\\\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))|9(?:399[0-3]|479[0-2]|76(?:2[27]|3[0-37]|9\\\\d)))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,0,[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[237-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-6]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3478]|64|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7|91[78]\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"[1-6]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"6\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|616)\",\"5(?:[0-59]|6161)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"5056(?:[0-35-9]\\\\d|4[46])\\\\d{4}|(?:4722|505[2-57-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"(?:0004|4)\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[7,8,10,13],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"405|8|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"(?:33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[35-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[69]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[3578]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23]\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:(?:(?:26|63)9|80\\\\d)\\\\d|9398)\\\\d{5}\",[9],0,\"0\",0,0,0,0,\"269|63|9398\"],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"[0-36-9]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-36-9]\"]]],0,0,0,0,0,0,[0,[\"[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Extracts the following properties from function arguments:\r\n// * input `text`\r\n// * `options` object\r\n// * `metadata` JSON\r\nexport default function normalizeArguments(args) {\r\n\tconst [arg_1, arg_2, arg_3, arg_4] = Array.prototype.slice.call(args)\r\n\r\n\tlet text\r\n\tlet options\r\n\tlet metadata\r\n\r\n\t// If the phone number is passed as a string.\r\n\t// `parsePhoneNumber('88005553535', ...)`.\r\n\tif (typeof arg_1 === 'string') {\r\n\t\ttext = arg_1\r\n\t}\r\n\telse throw new TypeError('A text for parsing must be a string.')\r\n\r\n\t// If \"default country\" argument is being passed then move it to `options`.\r\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\r\n\tif (!arg_2 || typeof arg_2 === 'string')\r\n\t{\r\n\t\tif (arg_4) {\r\n\t\t\toptions = arg_3\r\n\t\t\tmetadata = arg_4\r\n\t\t} else {\r\n\t\t\toptions = undefined\r\n\t\t\tmetadata = arg_3\r\n\t\t}\r\n\r\n\t\tif (arg_2) {\r\n\t\t\toptions = { defaultCountry: arg_2, ...options }\r\n\t\t}\r\n\t}\r\n\t// `defaultCountry` is not passed.\r\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\r\n\telse if (isObject(arg_2))\r\n\t{\r\n\t\tif (arg_3) {\r\n\t\t\toptions = arg_2\r\n\t\t\tmetadata = arg_3\r\n\t\t} else {\r\n\t\t\tmetadata = arg_2\r\n\t\t}\r\n\t}\r\n\telse throw new Error(`Invalid second argument: ${arg_2}`)\r\n\r\n\treturn {\r\n\t\ttext,\r\n\t\toptions,\r\n\t\tmetadata\r\n\t}\r\n}\r\n\r\n// Otherwise istanbul would show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst isObject = _ => typeof _ === 'object'","// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')","// https://stackoverflow.com/a/46971044/970769\r\n// \"Breaking changes in Typescript 2.1\"\r\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\r\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\r\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\nexport default class ParseError extends Error {\r\n constructor(code) {\r\n super(code)\r\n // Set the prototype explicitly.\r\n // Any subclass of FooError will have to manually set the prototype as well.\r\n Object.setPrototypeOf(this, ParseError.prototype)\r\n this.name = this.constructor.name\r\n }\r\n}","// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\n//\r\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\r\nexport default function(a, b) {\r\n a = a.split('-')\r\n b = b.split('-')\r\n var pa = a[0].split('.')\r\n var pb = b[0].split('.')\r\n for (var i = 0; i < 3; i++) {\r\n var na = Number(pa[i])\r\n var nb = Number(pb[i])\r\n if (na > nb) return 1\r\n if (nb > na) return -1\r\n if (!isNaN(na) && isNaN(nb)) return 1\r\n if (isNaN(na) && !isNaN(nb)) return -1\r\n }\r\n if (a[1] && b[1]) {\r\n return a[1] > b[1] ? 1 : (a[1] < b[1] ? -1 : 0)\r\n }\r\n return !a[1] && b[1] ? 1 : (a[1] && !b[1] ? -1 : 0)\r\n}","import compare from './tools/semver-compare.js'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\nconst CALLING_CODE_REG_EXP = /^\\d+$/\r\n\r\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\t// The test case could be found by searching for \"nonGeographical\".\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\t// Supports just passing `callingCode` as the first argument.\r\n\t\tif (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\r\n\t\t\tcallingCode = countryCode\r\n\t\t\tcountryCode = null\r\n\t\t}\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\t// In that metadata, there was no concept of \"non-geographic\" metadata\r\n\t\t\t// so metadata for `001` country code was stored along with other countries.\r\n\t\t\t// The test case can be found by searching for:\r\n\t\t\t// \"should work around `nonGeographic` metadata not existing\".\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\treturn this.selectNumberingPlan(callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\t// Is always present.\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\t// Is only present when a country supports multiple IDD prefixes.\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\t// \"possible length\" data is always present in Google's metadata.\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\r\n\t\t\t// when `national_prefix_formatting_rule` is not present.\r\n\t\t\t// So, `true` or `false` are returned explicitly here, so that\r\n\t\t\t// `0` number isn't returned.\r\n\t\t\t? true\r\n\t\t\t: false\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!is_object(metadata) || !is_object(metadata.countries)) {\r\n\t\tthrow new Error(`[libphonenumber-js] \\`metadata\\` argument was passed but it's not a valid metadata. Must be an object having \\`.countries\\` child object property. Got ${is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst is_object = _ => typeof _ === 'object'\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst type_of = _ => typeof _\r\n\r\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries[country] !== undefined\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tconst { version } = metadata\r\n\tif (typeof version === 'number') {\r\n\t\tthis.v1 = version === 1\r\n\t\tthis.v2 = version === 2\r\n\t\tthis.v3 = version === 3\r\n\t\tthis.v4 = version === 4\r\n\t} else {\r\n\t\tif (!version) {\r\n\t\t\tthis.v1 = true\r\n\t\t} else if (compare(version, V3) === -1) {\r\n\t\t\tthis.v2 = true\r\n\t\t} else if (compare(version, V4) === -1) {\r\n\t\t\tthis.v3 = true\r\n\t\t} else {\r\n\t\t\tthis.v4 = true\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }","import { VALID_DIGITS } from '../../constants.js'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\r\nconst getExtensionDigitsPattern = (maxLength) => `([${VALID_DIGITS}]{1,${maxLength}})`\r\n\r\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\r\nexport default function createExtensionPattern(purpose) {\r\n\t// We cap the maximum length of an extension based on the ambiguity of the way\r\n\t// the extension is prefixed. As per ITU, the officially allowed length for\r\n\t// extensions is actually 40, but we don't support this since we haven't seen real\r\n\t// examples and this introduces many false interpretations as the extension labels\r\n\t// are not standardized.\r\n\t/** @type {string} */\r\n\tvar extLimitAfterExplicitLabel = '20';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterLikelyLabel = '15';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterAmbiguousChar = '9';\r\n\t/** @type {string} */\r\n\tvar extLimitWhenNotSure = '6';\r\n\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\u00A0\\\\t,]*\";\r\n\t// Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\r\n\t/** @type {string} */\r\n\tvar possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*\";\r\n\t/** @type {string} */\r\n\tvar optionalExtnSuffix = \"#?\";\r\n\r\n\t// Here the extension is called out in more explicit way, i.e mentioning it obvious\r\n\t// patterns like \"ext.\".\r\n\t/** @type {string} */\r\n\tvar explicitExtLabels =\r\n\t \"(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\r\n\t// One-character symbols that can be used to indicate an extension, and less\r\n\t// commonly used or more ambiguous extension labels.\r\n\t/** @type {string} */\r\n\tvar ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\r\n\t// When extension is not separated clearly.\r\n\t/** @type {string} */\r\n\tvar ambiguousSeparator = \"[- ]+\";\r\n\t// This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\r\n\t// comma as extension label may have it.\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsNumberExtLabelNoComma = \"[ \\u00A0\\\\t]*\";\r\n\t// \",,\" is commonly used for auto dialling the extension when connected. First\r\n\t// comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\r\n\t// not repeat it here. Semi-colon works in Iphone and Android also to pop up a\r\n\t// button with the extension number following.\r\n\t/** @type {string} */\r\n\tvar autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\r\n\r\n\t/** @type {string} */\r\n\tvar rfcExtn = RFC3966_EXTN_PREFIX\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\r\n\t/** @type {string} */\r\n\tvar explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel)\r\n\t + optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t+ getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar americanStyleExtnWithSuffix = ambiguousSeparator\r\n\t+ getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\r\n\r\n\t/** @type {string} */\r\n\tvar autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterLikelyLabel)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + \"(?:,)+\" + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t + optionalExtnSuffix;\r\n\r\n\t// The first regular expression covers RFC 3966 format, where the extension is added\r\n\t// using \";ext=\". The second more generic where extension is mentioned with explicit\r\n\t// labels like \"ext:\". In both the above cases we allow more numbers in extension than\r\n\t// any other extension labels. The third one captures when single character extension\r\n\t// labels or less commonly used labels are used. In such cases we capture fewer\r\n\t// extension digits in order to reduce the chance of falsely interpreting two\r\n\t// numbers beside each other as a number + extension. The fourth one covers the\r\n\t// special case of American numbers where the extension is written with a hash\r\n\t// at the end, such as \"- 503#\". The fifth one is exclusively for extension\r\n\t// autodialling formats which are used when dialling and in this case we accept longer\r\n\t// extensions. The last one is more liberal on the number of commas that acts as\r\n\t// extension labels, so we have a strict cap on the number of digits in such extensions.\r\n\treturn rfcExtn + \"|\"\r\n\t + explicitExtn + \"|\"\r\n\t + ambiguousExtn + \"|\"\r\n\t + americanStyleExtnWithSuffix + \"|\"\r\n\t + autoDiallingExtn + \"|\"\r\n\t + onlyCommasExtn;\r\n}","import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from '../constants.js'\r\n\r\nimport createExtensionPattern from './extension/createExtensionPattern.js'\r\n\r\n// Regular expression of viable phone numbers. This is location independent.\r\n// Checks we have at least three leading digits, and only valid punctuation,\r\n// alpha characters and digits in the phone number. Does not include extension\r\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n// used as a placeholder for carrier codes, for example in Brazilian phone\r\n// numbers. We also allow multiple '+' characters at the start.\r\n//\r\n// Corresponds to the following:\r\n// [digits]{minLengthNsn}|\r\n// plus_sign*\r\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n// The second expression restricts the number of digits to three or more, but\r\n// then allows them to be in international form, and to have alpha-characters\r\n// and punctuation. We split up the two reg-exes here and combine them when\r\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n// with ^ and append $ to each branch.\r\n//\r\n// \"Note VALID_PUNCTUATION starts with a -,\r\n// so must be the first in the range\" (c) Google devs.\r\n// (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nexport const VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// This regular expression isn't present in Google's `libphonenumber`\r\n// and is only used to determine whether the phone number being input\r\n// is too short for it to even consider it a \"valid\" number.\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nconst VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){1,2}' +\r\n\t'$'\r\n, 'i')\r\n\r\nexport const VALID_PHONE_NUMBER_WITH_EXTENSION =\r\n\tVALID_PHONE_NUMBER +\r\n\t// Phone number extensions\r\n\t'(?:' + createExtensionPattern() + ')?'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER_WITH_EXTENSION +\r\n\t'$'\r\n, 'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}\r\n\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nexport function isViablePhoneNumberStart(number) {\r\n\treturn VALID_PHONE_NUMBER_START_REG_EXP.test(number)\r\n}","import createExtensionPattern from './createExtensionPattern.js'\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport default function extractExtension(number) {\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst numberWithoutExtension = number.slice(0, start)\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length) {\r\n\t\tif (matches[i]) {\r\n\t\t\treturn {\r\n\t\t\t\tnumber: numberWithoutExtension,\r\n\t\t\t\text: matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}","// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character) {\r\n\treturn DIGITS[character]\r\n}\r\n\r\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}","import { parseDigit } from './helpers/parseDigits.js'\r\n\r\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (prevParsedCharacters) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}","/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\r\nexport default function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b) {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}","import mergeArrays from './mergeArrays.js'\r\n\r\nexport default function checkNumberLength(nationalNumber, metadata) {\r\n\treturn checkNumberLengthForType(nationalNumber, undefined, metadata)\r\n}\r\n\r\n// Checks whether a number is possible for the country based on its length.\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"\" set for every type element.\r\n\t// This is declared in the XML schema.\r\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\r\n\t// has the same \"\" as the \"general description\", this is missing,\r\n\t// so we fall back to the \"general description\". Where no numbers of the type\r\n\t// exist at all, there is one possible length (-1) which is guaranteed\r\n\t// not to match the length of any real phone number.\r\n\tlet possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths()\r\n\t// let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\r\n\r\n\t// Metadata before version `1.0.18` didn't contain `possible_lengths`.\r\n\tif (!possible_lengths) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\r\n\t\t// No such country in metadata.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (!metadata.type('FIXED_LINE')) {\r\n\t\t\t// The rare case has been encountered where no fixedLine data is available\r\n\t\t\t// (true for some non-geographic entities), so we just check mobile.\r\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata)\r\n\t\t}\r\n\r\n\t\tconst mobile_type = metadata.type('MOBILE')\r\n\t\tif (mobile_type) {\r\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\r\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\r\n\t\t\t// Note that when adding the possible lengths from mobile, we have\r\n\t\t\t// to again check they aren't empty since if they are this indicates\r\n\t\t\t// they are the same as the general desc and should be obtained from there.\r\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths())\r\n\t\t\t// The current list is sorted; we need to merge in the new list and\r\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\r\n\t\t\t// the lists are very small.\r\n\r\n\t\t\t// if (local_lengths) {\r\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\r\n\t\t\t// } else {\r\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\r\n\telse if (type && !type_info) {\r\n\t\treturn 'INVALID_LENGTH'\r\n\t}\r\n\r\n\tconst actual_length = nationalNumber.length\r\n\r\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\r\n\t// // This is safe because there is never an overlap beween the possible lengths\r\n\t// // and the local-only lengths; this is checked at build time.\r\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\r\n\t// {\r\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\r\n\t// }\r\n\r\n\tconst minimum_length = possible_lengths[0]\r\n\r\n\tif (minimum_length === actual_length) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (minimum_length > actual_length) {\r\n\t\treturn 'TOO_SHORT'\r\n\t}\r\n\r\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\r\n\t\treturn 'TOO_LONG'\r\n\t}\r\n\r\n\t// We skip the first element since we've already checked it.\r\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH'\r\n}","import Metadata from './metadata.js'\r\nimport checkNumberLength from './helpers/checkNumberLength.js'\r\n\r\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\t// Old metadata (< 1.0.18) had no \"possible length\" data.\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport default function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}","import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES = [\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returned `{}`\r\n\t// meaning that the phone number is not a valid one.\r\n\tif (!input.country) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\r\n\t\t// For example, for \"US\" country.\r\n\t\t// Old metadata (< `1.0.18`) had a specific \"types\" data structure\r\n\t\t// that happened to be `undefined` for `MOBILE` in that case.\r\n\t\t// Newer metadata (>= `1.0.18`) has another data structure that is\r\n\t\t// not `undefined` for `MOBILE` in that case (it's just an empty array).\r\n\t\t// So this `if` is just for backwards compatibility with old metadata.\r\n\t\tif (!metadata.type('MOBILE')) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const type of NON_FIXED_LINE_PHONE_TYPES) {\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\r\n\t\t\treturn type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\r\n\ttype = metadata.type(type)\r\n\tif (!type || !type.pattern()) {\r\n\t\treturn false\r\n\t}\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0) {\r\n\t\treturn false\r\n\t}\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}","import Metadata from './metadata.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\n\r\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\r\nexport default function isValidNumber(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\t// By default, countries only have type regexps when it's required for\r\n\t// distinguishing different countries having the same `countryCallingCode`.\r\n\tif (metadata.hasTypes()) {\r\n\t\treturn getNumberType(input, options, metadata.metadata) !== undefined\r\n\t}\r\n\r\n\t// If there are no type regexps for this country in metadata then use\r\n\t// `nationalNumberPattern` as a \"better than nothing\" replacement.\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\treturn matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n}","import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\r\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\tlet possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn []\r\n\t}\r\n\treturn possibleCountries.filter((country) => {\r\n\t\treturn couldNationalNumberBelongToCountry(nationalNumber, country, metadata)\r\n\t})\r\n}\r\n\r\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\r\n\tconst _metadata = new Metadata(metadata)\r\n\t_metadata.selectNumberingPlan(country)\r\n\tif (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\r\n\t\treturn true\r\n\t}\r\n\treturn false\r\n}","import { VALID_PUNCTUATION } from '../constants.js'\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\n// For some reason Google's metadata contains ``s with brackets and dashes.\r\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\r\n//\r\n// For example, Google's `` for USA is `+1 213-373-4253`.\r\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\r\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\r\n//\r\n// \"The country calling code for all countries participating in the NANP is 1.\r\n// In international format, an NANP number should be listed as +1 301 555 01 00,\r\n// where 301 is an area code (Maryland).\"\r\n//\r\n// I personally prefer the international format without any punctuation.\r\n// For example, brackets are remnants of the old age, meaning that the\r\n// phone number part in brackets (so called \"area code\") can be omitted\r\n// if dialing within the same \"area\".\r\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\r\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\r\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\r\n// He has a couple of seconds to memorize that number until it passes by.\r\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\r\n// but with hyphens instead of spaces the grouping is more explicit.\r\n// I personally think that hyphens introduce visual clutter,\r\n// so I prefer replacing them with spaces in international numbers.\r\n// In the modern age all output is done on displays where spaces are clearly distinguishable\r\n// so hyphens can be safely replaced with spaces without losing any legibility.\r\n//\r\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\r\n\treturn formattedNumber.replace(new RegExp(`[${VALID_PUNCTUATION}]+`, 'g'), ' ').trim()\r\n}","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly. Therefore, we use `\\d`, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport const FIRST_GROUP_PATTERN = /(\\$\\d)/\r\n\r\nexport default function formatNationalNumberUsingFormat(\r\n\tnumber,\r\n\tformat,\r\n\t{\r\n\t\tuseInternationalFormat,\r\n\t\twithNationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tmetadata\r\n\t}\r\n) {\r\n\tconst formattedNumber = number.replace(\r\n\t\tnew RegExp(format.pattern()),\r\n\t\tuseInternationalFormat\r\n\t\t\t? format.internationalFormat()\r\n\t\t\t: (\r\n\t\t\t\t// This library doesn't use `domestic_carrier_code_formatting_rule`,\r\n\t\t\t\t// because that one is only used when formatting phone numbers\r\n\t\t\t\t// for dialing from a mobile phone, and this is not a dialing library.\r\n\t\t\t\t// carrierCode && format.domesticCarrierCodeFormattingRule()\r\n\t\t\t\t// \t// First, replace the $CC in the formatting rule with the desired carrier code.\r\n\t\t\t\t// \t// Then, replace the $FG in the formatting rule with the first group\r\n\t\t\t\t// \t// and the carrier code combined in the appropriate way.\r\n\t\t\t\t// \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\r\n\t\t\t\t// \t: (\r\n\t\t\t\t// \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t// \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t// \t\t\t: format.format()\r\n\t\t\t\t// \t)\r\n\t\t\t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t\t: format.format()\r\n\t\t\t)\r\n\t)\r\n\tif (useInternationalFormat) {\r\n\t\treturn applyInternationalSeparatorStyle(formattedNumber)\r\n\t}\r\n\treturn formattedNumber\r\n}","import Metadata from '../metadata.js'\r\n\r\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\r\nconst SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/\r\n\r\n// For regions that have multiple IDD prefixes\r\n// a preferred IDD prefix is returned.\r\nexport default function getIddPrefix(country, callingCode, metadata) {\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tif (countryMetadata.defaultIDDPrefix()) {\r\n\t\treturn countryMetadata.defaultIDDPrefix()\r\n\t}\r\n\tif (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\r\n\t\treturn countryMetadata.IDDPrefix()\r\n\t}\r\n}\r\n","import isViablePhoneNumber from './isViablePhoneNumber.js'\r\n\r\n// https://www.ietf.org/rfc/rfc3966.txt\r\n\r\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nexport function parseRFC3966(text) {\r\n\tlet number\r\n\tlet ext\r\n\r\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\r\n\ttext = text.replace(/^tel:/, 'tel=')\r\n\r\n\tfor (const part of text.split(';')) {\r\n\t\tconst [name, value] = part.split('=')\r\n\t\tswitch (name) {\r\n\t\t\tcase 'tel':\r\n\t\t\t\tnumber = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ext':\r\n\t\t\t\text = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'phone-context':\r\n\t\t\t\t// Only \"country contexts\" are supported.\r\n\t\t\t\t// \"Domain contexts\" are ignored.\r\n\t\t\t\tif (value[0] === '+') {\r\n\t\t\t\t\tnumber = value + number\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst result = { number }\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\r\nexport function formatRFC3966({ number, ext }) {\r\n\tif (!number) {\r\n\t\treturn ''\r\n\t}\r\n\tif (number[0] !== '+') {\r\n\t\tthrow new Error(`\"formatRFC3966()\" expects \"number\" to be in E.164 format.`)\r\n\t}\r\n\treturn `tel:${number}${ext ? ';ext=' + ext : ''}`\r\n}","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'\r\nimport Metadata, { getCountryCallingCode } from './metadata.js'\r\nimport getIddPrefix from './helpers/getIddPrefix.js'\r\nimport { formatRFC3966 } from './helpers/RFC3966.js'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n\tformatExtension: (formattedNumber, extension, metadata) => `${formattedNumber}${metadata.ext()}${extension}`\r\n}\r\n\r\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\nexport default function formatNumber(input, format, options, metadata) {\r\n\t// Apply default options.\r\n\tif (options) {\r\n\t\toptions = { ...DEFAULT_OPTIONS, ...options }\r\n\t} else {\r\n\t\toptions = DEFAULT_OPTIONS\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (input.country && input.country !== '001') {\r\n\t\t// Validate `input.country`.\r\n\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t}\r\n\t\tmetadata.country(input.country)\r\n\t}\r\n\telse if (input.countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t}\r\n\telse return input.phone || ''\r\n\r\n\tconst countryCallingCode = metadata.countryCallingCode()\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// This variable should have been declared inside `case`s\r\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\r\n\tlet number\r\n\r\n\tswitch (format) {\r\n\t\tcase 'NATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options)\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'INTERNATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn `+${countryCallingCode}`\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options)\r\n\t\t\tnumber = `+${countryCallingCode} ${number}`\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'E.164':\r\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\r\n\t\t\treturn `+${countryCallingCode}${nationalNumber}`\r\n\r\n\t\tcase 'RFC3966':\r\n\t\t\treturn formatRFC3966({\r\n\t\t\t\tnumber: `+${countryCallingCode}${nationalNumber}`,\r\n\t\t\t\text: input.ext\r\n\t\t\t})\r\n\r\n\t\t// For reference, here's Google's IDD formatter:\r\n\t\t// https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\r\n\t\t// Not saying that this IDD formatter replicates it 1:1, but it seems to work.\r\n\t\t// Who would even need to format phone numbers in IDD format anyway?\r\n\t\tcase 'IDD':\r\n\t\t\tif (!options.fromCountry) {\r\n\t\t\t\treturn\r\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\r\n\t\t\t}\r\n\t\t\tconst formattedNumber = formatIDD(\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tinput.carrierCode,\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\toptions.fromCountry,\r\n\t\t\t\tmetadata\r\n\t\t\t)\r\n\t\t\treturn addExtension(formattedNumber, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unknown \"format\" argument passed to \"formatNumber()\": \"${format}\"`)\r\n\t}\r\n}\r\n\r\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\r\n\tconst format = chooseFormatForNumber(metadata.formats(), number)\r\n\tif (!format) {\r\n\t\treturn number\r\n\t}\r\n\treturn formatNationalNumberUsingFormat(\r\n\t\tnumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tuseInternationalFormat: formatAs === 'INTERNATIONAL',\r\n\t\t\twithNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && (options && options.nationalPrefix === false) ? false : true,\r\n\t\t\tcarrierCode,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n}\r\n\r\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\r\n\tfor (const format of availableFormats) {\r\n\t\t// Validate leading digits.\r\n\t\t// The test case for \"else path\" could be found by searching for\r\n\t\t// \"format.leadingDigitsPatterns().length === 0\".\r\n\t\tif (format.leadingDigitsPatterns().length > 0) {\r\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\tconst lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]\r\n\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\tif (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check that the national number matches the phone number format regular expression\r\n\t\tif (matchesEntirely(nationalNnumber, format.pattern())) {\r\n\t\t\treturn format\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\r\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber\r\n}\r\n\r\nfunction formatIDD(\r\n\tnationalNumber,\r\n\tcarrierCode,\r\n\tcountryCallingCode,\r\n\tfromCountry,\r\n\tmetadata\r\n) {\r\n\tconst fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata)\r\n\t// When calling within the same country calling code.\r\n\tif (fromCountryCallingCode === countryCallingCode) {\r\n\t\tconst formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata)\r\n\t\t// For NANPA regions, return the national format for these regions\r\n\t\t// but prefix it with the country calling code.\r\n\t\tif (countryCallingCode === '1') {\r\n\t\t\treturn countryCallingCode + ' ' + formattedNumber\r\n\t\t}\r\n\t\t// If regions share a country calling code, the country calling code need\r\n\t\t// not be dialled. This also applies when dialling within a region, so this\r\n\t\t// if clause covers both these cases. Technically this is the case for\r\n\t\t// dialling from La Reunion to other overseas departments of France (French\r\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\r\n\t\t// this edge case for now and for those cases return the version including\r\n\t\t// country calling code. Details here:\r\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\r\n\t\t//\r\n\t\treturn formattedNumber\r\n\t}\r\n\tconst iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata)\r\n\tif (iddPrefix) {\r\n\t\treturn `${iddPrefix} ${countryCallingCode} ${formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata)}`\r\n\t}\r\n}","import Metadata from './metadata.js'\r\nimport isPossibleNumber from './isPossible.js'\r\nimport isValidNumber from './isValid.js'\r\n// import checkNumberLength from './helpers/checkNumberLength.js'\r\nimport getNumberType from './helpers/getNumberType.js'\r\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js'\r\nimport formatNumber from './format.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class PhoneNumber {\r\n\t/**\r\n\t * @param {string} countryOrCountryCallingCode\r\n\t * @param {string} nationalNumber\r\n\t * @param {object} metadata — Metadata JSON\r\n\t * @return {PhoneNumber}\r\n\t */\r\n\tconstructor(countryOrCountryCallingCode, nationalNumber, metadata) {\r\n\t\tif (!countryOrCountryCallingCode) {\r\n\t\t\tthrow new TypeError('`country` or `countryCallingCode` not passed')\r\n\t\t}\r\n\t\tif (!nationalNumber) {\r\n\t\t\tthrow new TypeError('`nationalNumber` not passed')\r\n\t\t}\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new TypeError('`metadata` not passed')\r\n\t\t}\r\n\t\tconst { country, countryCallingCode } = getCountryAndCountryCallingCode(\r\n\t\t\tcountryOrCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tthis.country = country\r\n\t\tthis.countryCallingCode = countryCallingCode\r\n\t\tthis.nationalNumber = nationalNumber\r\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber\r\n\t\t// Exclude `metadata` property output from `PhoneNumber.toString()`\r\n\t\t// so that it doesn't clutter the console output of Node.js.\r\n\t\t// Previously, when Node.js did `console.log(new PhoneNumber(...))`,\r\n\t\t// it would output the whole internal structure of the `metadata` object.\r\n\t\tthis.getMetadata = () => metadata\r\n\t}\r\n\r\n\tsetExt(ext) {\r\n\t\tthis.ext = ext\r\n\t}\r\n\r\n\tgetPossibleCountries() {\r\n\t\tif (this.country) {\r\n\t\t\treturn [this.country]\r\n\t\t}\r\n\t\treturn getPossibleCountriesForNumber(\r\n\t\t\tthis.countryCallingCode,\r\n\t\t\tthis.nationalNumber,\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tisPossible() {\r\n\t\treturn isPossibleNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisValid() {\r\n\t\treturn isValidNumber(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tisNonGeographic() {\r\n\t\tconst metadata = new Metadata(this.getMetadata())\r\n\t\treturn metadata.isNonGeographicCallingCode(this.countryCallingCode)\r\n\t}\r\n\r\n\tisEqual(phoneNumber) {\r\n\t\treturn this.number === phoneNumber.number && this.ext === phoneNumber.ext\r\n\t}\r\n\r\n\t// This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\r\n\t// but later it was found out that it doesn't include the possible `TOO_SHORT` result\r\n\t// returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\r\n\t// so eventually I simply commented out this method from the `PhoneNumber` class\r\n\t// and just left the `validatePhoneNumberLength()` function, even though that one would require\r\n\t// and additional step to also validate the actual country / calling code of the phone number.\r\n\t// validateLength() {\r\n\t// \tconst metadata = new Metadata(this.getMetadata())\r\n\t// \tmetadata.selectNumberingPlan(this.countryCallingCode)\r\n\t// \tconst result = checkNumberLength(this.nationalNumber, metadata)\r\n\t// \tif (result !== 'IS_POSSIBLE') {\r\n\t// \t\treturn result\r\n\t// \t}\r\n\t// }\r\n\r\n\tgetType() {\r\n\t\treturn getNumberType(this, { v2: true }, this.getMetadata())\r\n\t}\r\n\r\n\tformat(format, options) {\r\n\t\treturn formatNumber(\r\n\t\t\tthis,\r\n\t\t\tformat,\r\n\t\t\toptions ? { ...options, v2: true } : { v2: true },\r\n\t\t\tthis.getMetadata()\r\n\t\t)\r\n\t}\r\n\r\n\tformatNational(options) {\r\n\t\treturn this.format('NATIONAL', options)\r\n\t}\r\n\r\n\tformatInternational(options) {\r\n\t\treturn this.format('INTERNATIONAL', options)\r\n\t}\r\n\r\n\tgetURI(options) {\r\n\t\treturn this.format('RFC3966', options)\r\n\t}\r\n}\r\n\r\nconst isCountryCode = (value) => /^[A-Z]{2}$/.test(value)\r\n\r\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\r\n\tlet country\r\n\tlet countryCallingCode\r\n\r\n\tconst metadata = new Metadata(metadataJson)\r\n\t// If country code is passed then derive `countryCallingCode` from it.\r\n\t// Also store the country code as `.country`.\r\n\tif (isCountryCode(countryOrCountryCallingCode)) {\r\n\t\tcountry = countryOrCountryCallingCode\r\n\t\tmetadata.selectNumberingPlan(country)\r\n\t\tcountryCallingCode = metadata.countryCallingCode()\r\n\t} else {\r\n\t\tcountryCallingCode = countryOrCountryCallingCode\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\tif (metadata.isNonGeographicCallingCode(countryCallingCode)) {\r\n\t\t\t\tcountry = '001'\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode\r\n\t}\r\n}","import Metadata from '../metadata.js'\r\nimport { VALID_DIGITS } from '../constants.js'\r\n\r\nconst CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')\r\n\r\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\t// Check if the number is IDD-prefixed.\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tconst IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix())\r\n\tif (number.search(IDDPrefixPattern) !== 0) {\r\n\t\treturn\r\n\t}\r\n\t// Strip IDD prefix.\r\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length)\r\n\t// If there're any digits after an IDD prefix,\r\n\t// then those digits are a country calling code.\r\n\t// Since no country code starts with a `0`,\r\n\t// the code below validates that the next digit (if present) is not `0`.\r\n\tconst matchedGroups = number.match(CAPTURING_DIGIT_PATTERN)\r\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\r\n\t\tif (matchedGroups[1] === '0') {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\r\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\r\n\tif (number && metadata.numberingPlan.nationalPrefixForParsing()) {\r\n\t\t// See METADATA.md for the description of\r\n\t\t// `national_prefix_for_parsing` and `national_prefix_transform_rule`.\r\n\t\t// Attempt to parse the first digits as a national prefix.\r\n\t\tconst prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')')\r\n\t\tconst prefixMatch = prefixPattern.exec(number)\r\n\t\tif (prefixMatch) {\r\n\t\t\tlet nationalNumber\r\n\t\t\tlet carrierCode\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\t\t// If a `national_prefix_for_parsing` has any \"capturing groups\"\r\n\t\t\t// then it means that the national (significant) number is equal to\r\n\t\t\t// those \"capturing groups\" transformed via `national_prefix_transform_rule`,\r\n\t\t\t// and nothing could be said about the actual national prefix:\r\n\t\t\t// what is it and was it even there.\r\n\t\t\t// If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\r\n\t\t\t// then everything it matches is a national prefix.\r\n\t\t\t// To determine whether `national_prefix_for_parsing` matched any\r\n\t\t\t// \"capturing groups\", the value of the result of calling `.exec()`\r\n\t\t\t// is looked at, and if it has non-undefined values where there're\r\n\t\t\t// \"capturing groups\" in the regular expression, then it means\r\n\t\t\t// that \"capturing groups\" have been matched.\r\n\t\t\t// It's not possible to tell whether there'll be any \"capturing gropus\"\r\n\t\t\t// before the matching process, because a `national_prefix_for_parsing`\r\n\t\t\t// could exhibit both behaviors.\r\n\t\t\tconst capturedGroupsCount = prefixMatch.length - 1\r\n\t\t\tconst hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount]\r\n\t\t\tif (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\r\n\t\t\t\tnationalNumber = number.replace(\r\n\t\t\t\t\tprefixPattern,\r\n\t\t\t\t\tmetadata.nationalPrefixTransformRule()\r\n\t\t\t\t)\r\n\t\t\t\t// If there's more than one captured group,\r\n\t\t\t\t// then carrier code is the second one.\r\n\t\t\t\tif (capturedGroupsCount > 1) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If there're no \"capturing groups\",\r\n\t\t\t// or if there're \"capturing groups\" but no\r\n\t\t\t// `national_prefix_transform_rule`,\r\n\t\t\t// then just strip the national prefix from the number,\r\n\t\t\t// and possibly a carrier code.\r\n\t\t\t// Seems like there could be more.\r\n\t\t\telse {\r\n\t\t\t\t// `prefixBeforeNationalNumber` is the whole substring matched by\r\n\t\t\t\t// the `national_prefix_for_parsing` regular expression.\r\n\t\t\t\t// There seem to be no guarantees that it's just a national prefix.\r\n\t\t\t\t// For example, if there's a carrier code, it's gonna be a\r\n\t\t\t\t// part of `prefixBeforeNationalNumber` too.\r\n\t\t\t\tconst prefixBeforeNationalNumber = prefixMatch[0]\r\n\t\t\t\tnationalNumber = number.slice(prefixBeforeNationalNumber.length)\r\n\t\t\t\t// If there's at least one captured group,\r\n\t\t\t\t// then carrier code is the first one.\r\n\t\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Tries to guess whether a national prefix was present in the input.\r\n\t\t\t// This is not something copy-pasted from Google's library:\r\n\t\t\t// they don't seem to have an equivalent for that.\r\n\t\t\t// So this isn't an \"officially approved\" way of doing something like that.\r\n\t\t\t// But since there seems no other existing method, this library uses it.\r\n\t\t\tlet nationalPrefix\r\n\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\tconst possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1])\r\n\t\t\t\tconst possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup)\r\n\t\t\t\t// Example: an Argentinian (AR) phone number `0111523456789`.\r\n\t\t\t\t// `prefixMatch[0]` is `01115`, and `$1` is `11`,\r\n\t\t\t\t// and the rest of the phone number is `23456789`.\r\n\t\t\t\t// The national number is transformed via `9$1` to `91123456789`.\r\n\t\t\t\t// National prefix `0` is detected being present at the start.\r\n\t\t\t\t// if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\r\n\t\t\t\tif (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\r\n\t\t\t\t\tnationalPrefix = metadata.numberingPlan.nationalPrefix()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnationalPrefix = prefixMatch[0]\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tnationalPrefix,\r\n\t\t\t\tcarrierCode\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n return {\r\n \tnationalNumber: number\r\n }\r\n}","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\n\r\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumber(number, metadata) {\r\n\t// Parsing national prefixes and carrier codes\r\n\t// is only required for local phone numbers\r\n\t// but some people don't understand that\r\n\t// and sometimes write international phone numbers\r\n\t// with national prefixes (or maybe even carrier codes).\r\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\r\n\t// Google's original library forgives such mistakes\r\n\t// and so does this library, because it has been requested:\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\r\n\tconst {\r\n\t\tcarrierCode,\r\n\t\tnationalNumber\r\n\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\tnumber,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (nationalNumber !== number) {\r\n\t\tif (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\r\n\t\t\t// Don't strip the national prefix.\r\n\t\t\treturn { nationalNumber: number }\r\n\t\t}\r\n\t\t// Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t\t// Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\r\n\t\tif (metadata.possibleLengths()) {\r\n\t\t\t// The number remaining after stripping the national prefix and carrier code\r\n\t\t\t// should be long enough to have a possible length for the country.\r\n\t\t\t// Otherwise, don't strip the national prefix and carrier code,\r\n\t\t\t// since the original number could be a valid number.\r\n\t\t\t// This check has been copy-pasted \"as is\" from Google's original library:\r\n\t\t\t// https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\r\n\t\t\t// It doesn't check for the \"possibility\" of the original `number`.\r\n\t\t\t// I guess it's fine not checking that one. It works as is anyway.\r\n\t\t\tif (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\r\n\t\t\t\t// Don't strip the national prefix.\r\n\t\t\t\treturn { nationalNumber: number }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { nationalNumber, carrierCode }\r\n}\r\n\r\n// In some countries, the same digit could be a national prefix\r\n// or a leading digit of a valid phone number.\r\n// For example, in Russia, national prefix is `8`,\r\n// and also `800 555 35 35` is a valid number\r\n// in which `8` is not a national prefix, but the first digit\r\n// of a national (significant) number.\r\n// Same's with Belarus:\r\n// `82004910060` is a valid national (significant) number,\r\n// but `2004910060` is not.\r\n// To support such cases (to prevent the code from always stripping\r\n// national prefix), a condition is imposed: a national prefix\r\n// is not extracted when the original number is \"viable\" and the\r\n// resultant number is not, a \"viable\" national number being the one\r\n// that matches `national_number_pattern`.\r\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\r\n\t// The equivalent in Google's code is:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\r\n\tif (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) &&\r\n\t\t!matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\r\n\t\treturn false\r\n\t}\r\n\t// This \"is possible\" national number (length) check has been commented out\r\n\t// because it's superceded by the (effectively) same check done in the\r\n\t// `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\r\n\t// In other words, why run the same check twice if it could only be run once.\r\n\t// // Check the national (significant) number length after extracting national prefix and carrier code.\r\n\t// // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\r\n\t// // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\r\n\t// if (metadata.possibleLengths()) {\r\n\t// \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\r\n\t// \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\r\n\t// \t\treturn false\r\n\t// \t}\r\n\t// }\r\n\treturn true\r\n}\r\n\r\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'TOO_SHORT':\r\n\t\tcase 'INVALID_LENGTH':\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t\treturn false\r\n\t\tdefault:\r\n\t\t\treturn true\r\n\t}\r\n}","import Metadata from '../metadata.js'\r\nimport matchesEntirely from './matchesEntirely.js'\r\nimport extractNationalNumber from './extractNationalNumber.js'\r\nimport checkNumberLength from './checkNumberLength.js'\r\nimport getCountryCallingCode from '../getCountryCallingCode.js'\r\n\r\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\r\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tconst countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode\r\n\tif (number.indexOf(countryCallingCode) === 0) {\r\n\t\tmetadata = new Metadata(metadata)\r\n\t\tmetadata.selectNumberingPlan(country, callingCode)\r\n\t\tconst possibleShorterNumber = number.slice(countryCallingCode.length)\r\n\t\tconst {\r\n\t\t\tnationalNumber: possibleShorterNationalNumber,\r\n\t\t} = extractNationalNumber(\r\n\t\t\tpossibleShorterNumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tconst {\r\n\t\t\tnationalNumber\r\n\t\t} = extractNationalNumber(\r\n\t\t\tnumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\t// If the number was not valid before but is valid now,\r\n\t\t// or if it was too long before, we consider the number\r\n\t\t// with the country calling code stripped to be a better result\r\n\t\t// and keep that instead.\r\n\t\t// For example, in Germany (+49), `49` is a valid area code,\r\n\t\t// so if a number starts with `49`, it could be both a valid\r\n\t\t// national German number or an international number without\r\n\t\t// a leading `+`.\r\n\t\tif (\r\n\t\t\t(\r\n\t\t\t\t!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t\t&&\r\n\t\t\t\tmatchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t)\r\n\t\t\t||\r\n\t\t\tcheckNumberLength(nationalNumber, metadata) === 'TOO_LONG'\r\n\t\t) {\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: possibleShorterNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { number }\r\n}","import stripIddPrefix from './stripIddPrefix.js'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'\r\nimport Metadata from '../metadata.js'\r\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js'\r\n\r\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\r\nexport default function extractCountryCallingCode(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tlet isNumberWithIddPrefix\r\n\r\n\t// If this is not an international phone number,\r\n\t// then either extract an \"IDD\" prefix, or extract a\r\n\t// country calling code from a number by autocorrecting it\r\n\t// by prepending a leading `+` in cases when it starts\r\n\t// with the country calling code.\r\n\t// https://wikitravel.org/en/International_dialling_prefix\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\tif (number[0] !== '+') {\r\n\t\t// Convert an \"out-of-country\" dialing phone number\r\n\t\t// to a proper international phone number.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata)\r\n\t\t// If an IDD prefix was stripped then\r\n\t\t// convert the number to international one\r\n\t\t// for subsequent parsing.\r\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\r\n\t\t\tisNumberWithIddPrefix = true\r\n\t\t\tnumber = '+' + numberWithoutIDD\r\n\t\t} else {\r\n\t\t\t// Check to see if the number starts with the country calling code\r\n\t\t\t// for the default country. If so, we remove the country calling code,\r\n\t\t\t// and do some checks on the validity of the number before and after.\r\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\t\tnumber,\r\n\t\t\t\t\tcountry,\r\n\t\t\t\t\tcallingCode,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t)\r\n\t\t\t\tif (countryCallingCode) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tcountryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\r\n\t\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t// No need to set it to `UNSPECIFIED`. It can be just `undefined`.\r\n\t\t\t\t// countryCallingCodeSource: 'UNSPECIFIED',\r\n\t\t\t\tnumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[1] === '0') {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tlet i = 2\r\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tconst countryCallingCode = number.slice(1, i)\r\n\t\tif (metadata.hasCallingCode(countryCallingCode)) {\r\n\t\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: number.slice(i)\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\r\n\treturn {}\r\n}\r\n\r\n// The possible values for the returned `countryCallingCodeSource` are:\r\n//\r\n// Copy-pasted from:\r\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\r\n//\r\n// // The source from which the country_code is derived. This is not set in the\r\n// // general parsing method, but in the method that parses and keeps raw_input.\r\n// // New fields could be added upon request.\r\n// enum CountryCodeSource {\r\n// // Default value returned if this is not set, because the phone number was\r\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\r\n// // return false if this is the case.\r\n// UNSPECIFIED = 0;\r\n//\r\n// // The country_code is derived based on a phone number with a leading \"+\",\r\n// // e.g. the French number \"+33 1 42 68 53 00\".\r\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\r\n//\r\n// // The country_code is derived based on a phone number with a leading IDD,\r\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\r\n// FROM_NUMBER_WITH_IDD = 5;\r\n//\r\n// // The country_code is derived based on a phone number without a leading\r\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\r\n// // supplied as France.\r\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\r\n//\r\n// // The country_code is derived NOT based on the phone number itself, but\r\n// // from the defaultCountry parameter provided in the parsing function by the\r\n// // clients. This happens mostly for numbers written in the national format\r\n// // (without country code). For example, this would be set when parsing the\r\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\r\n// // France.\r\n// FROM_DEFAULT_COUNTRY = 20;\r\n// }","import Metadata from '../metadata.js'\r\nimport getNumberType from './getNumberType.js'\r\n\r\nexport default function getCountryByNationalNumber(nationalPhoneNumber, {\r\n\tcountries,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t// Re-create `metadata` because it will be selecting a `country`.\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tconst matchingCountries = []\r\n\r\n\tfor (const country of countries) {\r\n\t\tmetadata.country(country)\r\n\t\t// \"Leading digits\" patterns are only defined for about 20% of all countries.\r\n\t\t// By definition, matching \"leading digits\" is a sufficient but not a necessary\r\n\t\t// condition for a phone number to belong to a country.\r\n\t\t// The point of \"leading digits\" check is that it's the fastest one to get a match.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t\t// I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\r\n\t\t// because of the intended use of that feature.\r\n\t\tif (metadata.leadingDigits()) {\r\n\t\t\tif (nationalPhoneNumber &&\r\n\t\t\t\tnationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Else perform full validation with all of those\r\n\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\telse if (getNumberType({ phone: nationalPhoneNumber, country }, undefined, metadata.metadata)) {\r\n\t\t\t// If the `defaultCountry` is among the `matchingCountries` then return it.\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (country === defaultCountry) {\r\n\t\t\t\t\treturn country\r\n\t\t\t\t}\r\n\t\t\t\tmatchingCountries.push(country)\r\n\t\t\t} else {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the first (\"main\") one of the `matchingCountries`.\r\n\tif (matchingCountries.length > 0) {\r\n\t\treturn matchingCountries[0]\r\n\t}\r\n}","import getCountryByNationalNumber from './getCountryByNationalNumber.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default function getCountryByCallingCode(callingCode, {\r\n\tnationalNumber: nationalPhoneNumber,\r\n\tdefaultCountry,\r\n\tmetadata\r\n}) {\r\n\t/* istanbul ignore if */\r\n\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\tif (metadata.isNonGeographicCallingCode(callingCode)) {\r\n\t\t\treturn '001'\r\n\t\t}\r\n\t}\r\n\tconst possibleCountries = metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn\r\n\t}\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possibleCountries.length === 1) {\r\n\t\treturn possibleCountries[0]\r\n\t}\r\n\treturn getCountryByNationalNumber(nationalPhoneNumber, {\r\n\t\tcountries: possibleCountries,\r\n\t\tdefaultCountry,\r\n\t\tmetadata: metadata.metadata\r\n\t})\r\n}","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\r\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\r\n// Example: `\"tel:12133734253;phone-context=+1\"`.\r\n// This function parses the full phone number from the local number and the `phone-context`\r\n// when the `phone-context` contains a `+` sign.\r\n\r\nimport {\r\n VALID_DIGITS,\r\n // PLUS_CHARS\r\n} from '../constants.js'\r\n\r\nexport const PLUS_SIGN = '+'\r\n\r\nconst RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?'\r\n\r\nconst RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')'\r\n\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_ =\r\n\t'^' +\r\n\t'\\\\' +\r\n\tPLUS_SIGN +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'[' + VALID_DIGITS + ']' +\r\n\tRFC3966_PHONE_DIGIT_ +\r\n\t'*' +\r\n\t'$'\r\n\r\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g')\r\n\r\n// In this port of Google's library, we don't accept alpha characters in phone numbers.\r\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\r\nconst ALPHANUM_ = VALID_DIGITS\r\n\r\nconst RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst VALID_ALPHA_ = 'a-zA-Z'\r\nconst RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*'\r\n\r\nconst RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$'\r\n\r\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\r\nconst RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g')\r\n\r\nexport const RFC3966_PREFIX_ = 'tel:'\r\nexport const RFC3966_PHONE_CONTEXT_ = ';phone-context='\r\nexport const RFC3966_ISDN_SUBADDRESS_ = ';isub='\r\n\r\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\r\nexport default function extractPhoneContext(numberToExtractFrom) {\r\n\tconst indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t// If no phone-context parameter is present\r\n\tif (indexOfPhoneContext < 0) {\r\n\t\treturn null\r\n\t}\r\n\r\n\tconst phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length\r\n\t// If phone-context parameter is empty\r\n\tif (phoneContextStart >= numberToExtractFrom.length) {\r\n\t\treturn ''\r\n\t}\r\n\r\n\tconst phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart)\r\n\t// If phone-context is not the last parameter\r\n\tif (phoneContextEnd >= 0) {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart, phoneContextEnd)\r\n\t} else {\r\n\t\treturn numberToExtractFrom.substring(phoneContextStart)\r\n\t}\r\n}\r\n\r\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\r\nexport function isPhoneContextValid(phoneContext) {\r\n\tif (phoneContext === null) {\r\n\t\treturn true\r\n\t}\r\n\r\n\tif (phoneContext.length === 0) {\r\n\t\treturn false\r\n\t}\r\n\r\n\t// Does phone-context value match pattern of global-number-digits or domainname.\r\n\treturn RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) ||\r\n\t\tRFC3966_DOMAINNAME_PATTERN_.test(phoneContext)\r\n}","import extractPhoneContext, {\r\n\tisPhoneContextValid,\r\n\tPLUS_SIGN,\r\n\tRFC3966_PREFIX_,\r\n\tRFC3966_PHONE_CONTEXT_,\r\n\tRFC3966_ISDN_SUBADDRESS_\r\n} from './extractPhoneContext.js'\r\n\r\nimport ParseError from '../ParseError.js'\r\n\r\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\r\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, {\r\n\textractFormattedPhoneNumber\r\n}) {\r\n\tconst phoneContext = extractPhoneContext(numberToParse)\r\n\tif (!isPhoneContextValid(phoneContext)) {\r\n\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t}\r\n\r\n\tlet phoneNumberString\r\n\r\n\tif (phoneContext === null) {\r\n\t\t// Extract a possible number from the string passed in.\r\n\t\t// (this strips leading characters that could not be the start of a phone number)\r\n\t\tphoneNumberString = extractFormattedPhoneNumber(numberToParse) || ''\r\n\t} else {\r\n\t\tphoneNumberString = ''\r\n\r\n\t\t// If the phone context contains a phone number prefix, we need to capture\r\n\t\t// it, whereas domains will be ignored.\r\n\t\tif (phoneContext.charAt(0) === PLUS_SIGN) {\r\n\t\t\tphoneNumberString += phoneContext\r\n\t\t}\r\n\r\n\t\t// Now append everything between the \"tel:\" prefix and the phone-context.\r\n\t\t// This should include the national number, an optional extension or\r\n\t\t// isdn-subaddress component. Note we also handle the case when \"tel:\" is\r\n\t\t// missing, as we have seen in some of the phone number inputs.\r\n\t\t// In that case, we append everything from the beginning.\r\n\t\tconst indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_)\r\n\t\tlet indexOfNationalNumber\r\n\t\t// RFC 3966 \"tel:\" prefix is preset at this stage because\r\n\t\t// `isPhoneContextValid()` requires it to be present.\r\n\t\t/* istanbul ignore else */\r\n\t\tif (indexOfRfc3966Prefix >= 0) {\r\n\t\t\tindexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length\r\n\t\t} else {\r\n\t\t\tindexOfNationalNumber = 0\r\n\t\t}\r\n\t\tconst indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_)\r\n\t\tphoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext)\r\n\t}\r\n\r\n\t// Delete the isdn-subaddress and everything after it if it is present.\r\n\t// Note extension won't appear at the same time with isdn-subaddress\r\n\t// according to paragraph 5.3 of the RFC3966 spec.\r\n\tconst indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_)\r\n\tif (indexOfIsdn > 0) {\r\n\t\tphoneNumberString = phoneNumberString.substring(0, indexOfIsdn)\r\n\t}\r\n\t// If both phone context and isdn-subaddress are absent but other\r\n\t// parameters are present, the parameters are left in nationalNumber.\r\n\t// This is because we are concerned about deleting content from a potential\r\n\t// number string when there is no strong evidence that the number is\r\n\t// actually written in RFC3966.\r\n\r\n\tif (phoneNumberString !== '') {\r\n\t\treturn phoneNumberString\r\n\t}\r\n}","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tPLUS_CHARS,\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tMAX_LENGTH_FOR_NSN\r\n} from './constants.js'\r\n\r\nimport ParseError from './ParseError.js'\r\nimport Metadata from './metadata.js'\r\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js'\r\nimport extractExtension from './helpers/extension/extractExtension.js'\r\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js'\r\nimport getCountryCallingCode from './getCountryCallingCode.js'\r\nimport { isPossibleNumber } from './isPossible.js'\r\n// import { parseRFC3966 } from './helpers/RFC3966.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport matchesEntirely from './helpers/matchesEntirely.js'\r\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js'\r\nimport extractNationalNumber from './helpers/extractNationalNumber.js'\r\nimport stripIddPrefix from './helpers/stripIddPrefix.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nconst MAX_INPUT_STRING_LENGTH = 250\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nconst PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']')\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\r\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\r\nconst AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\n// Examples:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\n\r\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\r\nexport default function parse(text, options, metadata) {\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// Validate `defaultCountry`.\r\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\tthrow new Error(`Unknown country: ${options.defaultCountry}`)\r\n\t}\r\n\r\n\t// Parse the phone number.\r\n\tconst { number: formattedPhoneNumber, ext, error } = parseInput(text, options.v2, options.extract)\r\n\r\n\t// If the phone number is not viable then return nothing.\r\n\tif (!formattedPhoneNumber) {\r\n\t\tif (options.v2) {\r\n\t\t\tif (error === 'TOO_SHORT') {\r\n\t\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t\t}\r\n\t\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tnationalNumber,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tcarrierCode\r\n\t} = parsePhoneNumber(\r\n\t\tformattedPhoneNumber,\r\n\t\toptions.defaultCountry,\r\n\t\toptions.defaultCallingCode,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (!metadata.hasSelectedNumberingPlan()) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\tif (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\r\n\t\t// Won't throw here because the regexp already demands length > 1.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\tif (options.v2) {\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCallingCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tmetadata.metadata\r\n\t\t)\r\n\t\tif (country) {\r\n\t\t\tphoneNumber.country = country\r\n\t\t}\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\tif (ext) {\r\n\t\t\tphoneNumber.ext = ext\r\n\t\t}\r\n\t\tphoneNumber.__countryCallingCodeSource = countryCallingCodeSource\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t// Check if national phone number pattern matches the number.\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tconst valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ?\r\n\t\tmatchesEntirely(nationalNumber, metadata.nationalNumberPattern()) :\r\n\t\tfalse\r\n\r\n\tif (!options.extended) {\r\n\t\treturn valid ? result(country, nationalNumber, ext) : {}\r\n\t}\r\n\r\n\t// isInternational: countryCallingCode !== undefined\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode,\r\n\t\tvalid,\r\n\t\tpossible: valid ? true : (\r\n\t\t\toptions.extended === true &&\r\n\t\t\tmetadata.possibleLengths() &&\r\n\t\t\tisPossibleNumber(nationalNumber, metadata) ? true : false\r\n\t\t),\r\n\t\tphone: nationalNumber,\r\n\t\text\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\r\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\r\n\tif (!text) {\r\n\t\treturn\r\n\t}\r\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\tif (throwOnError) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\tif (extract === false) {\r\n\t\treturn text\r\n\t}\r\n\t// Attempt to extract a possible number from the string passed in\r\n\tconst startsAt = text.search(PHONE_NUMBER_START_PATTERN)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\treturn text\r\n\t\t// Trim everything to the left of the phone number\r\n\t\t.slice(startsAt)\r\n\t\t// Remove trailing non-numerical characters\r\n\t\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '')\r\n}\r\n\r\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nfunction parseInput(text, v2, extract) {\r\n\t// // Parse RFC 3966 phone number URI.\r\n\t// if (text && text.indexOf('tel:') === 0) {\r\n\t// \treturn parseRFC3966(text)\r\n\t// }\r\n\t// let number = extractFormattedPhoneNumber(text, extract, v2)\r\n\tlet number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\r\n\t\textractFormattedPhoneNumber: (text) => extractFormattedPhoneNumber(text, extract, v2)\r\n\t})\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\tif (isViablePhoneNumberStart(number)) {\r\n\t\t\treturn { error: 'TOO_SHORT' }\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\t// Attempt to parse extension first, since it doesn't require region-specific\r\n\t// data and we want to have the non-normalised number here.\r\n\tconst withExtensionStripped = extractExtension(number)\r\n\tif (withExtensionStripped.ext) {\r\n\t\treturn withExtensionStripped\r\n\t}\r\n\treturn { number }\r\n}\r\n\r\n/**\r\n * Creates `parse()` result object.\r\n */\r\nfunction result(country, nationalNumber, ext) {\r\n\tconst result = {\r\n\t\tcountry,\r\n\t\tphone: nationalNumber\r\n\t}\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\r\nfunction parsePhoneNumber(\r\n\tformattedPhoneNumber,\r\n\tdefaultCountry,\r\n\tdefaultCallingCode,\r\n\tmetadata\r\n) {\r\n\t// Extract calling code from phone number.\r\n\tlet { countryCallingCodeSource, countryCallingCode, number } = extractCountryCallingCode(\r\n\t\tparseIncompletePhoneNumber(formattedPhoneNumber),\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata.metadata\r\n\t)\r\n\r\n\t// Choose a country by `countryCallingCode`.\r\n\tlet country\r\n\tif (countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t}\r\n\t// If `formattedPhoneNumber` is passed in \"national\" format\r\n\t// then `number` is defined and `countryCallingCode` is `undefined`.\r\n\telse if (number && (defaultCountry || defaultCallingCode)) {\r\n\t\tmetadata.selectNumberingPlan(defaultCountry, defaultCallingCode)\r\n\t\tif (defaultCountry) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tcountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcountryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata)\r\n\t}\r\n\telse return {}\r\n\r\n\tif (!number) {\r\n\t\treturn {\r\n\t\t\tcountryCallingCodeSource,\r\n\t\t\tcountryCallingCode\r\n\t\t}\r\n\t}\r\n\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumber(\r\n\t\tparseIncompletePhoneNumber(number),\r\n\t\tmetadata\r\n\t)\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t// get their countries populated with the full set of\r\n\t// \"phone number type\" regular expressions.\r\n\t//\r\n\tconst exactCountry = getCountryByCallingCode(countryCallingCode, {\r\n\t\tnationalNumber,\r\n\t\tdefaultCountry,\r\n\t\tmetadata\r\n\t})\r\n\tif (exactCountry) {\r\n\t\tcountry = exactCountry\r\n\t\t/* istanbul ignore if */\r\n\t\tif (exactCountry === '001') {\r\n\t\t\t// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\r\n\t\t\t// If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\r\n\t\t\t// then remove the \"istanbul ignore if\".\r\n\t\t} else {\r\n\t\t\tmetadata.country(country)\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcountryCallingCodeSource,\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t}\r\n}","import parse from './parse.js'\r\n\r\nexport default function parsePhoneNumberWithError(text, options, metadata) {\r\n\treturn parse(text, { ...options, v2: true }, metadata)\r\n}","import parsePhoneNumberWithError from './parsePhoneNumberWithError_.js'\r\nimport ParseError from './ParseError.js'\r\nimport { isSupportedCountry } from './metadata.js'\r\n\r\nexport default function parsePhoneNumber(text, options, metadata) {\r\n\t// Validate `defaultCountry`.\r\n\tif (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\r\n\t\toptions = {\r\n\t\t\t...options,\r\n\t\t\tdefaultCountry: undefined\r\n\t\t}\r\n\t}\r\n\t// Parse phone number.\r\n\ttry {\r\n\t\treturn parsePhoneNumberWithError(text, options, metadata)\r\n\t} catch (error) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (error instanceof ParseError) {\r\n\t\t\t//\r\n\t\t} else {\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}\r\n}\r\n","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber from './parsePhoneNumber_.js'\r\n\r\nexport default function isValidPhoneNumber() {\r\n\tlet { text, options, metadata } = normalizeArguments(arguments)\r\n\toptions = {\r\n\t\t...options,\r\n\t\textract: false\r\n\t}\r\n\tconst phoneNumber = parsePhoneNumber(text, options, metadata)\r\n\treturn phoneNumber && phoneNumber.isValid() || false\r\n}","export default {\n \"ext\": \"ext.\",\n \"country\": \"Phone number country\",\n \"phone\": \"Phone\",\n \"AB\": \"Abkhazia\",\n \"AC\": \"Ascension Island\",\n \"AD\": \"Andorra\",\n \"AE\": \"United Arab Emirates\",\n \"AF\": \"Afghanistan\",\n \"AG\": \"Antigua and Barbuda\",\n \"AI\": \"Anguilla\",\n \"AL\": \"Albania\",\n \"AM\": \"Armenia\",\n \"AO\": \"Angola\",\n \"AQ\": \"Antarctica\",\n \"AR\": \"Argentina\",\n \"AS\": \"American Samoa\",\n \"AT\": \"Austria\",\n \"AU\": \"Australia\",\n \"AW\": \"Aruba\",\n \"AX\": \"Åland Islands\",\n \"AZ\": \"Azerbaijan\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BB\": \"Barbados\",\n \"BD\": \"Bangladesh\",\n \"BE\": \"Belgium\",\n \"BF\": \"Burkina Faso\",\n \"BG\": \"Bulgaria\",\n \"BH\": \"Bahrain\",\n \"BI\": \"Burundi\",\n \"BJ\": \"Benin\",\n \"BL\": \"Saint Barthélemy\",\n \"BM\": \"Bermuda\",\n \"BN\": \"Brunei Darussalam\",\n \"BO\": \"Bolivia\",\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"BR\": \"Brazil\",\n \"BS\": \"Bahamas\",\n \"BT\": \"Bhutan\",\n \"BV\": \"Bouvet Island\",\n \"BW\": \"Botswana\",\n \"BY\": \"Belarus\",\n \"BZ\": \"Belize\",\n \"CA\": \"Canada\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CD\": \"Congo, Democratic Republic of the\",\n \"CF\": \"Central African Republic\",\n \"CG\": \"Congo\",\n \"CH\": \"Switzerland\",\n \"CI\": \"Cote d'Ivoire\",\n \"CK\": \"Cook Islands\",\n \"CL\": \"Chile\",\n \"CM\": \"Cameroon\",\n \"CN\": \"China\",\n \"CO\": \"Colombia\",\n \"CR\": \"Costa Rica\",\n \"CU\": \"Cuba\",\n \"CV\": \"Cape Verde\",\n \"CW\": \"Curaçao\",\n \"CX\": \"Christmas Island\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DE\": \"Germany\",\n \"DJ\": \"Djibouti\",\n \"DK\": \"Denmark\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"DZ\": \"Algeria\",\n \"EC\": \"Ecuador\",\n \"EE\": \"Estonia\",\n \"EG\": \"Egypt\",\n \"EH\": \"Western Sahara\",\n \"ER\": \"Eritrea\",\n \"ES\": \"Spain\",\n \"ET\": \"Ethiopia\",\n \"FI\": \"Finland\",\n \"FJ\": \"Fiji\",\n \"FK\": \"Falkland Islands\",\n \"FM\": \"Federated States of Micronesia\",\n \"FO\": \"Faroe Islands\",\n \"FR\": \"France\",\n \"GA\": \"Gabon\",\n \"GB\": \"United Kingdom\",\n \"GD\": \"Grenada\",\n \"GE\": \"Georgia\",\n \"GF\": \"French Guiana\",\n \"GG\": \"Guernsey\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GL\": \"Greenland\",\n \"GM\": \"Gambia\",\n \"GN\": \"Guinea\",\n \"GP\": \"Guadeloupe\",\n \"GQ\": \"Equatorial Guinea\",\n \"GR\": \"Greece\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"GT\": \"Guatemala\",\n \"GU\": \"Guam\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HK\": \"Hong Kong\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"HN\": \"Honduras\",\n \"HR\": \"Croatia\",\n \"HT\": \"Haiti\",\n \"HU\": \"Hungary\",\n \"ID\": \"Indonesia\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IM\": \"Isle of Man\",\n \"IN\": \"India\",\n \"IO\": \"British Indian Ocean Territory\",\n \"IQ\": \"Iraq\",\n \"IR\": \"Iran\",\n \"IS\": \"Iceland\",\n \"IT\": \"Italy\",\n \"JE\": \"Jersey\",\n \"JM\": \"Jamaica\",\n \"JO\": \"Jordan\",\n \"JP\": \"Japan\",\n \"KE\": \"Kenya\",\n \"KG\": \"Kyrgyzstan\",\n \"KH\": \"Cambodia\",\n \"KI\": \"Kiribati\",\n \"KM\": \"Comoros\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"KP\": \"North Korea\",\n \"KR\": \"South Korea\",\n \"KW\": \"Kuwait\",\n \"KY\": \"Cayman Islands\",\n \"KZ\": \"Kazakhstan\",\n \"LA\": \"Laos\",\n \"LB\": \"Lebanon\",\n \"LC\": \"Saint Lucia\",\n \"LI\": \"Liechtenstein\",\n \"LK\": \"Sri Lanka\",\n \"LR\": \"Liberia\",\n \"LS\": \"Lesotho\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"LV\": \"Latvia\",\n \"LY\": \"Libya\",\n \"MA\": \"Morocco\",\n \"MC\": \"Monaco\",\n \"MD\": \"Moldova\",\n \"ME\": \"Montenegro\",\n \"MF\": \"Saint Martin (French Part)\",\n \"MG\": \"Madagascar\",\n \"MH\": \"Marshall Islands\",\n \"MK\": \"North Macedonia\",\n \"ML\": \"Mali\",\n \"MM\": \"Myanmar\",\n \"MN\": \"Mongolia\",\n \"MO\": \"Macao\",\n \"MP\": \"Northern Mariana Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MS\": \"Montserrat\",\n \"MT\": \"Malta\",\n \"MU\": \"Mauritius\",\n \"MV\": \"Maldives\",\n \"MW\": \"Malawi\",\n \"MX\": \"Mexico\",\n \"MY\": \"Malaysia\",\n \"MZ\": \"Mozambique\",\n \"NA\": \"Namibia\",\n \"NC\": \"New Caledonia\",\n \"NE\": \"Niger\",\n \"NF\": \"Norfolk Island\",\n \"NG\": \"Nigeria\",\n \"NI\": \"Nicaragua\",\n \"NL\": \"Netherlands\",\n \"NO\": \"Norway\",\n \"NP\": \"Nepal\",\n \"NR\": \"Nauru\",\n \"NU\": \"Niue\",\n \"NZ\": \"New Zealand\",\n \"OM\": \"Oman\",\n \"OS\": \"South Ossetia\",\n \"PA\": \"Panama\",\n \"PE\": \"Peru\",\n \"PF\": \"French Polynesia\",\n \"PG\": \"Papua New Guinea\",\n \"PH\": \"Philippines\",\n \"PK\": \"Pakistan\",\n \"PL\": \"Poland\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"PN\": \"Pitcairn\",\n \"PR\": \"Puerto Rico\",\n \"PS\": \"Palestine\",\n \"PT\": \"Portugal\",\n \"PW\": \"Palau\",\n \"PY\": \"Paraguay\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RS\": \"Serbia\",\n \"RU\": \"Russia\",\n \"RW\": \"Rwanda\",\n \"SA\": \"Saudi Arabia\",\n \"SB\": \"Solomon Islands\",\n \"SC\": \"Seychelles\",\n \"SD\": \"Sudan\",\n \"SE\": \"Sweden\",\n \"SG\": \"Singapore\",\n \"SH\": \"Saint Helena\",\n \"SI\": \"Slovenia\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SK\": \"Slovakia\",\n \"SL\": \"Sierra Leone\",\n \"SM\": \"San Marino\",\n \"SN\": \"Senegal\",\n \"SO\": \"Somalia\",\n \"SR\": \"Suriname\",\n \"SS\": \"South Sudan\",\n \"ST\": \"Sao Tome and Principe\",\n \"SV\": \"El Salvador\",\n \"SX\": \"Sint Maarten\",\n \"SY\": \"Syria\",\n \"SZ\": \"Swaziland\",\n \"TA\": \"Tristan da Cunha\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TD\": \"Chad\",\n \"TF\": \"French Southern Territories\",\n \"TG\": \"Togo\",\n \"TH\": \"Thailand\",\n \"TJ\": \"Tajikistan\",\n \"TK\": \"Tokelau\",\n \"TL\": \"Timor-Leste\",\n \"TM\": \"Turkmenistan\",\n \"TN\": \"Tunisia\",\n \"TO\": \"Tonga\",\n \"TR\": \"Turkey\",\n \"TT\": \"Trinidad and Tobago\",\n \"TV\": \"Tuvalu\",\n \"TW\": \"Taiwan\",\n \"TZ\": \"Tanzania\",\n \"UA\": \"Ukraine\",\n \"UG\": \"Uganda\",\n \"UM\": \"United States Minor Outlying Islands\",\n \"US\": \"United States\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"VE\": \"Venezuela\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"VN\": \"Vietnam\",\n \"VU\": \"Vanuatu\",\n \"WF\": \"Wallis and Futuna\",\n \"WS\": \"Samoa\",\n \"XK\": \"Kosovo\",\n \"YE\": \"Yemen\",\n \"YT\": \"Mayotte\",\n \"ZA\": \"South Africa\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"ZZ\": \"International\"\n}","import PropTypes from 'prop-types'\r\n\r\nexport const metadata = PropTypes.shape({\r\n\tcountry_calling_codes : PropTypes.object.isRequired,\r\n\tcountries : PropTypes.object.isRequired\r\n})\r\n\r\nexport const labels = PropTypes.objectOf(PropTypes.string)","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\r\n//\r\n// Example:\r\n//\r\n// value - '88005553535'\r\n// caret - 2 // starting from 0; is positioned before the first zero\r\n// operation - 'Backspace'\r\n//\r\n// Returns\r\n// {\r\n// \tvalue: '8005553535'\r\n// \tcaret: 1\r\n// }\r\n//\r\n// Currently supports just 'Delete' and 'Backspace' operations\r\n//\r\nexport default function edit(value, caret, operation)\r\n{\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Backspace':\r\n\t\t\t// If there exists the previous character,\r\n\t\t\t// then erase it and reposition the caret.\r\n\t\t\tif (caret > 0)\r\n\t\t\t{\r\n\t\t\t\t// Remove the previous character\r\n\t\t\t\tvalue = value.slice(0, caret - 1) + value.slice(caret)\r\n\t\t\t\t// Position the caret where the previous (erased) character was\r\n\t\t\t\tcaret--\r\n\t\t\t}\r\n\t\t\tbreak\r\n\r\n\t\tcase 'Delete':\r\n\t\t\t// Remove current digit (if any)\r\n\t\t\tvalue = value.slice(0, caret) + value.slice(caret + 1)\r\n\t\t\tbreak\r\n\t}\r\n\r\n\treturn { value, caret }\r\n}","// Parses the `text`.\r\n//\r\n// Returns `{ value, caret }` where `caret` is\r\n// the caret position inside `value`\r\n// corresponding to the `caret_position` inside `text`.\r\n//\r\n// The `text` is parsed by feeding each character sequentially to\r\n// `parse_character(character, value)` function\r\n// and appending the result (if it's not `undefined`) to `value`.\r\n//\r\n// Example:\r\n//\r\n// `text` is `8 (800) 555-35-35`,\r\n// `caret_position` is `4` (before the first `0`).\r\n// `parse_character` is `(character, value) =>\r\n// if (character >= '0' && character <= '9') { return character }`.\r\n//\r\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\r\n//\r\nexport default function parse(text, caret_position, parse_character)\r\n{\r\n\tlet value = ''\r\n\r\n\tlet focused_input_character_index = 0\r\n\r\n\tlet index = 0\r\n\twhile (index < text.length)\r\n\t{\r\n\t\tconst character = parse_character(text[index], value)\r\n\r\n\t\tif (character !== undefined)\r\n\t\t{\r\n\t\t\tvalue += character\r\n\r\n\t\t\tif (caret_position !== undefined)\r\n\t\t\t{\r\n\t\t\t\tif (caret_position === index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length - 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (caret_position > index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t}\r\n\r\n\t\tindex++\r\n\t}\r\n\r\n\t// If caret position wasn't specified\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\t// Then set caret position to \"after the last input character\"\r\n\t\tfocused_input_character_index = value.length\r\n\t}\r\n\r\n\tconst result =\r\n\t{\r\n\t\tvalue,\r\n\t\tcaret : focused_input_character_index\r\n\t}\r\n\r\n\treturn result\r\n}","// Counts all occurences of a symbol in a string\r\nexport function count_occurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes)\r\n\t// but template placeholder characters don't fall into that range\r\n\t// so skipping such miscellaneous \"exotic\" characters\r\n\t// won't matter here for just counting placeholder character occurrences.\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}","import { count_occurences } from './helpers.js'\r\n\r\nexport default function closeBraces(retained_template, template, placeholder = 'x', empty_placeholder = ' ')\r\n{\r\n\tlet cut_before = retained_template.length\r\n\r\n\tconst opening_braces = count_occurences('(', retained_template)\r\n\tconst closing_braces = count_occurences(')', retained_template)\r\n\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\r\n\twhile (dangling_braces > 0 && cut_before < template.length)\r\n\t{\r\n\t\tretained_template += template[cut_before].replace(placeholder, empty_placeholder)\r\n\r\n\t\tif (template[cut_before] === ')')\r\n\t\t{\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\r\n\t\tcut_before++\r\n\t}\r\n\r\n\treturn retained_template\r\n}\r\n","import { count_occurences } from './helpers.js'\r\nimport close_braces from './closeBraces.js'\r\n\r\n// Takes a `template` where character placeholders\r\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\r\n//\r\n// Returns a function which takes `value` characters\r\n// and returns the `template` filled with those characters.\r\n// If the `template` can only be partially filled\r\n// then it is cut off.\r\n//\r\n// If `should_close_braces` is `true`,\r\n// then it will also make sure all dangling braces are closed,\r\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\r\n//\r\nexport default function(template, placeholder = 'x', should_close_braces)\r\n{\r\n\tif (!template)\r\n\t{\r\n\t\treturn value => ({ text: value })\r\n\t}\r\n\r\n\tconst characters_in_template = count_occurences(placeholder, template)\r\n\r\n\treturn function(value)\r\n\t{\r\n\t\tif (!value)\r\n\t\t{\r\n\t\t\treturn { text: '', template }\r\n\t\t}\r\n\r\n\t\tlet value_character_index = 0\r\n\t\tlet filled_in_template = ''\r\n\r\n\t\t// Using `.split('')` here instead of normal `for ... of`\r\n\t\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t\t// (the ones consisting of four bytes)\r\n\t\t// but template placeholder characters don't fall into that range\r\n\t\t// and appending UTF-8 characters to a string in parts still works.\r\n\t\tfor (const character of template.split(''))\r\n\t\t{\r\n\t\t\tif (character !== placeholder)\r\n\t\t\t{\r\n\t\t\t\tfilled_in_template += character\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\r\n\t\t\tfilled_in_template += value[value_character_index]\r\n\t\t\tvalue_character_index++\r\n\r\n\t\t\t// If the last available value character has been filled in,\r\n\t\t\t// then return the filled in template\r\n\t\t\t// (either trim the right part or retain it,\r\n\t\t\t// if no more character placeholders in there)\r\n\t\t\tif (value_character_index === value.length)\r\n\t\t\t{\r\n\t\t\t\t// If there are more character placeholders\r\n\t\t\t\t// in the right part of the template\r\n\t\t\t\t// then simply trim it.\r\n\t\t\t\tif (value.length < characters_in_template)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (should_close_braces)\r\n\t\t{\r\n\t\t\tfilled_in_template = close_braces(filled_in_template, template)\r\n\t\t}\r\n\r\n\t\treturn { text: filled_in_template, template }\r\n\t}\r\n}","import template_formatter from './templateFormatter.js'\r\n\r\n// Formats `value` value preserving `caret` at the same character.\r\n//\r\n// `{ value, caret }` attribute is the result of `parse()` function call.\r\n//\r\n// Returns `{ text, caret }` where the new `caret` is the caret position\r\n// inside `text` text corresponding to the original `caret` position inside `value`.\r\n//\r\n// `formatter(value)` is a function returning `{ text, template }`.\r\n//\r\n// `text` is the `value` value formatted using `template`.\r\n// It may either cut off the non-filled right part of the `template`\r\n// or it may fill the non-filled character placeholders\r\n// in the right part of the `template` with `spacer`\r\n// which is a space (' ') character by default.\r\n//\r\n// `template` is the template used to format the `value`.\r\n// It can be either a full-length template or a partial template.\r\n//\r\n// `formatter` can also be a string — a `template`\r\n// where character placeholders are denoted by 'x'es.\r\n// In this case `formatter` function is automatically created.\r\n//\r\n// Example:\r\n//\r\n// `value` is '880',\r\n// `caret` is `2` (before the first `0`)\r\n//\r\n// `formatter` is `'880' =>\r\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\r\n//\r\n// The result is `{ text: '8 (80 )', caret: 4 }`.\r\n//\r\nexport default function format(value, caret, formatter)\r\n{\r\n\tif (typeof formatter === 'string')\r\n\t{\r\n\t\tformatter = template_formatter(formatter)\r\n\t}\r\n\r\n\tlet { text, template } = formatter(value) || {}\r\n\r\n\tif (text === undefined)\r\n\t{\r\n\t\t text = value\r\n\t}\r\n\r\n\tif (template)\r\n\t{\r\n\t\tif (caret === undefined)\r\n\t\t{\r\n\t\t\tcaret = text.length\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet index = 0\r\n\t\t\tlet found = false\r\n\r\n\t\t\tlet possibly_last_input_character_index = -1\r\n\r\n\t\t\twhile (index < text.length && index < template.length)\r\n\t\t\t{\r\n\t\t\t\t// Character placeholder found\r\n\t\t\t\tif (text[index] !== template[index])\r\n\t\t\t\t{\r\n\t\t\t\t\tif (caret === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfound = true\r\n\t\t\t\t\t\tcaret = index\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tpossibly_last_input_character_index = index\r\n\r\n\t\t\t\t\tcaret--\r\n\t\t\t\t}\r\n\r\n\t\t\t\tindex++\r\n\t\t\t}\r\n\r\n\t\t\t// If the caret was positioned after last input character,\r\n\t\t\t// then the text caret index is just after the last input character.\r\n\t\t\tif (!found)\r\n\t\t\t{\r\n\t\t\t\tcaret = possibly_last_input_character_index + 1\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { text, caret }\r\n}","export function isReadOnly(element)\r\n{\r\n\treturn element.hasAttribute('readonly')\r\n}\r\n\r\n// Gets selection bounds\r\nexport function getSelection(element)\r\n{\r\n\t// If no selection, return nothing\r\n\tif (element.selectionStart === element.selectionEnd)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\treturn { start: element.selectionStart, end: element.selectionEnd }\r\n}\r\n\r\n// Key codes\r\nexport const Keys =\r\n{\r\n\tBackspace : 8,\r\n\tDelete : 46\r\n}\r\n\r\n// Finds out the operation to be intercepted and performed\r\n// based on the key down event `keyCode`.\r\nexport function getOperation(event)\r\n{\r\n\tswitch (event.keyCode)\r\n\t{\r\n\t\tcase Keys.Backspace:\r\n\t\t\treturn 'Backspace'\r\n\r\n\t\tcase Keys.Delete:\r\n\t\t\treturn 'Delete'\r\n\t}\r\n}\r\n\r\n// Gets caret position\r\nexport function getCaretPosition(element)\r\n{\r\n\treturn element.selectionStart\r\n}\r\n\r\n// Sets caret position\r\nexport function setCaretPosition(element, caret_position)\r\n{\r\n\t// Sanity check\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\t// Set caret position.\r\n\t// There has been an issue with caret positioning on Android devices.\r\n\t// https://github.com/catamphetamine/input-format/issues/2\r\n\t// I was revisiting this issue and looked for similar issues in other libraries.\r\n\t// For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\r\n\t// They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\r\n\t// The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\r\n\t// https://github.com/text-mask/text-mask/issues/300\r\n\t// They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\r\n\t// https://github.com/text-mask/text-mask/pull/400/files\r\n\t// I've implemented the same workaround here.\r\n\tif (isAndroid()) {\r\n setTimeout(() => element.setSelectionRange(caret_position, caret_position), 0)\r\n\t} else {\r\n\t\telement.setSelectionRange(caret_position, caret_position)\r\n\t}\r\n}\r\n\r\nfunction isAndroid() {\r\n\t// `navigator` is not defined when running mocha tests.\r\n\tif (typeof navigator !== 'undefined') {\r\n\t\treturn ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent)\r\n\t}\r\n}\r\n\r\nconst ANDROID_USER_AGENT_REG_EXP = /Android/i","import edit from './edit.js'\r\nimport parse from './parse.js'\r\nimport format from './format.js'\r\n\r\nimport\r\n{\r\n\tisReadOnly,\r\n\tgetOperation,\r\n\tgetSelection,\r\n\tgetCaretPosition,\r\n\tsetCaretPosition\r\n}\r\nfrom './dom.js'\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onCut(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// The actual cut hasn't happened just yet hence the timeout.\r\n\tsetTimeout(() => formatInputText(input, _parse, _format, undefined, on_change), 0)\r\n}\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onPaste(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst selection = getSelection(input)\r\n\r\n\t// If selection is made,\r\n\t// just erase the selected text\r\n\t// prior to pasting\r\n\tif (selection)\r\n\t{\r\n\t\teraseSelection(input, selection)\r\n\t}\r\n\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\nexport function onChange(event, input, _parse, _format, on_change)\r\n{\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\n// \"Delete\" and \"Backspace\" keys are special\r\n// in a way that they're not handled by the regular `onChange()` handler\r\n// and instead are intercepted and re-applied manually.\r\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\r\n// results in erasing a character, but that character might be any character,\r\n// while it would be a better \"user experience\" if it erased not just any character\r\n// but the closest \"meaningful\" character.\r\n// For example, if a template is `(xxx) xxx-xxxx`,\r\n// and the `` value is `(111) 222-3333`,\r\n// then, if a user begins erasing the `3333` part via \"Backspace\"\r\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\r\n// Nothing wrong with that, but it would be a better \"user experience\"\r\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\r\n// character, which would be the rightmost `2`.\r\n// So, what this `onKeyDown()` handler does is it intercepts\r\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\r\n// following the logic described above.\r\nexport function onKeyDown(event, input, _parse, _format, on_change)\r\n{\r\n\tif (isReadOnly(input)) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst operation = getOperation(event)\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Delete':\r\n\t\tcase 'Backspace':\r\n\t\t\t// Intercept this operation and perform it manually.\r\n\t\t\tevent.preventDefault()\r\n\r\n\t\t\tconst selection = getSelection(input)\r\n\r\n\t\t\t// If a selection is made, just erase the selected text.\r\n\t\t\tif (selection)\r\n\t\t\t{\r\n\t\t\t\teraseSelection(input, selection)\r\n\t\t\t\treturn formatInputText(input, _parse, _format, undefined, on_change)\r\n\t\t\t}\r\n\r\n\t\t\t// Else, perform the (character erasing) operation manually.\r\n\t\t\treturn formatInputText(input, _parse, _format, operation, on_change)\r\n\r\n\t\tdefault:\r\n\t\t\t// Will be handled normally as part of the `onChange` handler.\r\n\t}\r\n}\r\n\r\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\r\nfunction eraseSelection(input, selection)\r\n{\r\n\tlet text = input.value\r\n\ttext = text.slice(0, selection.start) + text.slice(selection.end)\r\n\r\n\tinput.value = text\r\n\tsetCaretPosition(input, selection.start)\r\n}\r\n\r\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\r\nfunction formatInputText(input, _parse, _format, operation, on_change)\r\n{\r\n\t// Parse `` textual value.\r\n\t// Get the `value` and `caret` position.\r\n\tlet { value, caret } = parse(input.value, getCaretPosition(input), _parse)\r\n\r\n\t// If a user performed an operation (\"Backspace\", \"Delete\")\r\n\t// then apply that operation and get the new `value` and `caret` position.\r\n\tif (operation)\r\n\t{\r\n\t\tconst newValueAndCaret = edit(value, caret, operation)\r\n\r\n\t\tvalue = newValueAndCaret.value\r\n\t\tcaret = newValueAndCaret.caret\r\n\t}\r\n\r\n\t// Format the `value`.\r\n\t// (and reposition the caret accordingly)\r\n\tconst formatted = format(value, caret, _format)\r\n\r\n\tconst text = formatted.text\r\n\tcaret = formatted.caret\r\n\r\n\t// Set `` textual value manually\r\n\t// to prevent React from resetting the caret position\r\n\t// later inside a subsequent `render()`.\r\n\t// Doesn't work for custom `inputComponent`s for some reason.\r\n\tinput.value = text\r\n\t// Position the caret properly.\r\n\tsetCaretPosition(input, caret)\r\n\r\n\t// If the `` textual value did change,\r\n\t// then the parsed `value` may have changed too.\r\n\ton_change(value)\r\n}","// This is just `./ReactInput.js` rewritten in Hooks.\r\n\r\nimport React, { useCallback, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport {\r\n\tonChange as onInputChange,\r\n\tonKeyDown as onInputKeyDown\r\n} from '../inputControl.js'\r\n\r\n// Usage:\r\n//\r\n// this.setState({ phone })}\r\n// \tparse={character => character}\r\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\r\n//\r\nfunction Input({\r\n\tvalue,\r\n\tparse,\r\n\tformat,\r\n\tinputComponent: InputComponent,\r\n\tonChange,\r\n\tonKeyDown,\r\n\t...rest\r\n}, ref) {\r\n\tconst internalRef = useRef();\r\n\tconst setRef = useCallback((instance) => {\r\n\t\tinternalRef.current = instance;\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}, [ref]);\r\n\tconst _onChange = useCallback((event) => {\r\n\t\treturn onInputChange(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange])\r\n\r\n\tconst _onKeyDown = useCallback((event) => {\r\n\t\tif (onKeyDown) {\r\n\t\t\tonKeyDown(event)\r\n\t\t}\r\n\t\treturn onInputKeyDown(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange, onKeyDown])\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nInput = React.forwardRef(Input)\r\n\r\nInput.propTypes = {\r\n\t// Parses a single characher of `` text.\r\n\tparse: PropTypes.func.isRequired,\r\n\r\n\t// Formats `value` into `` text.\r\n\tformat: PropTypes.func.isRequired,\r\n\r\n\t// Renders `` by default.\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t// `` `type` attribute.\r\n\ttype: PropTypes.string.isRequired,\r\n\r\n\t// Is parsed from text.\r\n\tvalue: PropTypes.string,\r\n\r\n\t// This handler is called each time `` text is changed.\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// Passthrough\r\n\tonKeyDown: PropTypes.func,\r\n\tonCut: PropTypes.func,\r\n\tonPaste: PropTypes.func\r\n}\r\n\r\nInput.defaultProps = {\r\n\t// Renders `` by default.\r\n\tinputComponent: 'input',\r\n\r\n\t// `` `type` attribute.\r\n\ttype: 'text'\r\n}\r\n\r\nexport default Input\r\n\r\nfunction isEmptyValue(value) {\r\n\treturn value === undefined || value === null\r\n}","// This \"state\" object simply holds the state of the \"AsYouType\" parser:\r\n//\r\n// * `country?: string`\r\n// * `callingCode?: string`\r\n// * `digits: string`\r\n// * `international: boolean`\r\n// * `missingPlus: boolean`\r\n// * `IDDPrefix?: string`\r\n// * `carrierCode?: string`\r\n// * `nationalPrefix?: string`\r\n// * `nationalSignificantNumber?: string`\r\n// * `nationalSignificantNumberMatchesInput: boolean`\r\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\r\n//\r\n// `state.country` and `state.callingCode` aren't required to be in sync.\r\n// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\r\n// So `state.country` and `state.callingCode` are totally independent.\r\n//\r\nexport default class AsYouTypeState {\r\n\tconstructor({ onCountryChange, onCallingCodeChange }) {\r\n\t\tthis.onCountryChange = onCountryChange\r\n\t\tthis.onCallingCodeChange = onCallingCodeChange\r\n\t}\r\n\r\n\treset({ country, callingCode }) {\r\n\t\tthis.international = false\r\n\t\tthis.missingPlus = false\r\n\t\tthis.IDDPrefix = undefined\r\n\t\tthis.callingCode = undefined\r\n\t\tthis.digits = ''\r\n\t\tthis.resetNationalSignificantNumber()\r\n\t\tthis.initCountryAndCallingCode(country, callingCode)\r\n\t}\r\n\r\n\tresetNationalSignificantNumber() {\r\n\t\tthis.nationalSignificantNumber = this.getNationalDigits()\r\n\t\tthis.nationalSignificantNumberMatchesInput = true\r\n\t\tthis.nationalPrefix = undefined\r\n\t\tthis.carrierCode = undefined\r\n\t\tthis.complexPrefixBeforeNationalSignificantNumber = undefined\r\n\t}\r\n\r\n\tupdate(properties) {\r\n\t\tfor (const key of Object.keys(properties)) {\r\n\t\t\tthis[key] = properties[key]\r\n\t\t}\r\n\t}\r\n\r\n\tinitCountryAndCallingCode(country, callingCode) {\r\n\t\tthis.setCountry(country)\r\n\t\tthis.setCallingCode(callingCode)\r\n\t}\r\n\r\n\tsetCountry(country) {\r\n\t\tthis.country = country\r\n\t\tthis.onCountryChange(country)\r\n\t}\r\n\r\n\tsetCallingCode(callingCode) {\r\n\t\tthis.callingCode = callingCode\r\n\t\tthis.onCallingCodeChange(callingCode, this.country)\r\n\t}\r\n\r\n\tstartInternationalNumber(country, callingCode) {\r\n\t\t// Prepend the `+` to parsed input.\r\n\t\tthis.international = true\r\n\t\t// If a default country was set then reset it\r\n\t\t// because an explicitly international phone\r\n\t\t// number is being entered.\r\n\t\tthis.initCountryAndCallingCode(country, callingCode)\r\n\t}\r\n\r\n\tappendDigits(nextDigits) {\r\n\t\tthis.digits += nextDigits\r\n\t}\r\n\r\n\tappendNationalSignificantNumberDigits(nextDigits) {\r\n\t\tthis.nationalSignificantNumber += nextDigits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the part of `this.digits` that corresponds to the national number.\r\n\t * Basically, all digits that have been input by the user, except for the\r\n\t * international prefix and the country calling code part\r\n\t * (if the number is an international one).\r\n\t * @return {string}\r\n\t */\r\n\tgetNationalDigits() {\r\n\t\tif (this.international) {\r\n\t\t\treturn this.digits.slice(\r\n\t\t\t\t(this.IDDPrefix ? this.IDDPrefix.length : 0) +\r\n\t\t\t\t(this.callingCode ? this.callingCode.length : 0)\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n\r\n\tgetDigitsWithoutInternationalPrefix() {\r\n\t\tif (this.international) {\r\n\t\t\tif (this.IDDPrefix) {\r\n\t\t\t\treturn this.digits.slice(this.IDDPrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n}","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\r\nexport const DIGIT_PLACEHOLDER = 'x' // '\\u2008' (punctuation space)\r\nconst DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER)\r\n\r\n// Counts all occurences of a symbol in a string.\r\n// Unicode-unsafe (because using `.split()`).\r\nexport function countOccurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for counting brackets it is safe.\r\n\t// for (const character of string)\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}\r\n\r\n// Repeats a string (or a symbol) N times.\r\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\r\nexport function repeat(string, times) {\r\n\tif (times < 1) {\r\n\t\treturn ''\r\n\t}\r\n\tlet result = ''\r\n\twhile (times > 1) {\r\n\t\tif (times & 1) {\r\n\t\t\tresult += string\r\n\t\t}\r\n\t\ttimes >>= 1\r\n\t\tstring += string\r\n\t}\r\n\treturn result + string\r\n}\r\n\r\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\r\n\tif (string[cutBeforeIndex] === ')') {\r\n\t\tcutBeforeIndex++\r\n\t}\r\n\treturn stripNonPairedParens(string.slice(0, cutBeforeIndex))\r\n}\r\n\r\nexport function closeNonPairedParens(template, cut_before) {\r\n\tconst retained_template = template.slice(0, cut_before)\r\n\tconst opening_braces = countOccurences('(', retained_template)\r\n\tconst closing_braces = countOccurences(')', retained_template)\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\twhile (dangling_braces > 0 && cut_before < template.length) {\r\n\t\tif (template[cut_before] === ')') {\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\t\tcut_before++\r\n\t}\r\n\treturn template.slice(0, cut_before)\r\n}\r\n\r\nexport function stripNonPairedParens(string) {\r\n\tconst dangling_braces =[]\r\n\tlet i = 0\r\n\twhile (i < string.length) {\r\n\t\tif (string[i] === '(') {\r\n\t\t\tdangling_braces.push(i)\r\n\t\t}\r\n\t\telse if (string[i] === ')') {\r\n\t\t\tdangling_braces.pop()\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\tlet start = 0\r\n\tlet cleared_string = ''\r\n\tdangling_braces.push(string.length)\r\n\tfor (const index of dangling_braces) {\r\n\t\tcleared_string += string.slice(start, index)\r\n\t\tstart = index + 1\r\n\t}\r\n\treturn cleared_string\r\n}\r\n\r\nexport function populateTemplateWithDigits(template, position, digits) {\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for `digits` it is safe.\r\n\t// for (const digit of digits)\r\n\tfor (const digit of digits.split('')) {\r\n\t\t// If there is room for more digits in current `template`,\r\n\t\t// then set the next digit in the `template`,\r\n\t\t// and return the formatted digits so far.\r\n\t\t// If more digits are entered than the current format could handle.\r\n\t\tif (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tposition = template.search(DIGIT_PLACEHOLDER_MATCHER)\r\n\t\ttemplate = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit)\r\n\t}\r\n\treturn [template, position]\r\n}","import checkNumberLength from './helpers/checkNumberLength.js'\r\nimport parseDigits from './helpers/parseDigits.js'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js'\r\n\r\nexport default function formatCompleteNumber(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tconst matcher = new RegExp(`^(?:${format.pattern()})$`)\r\n\tif (matcher.test(state.nationalSignificantNumber)) {\r\n\t\treturn formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(\r\n\t\t\tstate,\r\n\t\t\tformat,\r\n\t\t\t{\r\n\t\t\t\tmetadata,\r\n\t\t\t\tshouldTryNationalPrefixFormattingRule,\r\n\t\t\t\tgetSeparatorAfterNationalPrefix\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\r\n\treturn checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE'\r\n}\r\n\r\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\t// `format` has already been checked for `nationalPrefix` requirement.\r\n\r\n\tconst {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode\r\n\t} = state\r\n\r\n\t// Format the number with using `national_prefix_formatting_rule`.\r\n\t// If the resulting formatted number is a valid formatted number, then return it.\r\n\t//\r\n\t// Google's AsYouType formatter is different in a way that it doesn't try\r\n\t// to format using the \"national prefix formatting rule\", and instead it\r\n\t// simply prepends a national prefix followed by a \" \" character.\r\n\t// This code does that too, but as a fallback.\r\n\t// The reason is that \"national prefix formatting rule\" may use parentheses,\r\n\t// which wouldn't be included has it used the simpler Google's way.\r\n\t//\r\n\tif (shouldTryNationalPrefixFormattingRule(format)) {\r\n\t\tconst formattedNumber = formatNationalNumber(state, format, {\r\n\t\t\tuseNationalPrefixFormattingRule: true,\r\n\t\t\tgetSeparatorAfterNationalPrefix,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\tif (formattedNumber) {\r\n\t\t\treturn formattedNumber\r\n\t\t}\r\n\t}\r\n\r\n\t// Format the number without using `national_prefix_formatting_rule`.\r\n\treturn formatNationalNumber(state, format, {\r\n\t\tuseNationalPrefixFormattingRule: false,\r\n\t\tgetSeparatorAfterNationalPrefix,\r\n\t\tmetadata\r\n\t})\r\n}\r\n\r\nfunction formatNationalNumber(state, format, {\r\n\tmetadata,\r\n\tuseNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tlet formattedNationalNumber = formatNationalNumberUsingFormat(\r\n\t\tstate.nationalSignificantNumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tcarrierCode: state.carrierCode,\r\n\t\t\tuseInternationalFormat: state.international,\r\n\t\t\twithNationalPrefix: useNationalPrefixFormattingRule,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n\tif (!useNationalPrefixFormattingRule) {\r\n\t\tif (state.nationalPrefix) {\r\n\t\t\t// If a national prefix was extracted, then just prepend it,\r\n\t\t\t// followed by a \" \" character.\r\n\t\t\tformattedNationalNumber = state.nationalPrefix +\r\n\t\t\t\tgetSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t} else if (state.complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\tformattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber +\r\n\t\t\t\t' ' +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t}\r\n\t}\r\n\tif (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n}\r\n\r\n// Check that the formatted phone number contains exactly\r\n// the same digits that have been input by the user.\r\n// For example, when \"0111523456789\" is input for `AR` country,\r\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\r\n// which means that the national part of `this.digits` isn't simply equal to\r\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\r\n//\r\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\r\n// being formatted via `metadata[country].national_prefix_transform_rule`.\r\n// For example, for `VI` country, it prepends `340` to the national number,\r\n// and if this check hasn't been implemented, then there would be a bug\r\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n//\r\n// So, all these \"gotchas\" are filtered out.\r\n//\r\n// In the original Google's code, the comments say:\r\n// \"Check that we didn't remove nor add any extra digits when we matched\r\n// this formatting pattern. This usually happens after we entered the last\r\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\r\n// formatted but AYTF should retain all the number entered and not change\r\n// in order to match a format (of same leading digits and length) display\r\n// in that way.\"\r\n// \"If it's the same (i.e entered number and format is same), then it's\r\n// safe to return this in formatted number as nothing is lost / added.\"\r\n// Otherwise, don't use this format.\r\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\r\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\r\n//\r\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\r\n\treturn parseDigits(formattedNationalNumber) === state.getNationalDigits()\r\n}","export default class PatternParser {\r\n\tparse(pattern) {\r\n\t\tthis.context = [{\r\n\t\t\tor: true,\r\n\t\t\tinstructions: []\r\n\t\t}]\r\n\r\n\t\tthis.parsePattern(pattern)\r\n\r\n\t\tif (this.context.length !== 1) {\r\n\t\t\tthrow new Error('Non-finalized contexts left when pattern parse ended')\r\n\t\t}\r\n\r\n\t\tconst { branches, instructions } = this.context[0]\r\n\r\n\t\tif (branches) {\r\n\t\t\treturn {\r\n\t\t\t\top: '|',\r\n\t\t\t\targs: branches.concat([\r\n\t\t\t\t\texpandSingleElementArray(instructions)\r\n\t\t\t\t])\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/* istanbul ignore if */\r\n\t\tif (instructions.length === 0) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\tif (instructions.length === 1) {\r\n\t\t\treturn instructions[0]\r\n\t\t}\r\n\r\n\t\treturn instructions\r\n\t}\r\n\r\n\tstartContext(context) {\r\n\t\tthis.context.push(context)\r\n\t}\r\n\r\n\tendContext() {\r\n\t\tthis.context.pop()\r\n\t}\r\n\r\n\tgetContext() {\r\n\t\treturn this.context[this.context.length - 1]\r\n\t}\r\n\r\n\tparsePattern(pattern) {\r\n\t\tif (!pattern) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\tconst match = pattern.match(OPERATOR)\r\n\t\tif (!match) {\r\n\t\t\tif (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\r\n\t\t\t\tthrow new Error(`Illegal characters found in a pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tthis.getContext().instructions = this.getContext().instructions.concat(\r\n\t\t\t\tpattern.split('')\r\n\t\t\t)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst operator = match[1]\r\n\t\tconst before = pattern.slice(0, match.index)\r\n\t\tconst rightPart = pattern.slice(match.index + operator.length)\r\n\r\n\t\tswitch (operator) {\r\n\t\t\tcase '(?:':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\tor: true,\r\n\t\t\t\t\tinstructions: [],\r\n\t\t\t\t\tbranches: []\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ')':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\")\" operator must be preceded by \"(?:\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tif (this.getContext().instructions.length === 0) {\r\n\t\t\t\t\tthrow new Error('No instructions found after \"|\" operator in an \"or\" group')\r\n\t\t\t\t}\r\n\t\t\t\tconst { branches } = this.getContext()\r\n\t\t\t\tbranches.push(\r\n\t\t\t\t\texpandSingleElementArray(\r\n\t\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '|',\r\n\t\t\t\t\targs: branches\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '|':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\"|\" operator can only be used inside \"or\" groups')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\t// The top-level is an implicit \"or\" group, if required.\r\n\t\t\t\tif (!this.getContext().branches) {\r\n\t\t\t\t\t// `branches` are not defined only for the root implicit \"or\" operator.\r\n\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\tif (this.context.length === 1) {\r\n\t\t\t\t\t\tthis.getContext().branches = []\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow new Error('\"branches\" not found in an \"or\" group context')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.getContext().branches.push(\r\n\t\t\t\t\texpandSingleElementArray(\r\n\t\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\tthis.getContext().instructions = []\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '[':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\toneOfSet: true\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ']':\r\n\t\t\t\tif (!this.getContext().oneOfSet) {\r\n\t\t\t\t\tthrow new Error('\"]\" operator must be preceded by \"[\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '[]',\r\n\t\t\t\t\targs: parseOneOfSet(before)\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Unknown operator: ${operator}`)\r\n\t\t}\r\n\r\n\t\tif (rightPart) {\r\n\t\t\tthis.parsePattern(rightPart)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction parseOneOfSet(pattern) {\r\n\tconst values = []\r\n\tlet i = 0\r\n\twhile (i < pattern.length) {\r\n\t\tif (pattern[i] === '-') {\r\n\t\t\tif (i === 0 || i === pattern.length - 1) {\r\n\t\t\t\tthrow new Error(`Couldn't parse a one-of set pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tconst prevValue = pattern[i - 1].charCodeAt(0) + 1\r\n\t\t\tconst nextValue = pattern[i + 1].charCodeAt(0) - 1\r\n\t\t\tlet value = prevValue\r\n\t\t\twhile (value <= nextValue) {\r\n\t\t\t\tvalues.push(String.fromCharCode(value))\r\n\t\t\t\tvalue++\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalues.push(pattern[i])\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn values\r\n}\r\n\r\nconst ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/\r\n\r\nconst OPERATOR = new RegExp(\r\n\t// any of:\r\n\t'(' +\r\n\t\t// or operator\r\n\t\t'\\\\|' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group start\r\n\t\t'\\\\(\\\\?\\\\:' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group end\r\n\t\t'\\\\)' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set start\r\n\t\t'\\\\[' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set end\r\n\t\t'\\\\]' +\r\n\t')'\r\n)\r\n\r\nfunction expandSingleElementArray(array) {\r\n\tif (array.length === 1) {\r\n\t\treturn array[0]\r\n\t}\r\n\treturn array\r\n}","import PatternParser from './AsYouTypeFormatter.PatternParser.js'\r\n\r\nexport default class PatternMatcher {\r\n\tconstructor(pattern) {\r\n\t\tthis.matchTree = new PatternParser().parse(pattern)\r\n\t}\r\n\r\n\tmatch(string, { allowOverflow } = {}) {\r\n\t\tif (!string) {\r\n\t\t\tthrow new Error('String is required')\r\n\t\t}\r\n\t\tconst result = match(string.split(''), this.matchTree, true)\r\n\t\tif (result && result.match) {\r\n\t\t\tdelete result.matchedChars\r\n\t\t}\r\n\t\tif (result && result.overflow) {\r\n\t\t\tif (!allowOverflow) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n}\r\n\r\n/**\r\n * Matches `characters` against a pattern compiled into a `tree`.\r\n * @param {string[]} characters\r\n * @param {Tree} tree — A pattern compiled into a `tree`. See the `*.d.ts` file for the description of the `tree` structure.\r\n * @param {boolean} last — Whether it's the last (rightmost) subtree on its level of the match tree.\r\n * @return {object} See the `*.d.ts` file for the description of the result object.\r\n */\r\nfunction match(characters, tree, last) {\r\n\t// If `tree` is a string, then `tree` is a single character.\r\n\t// That's because when a pattern is parsed, multi-character-string parts\r\n\t// of a pattern are compiled into arrays of single characters.\r\n\t// I still wrote this piece of code for a \"general\" hypothetical case\r\n\t// when `tree` could be a string of several characters, even though\r\n\t// such case is not possible with the current implementation.\r\n\tif (typeof tree === 'string') {\r\n\t\tconst characterString = characters.join('')\r\n\t\tif (tree.indexOf(characterString) === 0) {\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (characters.length === tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmatch: true,\r\n\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// `tree` is always a single character.\r\n\t\t\t// If `tree.indexOf(characterString) === 0`\r\n\t\t\t// then `characters.length === tree.length`.\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn {\r\n\t\t\t\tpartialMatch: true,\r\n\t\t\t\t// matchedChars: characters\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (characterString.indexOf(tree) === 0) {\r\n\t\t\tif (last) {\r\n\t\t\t\t// The `else` path is not possible because `tree` is always a single character.\r\n\t\t\t\t// The `else` case for `characters.length > tree.length` would be\r\n\t\t\t\t// `characters.length <= tree.length` which means `characters.length <= 1`.\r\n\t\t\t\t// `characters` array can't be empty, so that means `characters === [tree]`,\r\n\t\t\t\t// which would also mean `tree.indexOf(characterString) === 0` and that'd mean\r\n\t\t\t\t// that the `if (tree.indexOf(characterString) === 0)` condition before this\r\n\t\t\t\t// `if` condition would be entered, and returned from there, not reaching this code.\r\n\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\tif (characters.length > tree.length) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tmatch: true,\r\n\t\t\t\tmatchedChars: characters.slice(0, tree.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\r\n\tif (Array.isArray(tree)) {\r\n\t\tlet restCharacters = characters.slice()\r\n\t\tlet i = 0\r\n\t\twhile (i < tree.length) {\r\n\t\t\tconst subtree = tree[i]\r\n\t\t\tconst result = match(restCharacters, subtree, last && (i === tree.length - 1))\r\n\t\t\tif (!result) {\r\n\t\t\t\treturn\r\n\t\t\t} else if (result.overflow) {\r\n\t\t\t\treturn result\r\n\t\t\t} else if (result.match) {\r\n\t\t\t\t// Continue with the next subtree with the rest of the characters.\r\n\t\t\t\trestCharacters = restCharacters.slice(result.matchedChars.length)\r\n\t\t\t\tif (restCharacters.length === 0) {\r\n\t\t\t\t\tif (i === tree.length - 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ti++\r\n\t\t}\r\n\t\t// If `last` then overflow has already been checked\r\n\t\t// by the last element of the `tree` array.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (last) {\r\n\t\t\treturn {\r\n\t\t\t\toverflow: true\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tmatch: true,\r\n\t\t\tmatchedChars: characters.slice(0, characters.length - restCharacters.length)\r\n\t\t}\r\n\t}\r\n\r\n\tswitch (tree.op) {\r\n\t\tcase '|':\r\n\t\t\tlet partialMatch\r\n\t\t\tfor (const branch of tree.args) {\r\n\t\t\t\tconst result = match(characters, branch, last)\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tif (result.overflow) {\r\n\t\t\t\t\t\treturn result\r\n\t\t\t\t\t} else if (result.match) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: result.matchedChars\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t/* istanbul ignore else */\r\n\t\t\t\t\t\tif (result.partialMatch) {\r\n\t\t\t\t\t\t\tpartialMatch = true\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (partialMatch) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t// matchedChars: ...\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Not even a partial match.\r\n\t\t\treturn\r\n\r\n\t\tcase '[]':\r\n\t\t\tfor (const char of tree.args) {\r\n\t\t\t\tif (characters[0] === char) {\r\n\t\t\t\t\tif (characters.length === 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (last) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\tmatchedChars: [char]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// No character matches.\r\n\t\t\treturn\r\n\r\n\t\t/* istanbul ignore next */\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unsupported instruction tree: ${tree}`)\r\n\t}\r\n}","import {\r\n\tDIGIT_PLACEHOLDER,\r\n\tcountOccurences,\r\n\trepeat,\r\n\tcutAndStripNonPairedParens,\r\n\tcloseNonPairedParens,\r\n\tstripNonPairedParens,\r\n\tpopulateTemplateWithDigits\r\n} from './AsYouTypeFormatter.util.js'\r\n\r\nimport formatCompleteNumber, {\r\n\tcanFormatCompleteNumber\r\n} from './AsYouTypeFormatter.complete.js'\r\n\r\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js'\r\n\r\nimport parseDigits from './helpers/parseDigits.js'\r\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js'\r\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js'\r\nimport { VALID_PUNCTUATION } from './constants.js'\r\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nconst DUMMY_DIGIT = '9'\r\n// I don't know why is it exactly `15`\r\nconst LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nconst LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH)\r\n\r\n// A set of characters that, if found in a national prefix formatting rules, are an indicator to\r\n// us that we should separate the national prefix from the number when formatting.\r\nconst NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/\r\n\r\n// Deprecated: Google has removed some formatting pattern related code from their repo.\r\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\r\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\r\n// Because this library supports generating custom metadata\r\n// some users may still be using old metadata so the relevant\r\n// code seems to stay until some next major version update.\r\nconst SUPPORT_LEGACY_FORMATTING_PATTERNS = true\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nconst CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\[([^\\[\\]])*\\]/g)\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nconst CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\d(?=[^,}][^,}])/g)\r\n\r\n// A regular expression that is used to determine if a `format` is\r\n// suitable to be used in the \"as you type formatter\".\r\n// A `format` is suitable when the resulting formatted number has\r\n// the same digits as the user has entered.\r\n//\r\n// In the simplest case, that would mean that the format\r\n// doesn't add any additional digits when formatting a number.\r\n// Google says that it also shouldn't add \"star\" (`*`) characters,\r\n// like it does in some Israeli formats.\r\n// Such basic format would only contain \"valid punctuation\"\r\n// and \"captured group\" identifiers ($1, $2, etc).\r\n//\r\n// An example of a format that adds additional digits:\r\n//\r\n// Country: `AR` (Argentina).\r\n// Format:\r\n// {\r\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n// \"leading_digits_patterns\": [\"91\"],\r\n// \"national_prefix_formatting_rule\": \"0$1\",\r\n// \"format\": \"$2 15-$3-$4\",\r\n// \"international_format\": \"$1 $2 $3-$4\"\r\n// }\r\n//\r\n// In the format above, the `format` adds `15` to the digits when formatting a number.\r\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\r\n// has previously removed `15` from a national number, so re-adding `15` in `format`\r\n// doesn't actually result in any extra digits added to user's input.\r\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\r\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\r\n//\r\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\r\n// `libphonenumber` code.\r\n//\r\nconst NON_ALTERING_FORMAT_REG_EXP = new RegExp(\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t// Google developers say:\r\n\t// \"We require that the first matching group is present in the\r\n\t// output pattern to ensure no data is lost while formatting.\"\r\n\t'\\\\$1' +\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t'(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' +\r\n\t'$'\r\n)\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nconst MIN_LEADING_DIGITS_LENGTH = 3\r\n\r\nexport default class AsYouTypeFormatter {\r\n\tconstructor({\r\n\t\tstate,\r\n\t\tmetadata\r\n\t}) {\r\n\t\tthis.metadata = metadata\r\n\t\tthis.resetFormat()\r\n\t}\r\n\r\n\tresetFormat() {\r\n\t\tthis.chosenFormat = undefined\r\n\t\tthis.template = undefined\r\n\t\tthis.nationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t}\r\n\r\n\treset(numberingPlan, state) {\r\n\t\tthis.resetFormat()\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.isNANP = numberingPlan.callingCode() === '1'\r\n\t\t\tthis.matchingFormats = numberingPlan.formats()\r\n\t\t\tif (state.nationalSignificantNumber) {\r\n\t\t\t\tthis.narrowDownMatchingFormats(state)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.isNANP = undefined\r\n\t\t\tthis.matchingFormats = []\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Formats an updated phone number.\r\n\t * @param {string} nextDigits — Additional phone number digits.\r\n\t * @param {object} state — `AsYouType` state.\r\n\t * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n\t */\r\n\tformat(nextDigits, state) {\r\n\t\t// See if the phone number digits can be formatted as a complete phone number.\r\n\t\t// If not, use the results from `formatNationalNumberWithNextDigits()`,\r\n\t\t// which formats based on the chosen formatting pattern.\r\n\t\t//\r\n\t\t// Attempting to format complete phone number first is how it's done\r\n\t\t// in Google's `libphonenumber`, so this library just follows it.\r\n\t\t// Google's `libphonenumber` code doesn't explain in detail why does it\r\n\t\t// attempt to format digits as a complete phone number\r\n\t\t// instead of just going with a previoulsy (or newly) chosen `format`:\r\n\t\t//\r\n\t\t// \"Checks to see if there is an exact pattern match for these digits.\r\n\t\t// If so, we should use this instead of any other formatting template\r\n\t\t// whose leadingDigitsPattern also matches the input.\"\r\n\t\t//\r\n\t\tif (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\r\n\t\t\tfor (const format of this.matchingFormats) {\r\n\t\t\t\tconst formattedCompleteNumber = formatCompleteNumber(\r\n\t\t\t\t\tstate,\r\n\t\t\t\t\tformat,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmetadata: this.metadata,\r\n\t\t\t\t\t\tshouldTryNationalPrefixFormattingRule: (format) => this.shouldTryNationalPrefixFormattingRule(format, {\r\n\t\t\t\t\t\t\tinternational: state.international,\r\n\t\t\t\t\t\t\tnationalPrefix: state.nationalPrefix\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tgetSeparatorAfterNationalPrefix: (format) => this.getSeparatorAfterNationalPrefix(format)\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\tif (formattedCompleteNumber) {\r\n\t\t\t\t\tthis.resetFormat()\r\n\t\t\t\t\tthis.chosenFormat = format\r\n\t\t\t\t\tthis.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state)\r\n\t\t\t\t\tthis.populatedNationalNumberTemplate = formattedCompleteNumber\r\n\t\t\t\t\t// With a new formatting template, the matched position\r\n\t\t\t\t\t// using the old template needs to be reset.\r\n\t\t\t\t\tthis.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER)\r\n\t\t\t\t\treturn formattedCompleteNumber\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Format the digits as a partial (incomplete) phone number\r\n\t\t// using the previously chosen formatting pattern (or a newly chosen one).\r\n\t\treturn this.formatNationalNumberWithNextDigits(nextDigits, state)\r\n\t}\r\n\r\n\t// Formats the next phone number digits.\r\n\tformatNationalNumberWithNextDigits(nextDigits, state) {\r\n\t\tconst previouslyChosenFormat = this.chosenFormat\r\n\r\n\t\t// Choose a format from the list of matching ones.\r\n\t\tconst newlyChosenFormat = this.chooseFormat(state)\r\n\r\n\t\tif (newlyChosenFormat) {\r\n\t\t\tif (newlyChosenFormat === previouslyChosenFormat) {\r\n\t\t\t\t// If it can format the next (current) digits\r\n\t\t\t\t// using the previously chosen phone number format\r\n\t\t\t\t// then return the updated formatted number.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(nextDigits)\r\n\t\t\t} else {\r\n\t\t\t\t// If a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these \"leading digits\",\r\n\t\t\t\t// then re-format the national phone number part\r\n\t\t\t\t// using the newly selected format.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(state.getNationalDigits())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tnarrowDownMatchingFormats({\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalPrefix,\r\n\t\tinternational\r\n\t}) {\r\n\t\tconst leadingDigits = nationalSignificantNumber\r\n\r\n\t\t// \"leading digits\" pattern list starts with a\r\n\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\r\n\t\t// So, after a user inputs 3 digits of a national (significant) phone number\r\n\t\t// this national (significant) number can already be formatted.\r\n\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\r\n\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\r\n\r\n\t\t// This implementation is different from Google's\r\n\t\t// in that it searches for a fitting format\r\n\t\t// even if the user has entered less than\r\n\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\r\n\t\t// Because some leading digit patterns already match for a single first digit.\r\n\t\tlet leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH\r\n\t\tif (leadingDigitsPatternIndex < 0) {\r\n\t\t\tleadingDigitsPatternIndex = 0\r\n\t\t}\r\n\r\n\t\tthis.matchingFormats = this.matchingFormats.filter(\r\n\t\t\tformat => this.formatSuits(format, international, nationalPrefix)\r\n\t\t\t\t&& this.formatMatches(format, leadingDigits, leadingDigitsPatternIndex)\r\n\t\t)\r\n\r\n\t\t// If there was a phone number format chosen\r\n\t\t// and it no longer holds given the new leading digits then reset it.\r\n\t\t// The test for this `if` condition is marked as:\r\n\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\r\n\t\t// To construct a valid test case for this one can find a country\r\n\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 ``\r\n\t\t// and yielding another format for 4 `` (Australia in this case).\r\n\t\tif (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t}\r\n\r\n\tformatSuits(format, international, nationalPrefix) {\r\n\t\t// When a prefix before a national (significant) number is\r\n\t\t// simply a national prefix, then it's parsed as `this.nationalPrefix`.\r\n\t\t// In more complex cases, a prefix before national (significant) number\r\n\t\t// could include a national prefix as well as some \"capturing groups\",\r\n\t\t// and in that case there's no info whether a national prefix has been parsed.\r\n\t\t// If national prefix is not used when formatting a phone number\r\n\t\t// using this format, but a national prefix has been entered by the user,\r\n\t\t// and was extracted, then discard such phone number format.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\r\n\t\tif (nationalPrefix &&\r\n\t\t\t!format.usesNationalPrefix() &&\r\n\t\t\t// !format.domesticCarrierCodeFormattingRule() &&\r\n\t\t\t!format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// If national prefix is mandatory for this phone number format\r\n\t\t// and there're no guarantees that a national prefix is present in user input\r\n\t\t// then discard this phone number format as not suitable.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\r\n\t\tif (!international &&\r\n\t\t\t!nationalPrefix &&\r\n\t\t\tformat.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\r\n\tformatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\r\n\t\tconst leadingDigitsPatternsCount = format.leadingDigitsPatterns().length\r\n\r\n\t\t// If this format is not restricted to a certain\r\n\t\t// leading digits pattern then it fits.\r\n\t\t// The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\r\n\t\tif (leadingDigitsPatternsCount === 0) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\t// Start narrowing down the list of possible formats based on the leading digits.\r\n\t\t// (only previously matched formats take part in the narrowing down process)\r\n\r\n\t\t// `leading_digits_patterns` start with 3 digits min\r\n\t\t// and then go up from there one digit at a time.\r\n\t\tleadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1)\r\n\t\tconst leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]\r\n\r\n\t\t// Google imposes a requirement on the leading digits\r\n\t\t// to be minimum 3 digits long in order to be eligible\r\n\t\t// for checking those with a leading digits pattern.\r\n\t\t//\r\n\t\t// Since `leading_digits_patterns` start with 3 digits min,\r\n\t\t// Google's original `libphonenumber` library only starts\r\n\t\t// excluding any non-matching formats only when the\r\n\t\t// national number entered so far is at least 3 digits long,\r\n\t\t// otherwise format matching would give false negatives.\r\n\t\t//\r\n\t\t// For example, when the digits entered so far are `2`\r\n\t\t// and the leading digits pattern is `21` –\r\n\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t//\r\n\t\t// Also, `leading_digits_patterns` doesn't always correspond to a single\r\n\t\t// digits count. For example, `60|8` pattern would already match `8`\r\n\t\t// but the `60` part would require having at least two leading digits,\r\n\t\t// so the whole pattern would require inputting two digits first in order to\r\n\t\t// decide on whether it matches the input, even when the input is \"80\".\r\n\t\t//\r\n\t\t// This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\r\n\t\t// even when there's only 1 or 2 digits of the national (significant) number.\r\n\t\t// To do that, it uses a non-strict pattern matcher written specifically for that.\r\n\t\t//\r\n\t\tif (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\r\n\t\t\t// Before leading digits < 3 matching was implemented:\r\n\t\t\t// return true\r\n\t\t\t//\r\n\t\t\t// After leading digits < 3 matching was implemented:\r\n\t\t\ttry {\r\n\t\t\t\treturn new PatternMatcher(leadingDigitsPattern).match(leadingDigits, { allowOverflow: true }) !== undefined\r\n\t\t\t} catch (error) /* istanbul ignore next */ {\r\n\t\t\t\t// There's a slight possibility that there could be some undiscovered bug\r\n\t\t\t\t// in the pattern matcher code. Since the \"leading digits < 3 matching\"\r\n\t\t\t\t// feature is not \"essential\" for operation, it can fall back to the old way\r\n\t\t\t\t// in case of any issues rather than halting the application's execution.\r\n\t\t\t\tconsole.error(error)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\r\n\t\t// available then use the usual regular expression matching.\r\n\t\t//\r\n\t\t// The whole pattern is wrapped in round brackets (`()`) because\r\n\t\t// the pattern can use \"or\" operator (`|`) at the top level of the pattern.\r\n\t\t//\r\n\t\treturn new RegExp(`^(${leadingDigitsPattern})`).test(leadingDigits)\r\n\t}\r\n\r\n\tgetFormatFormat(format, international) {\r\n\t\treturn international ? format.internationalFormat() : format.format()\r\n\t}\r\n\r\n\tchooseFormat(state) {\r\n\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t// format where a formatting template could be created.\r\n\t\t//\r\n\t\t// For some weird reason, `istanbul` says \"else path not taken\"\r\n\t\t// for the `for of` line below. Supposedly that means that\r\n\t\t// the loop doesn't ever go over the last element in the list.\r\n\t\t// That's true because there always is `this.chosenFormat`\r\n\t\t// when `this.matchingFormats` is non-empty.\r\n\t\t// And, for some weird reason, it doesn't think that the case\r\n\t\t// with empty `this.matchingFormats` qualifies for a valid \"else\" path.\r\n\t\t// So simply muting this `istanbul` warning.\r\n\t\t// It doesn't skip the contents of the `for of` loop,\r\n\t\t// it just skips the `for of` line.\r\n\t\t//\r\n\t\t/* istanbul ignore next */\r\n\t\tfor (const format of this.matchingFormats.slice()) {\r\n\t\t\t// If this format is currently being used\r\n\t\t\t// and is still suitable, then stick to it.\r\n\t\t\tif (this.chosenFormat === format) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\t// Sometimes, a formatting rule inserts additional digits in a phone number,\r\n\t\t\t// and \"as you type\" formatter can't do that: it should only use the digits\r\n\t\t\t// that the user has input.\r\n\t\t\t//\r\n\t\t\t// For example, in Argentina, there's a format for mobile phone numbers:\r\n\t\t\t//\r\n\t\t\t// {\r\n\t\t\t// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n\t\t\t// \"leading_digits_patterns\": [\"91\"],\r\n\t\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t\t// \"format\": \"$2 15-$3-$4\",\r\n\t\t\t// \"international_format\": \"$1 $2 $3-$4\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// In that format, `international_format` is used instead of `format`\r\n\t\t\t// because `format` inserts `15` in the formatted number,\r\n\t\t\t// and `AsYouType` formatter should only use the digits\r\n\t\t\t// the user has actually input, without adding any extra digits.\r\n\t\t\t// In this case, it wouldn't make a difference, because the `15`\r\n\t\t\t// is first stripped when applying `national_prefix_for_parsing`\r\n\t\t\t// and then re-added when using `format`, so in reality it doesn't\r\n\t\t\t// add any new digits to the number, but to detect that, the code\r\n\t\t\t// would have to be more complex: it would have to try formatting\r\n\t\t\t// the digits using the format and then see if any digits have\r\n\t\t\t// actually been added or removed, and then, every time a new digit\r\n\t\t\t// is input, it should re-check whether the chosen format doesn't\r\n\t\t\t// alter the digits.\r\n\t\t\t//\r\n\t\t\t// Google's code doesn't go that far, and so does this library:\r\n\t\t\t// it simply requires that a `format` doesn't add any additonal\r\n\t\t\t// digits to user's input.\r\n\t\t\t//\r\n\t\t\t// Also, people in general should move from inputting phone numbers\r\n\t\t\t// in national format (possibly with national prefixes)\r\n\t\t\t// and use international phone number format instead:\r\n\t\t\t// it's a logical thing in the modern age of mobile phones,\r\n\t\t\t// globalization and the internet.\r\n\t\t\t//\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (!NON_ALTERING_FORMAT_REG_EXP.test(this.getFormatFormat(format, state.international))) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tif (!this.createTemplateForFormat(format, state)) {\r\n\t\t\t\t// Remove the format if it can't generate a template.\r\n\t\t\t\tthis.matchingFormats = this.matchingFormats.filter(_ => _ !== format)\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tthis.chosenFormat = format\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tif (!this.chosenFormat) {\r\n\t\t\t// No format matches the national (significant) phone number.\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t\treturn this.chosenFormat\r\n\t}\r\n\r\n\tcreateTemplateForFormat(format, state) {\r\n\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\r\n\t\t// (20|3)\\d{4}. In those cases we quickly return.\r\n\t\t// (Though there's no such format in current metadata)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Get formatting template for this phone number format\r\n\t\tconst template = this.getTemplateForFormat(format, state)\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (template) {\r\n\t\t\tthis.setNationalNumberTemplate(template, state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tgetSeparatorAfterNationalPrefix(format) {\r\n\t\t// `US` metadata doesn't have a `national_prefix_formatting_rule`,\r\n\t\t// so the `if` condition below doesn't apply to `US`,\r\n\t\t// but in reality there shoudl be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\t// So `US` national prefix separator is a \"special\" \"hardcoded\" case.\r\n\t\tif (this.isNANP) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// If a `format` has a `national_prefix_formatting_rule`\r\n\t\t// and that rule has a separator after a national prefix,\r\n\t\t// then it means that there should be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\tif (format &&\r\n\t\t\tformat.nationalPrefixFormattingRule() &&\r\n\t\t\tNATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// At this point, there seems to be no clear evidence that\r\n\t\t// there should be a separator between a national prefix\r\n\t\t// and a national (significant) number. So don't insert one.\r\n\t\treturn ''\r\n\t}\r\n\r\n\tgetInternationalPrefixBeforeCountryCallingCode({ IDDPrefix, missingPlus }, options) {\r\n\t\tif (IDDPrefix) {\r\n\t\t\treturn options && options.spacing === false ? IDDPrefix : IDDPrefix + ' '\r\n\t\t}\r\n\t\tif (missingPlus) {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\r\n\tgetTemplate(state) {\r\n\t\tif (!this.template) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// `this.template` holds the template for a \"complete\" phone number.\r\n\t\t// The currently entered phone number is most likely not \"complete\",\r\n\t\t// so trim all non-populated digits.\r\n\t\tlet index = -1\r\n\t\tlet i = 0\r\n\t\tconst internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, { spacing: false }) : ''\r\n\t\twhile (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\r\n\t\t\tindex = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1)\r\n\t\t\ti++\r\n\t\t}\r\n\t\treturn cutAndStripNonPairedParens(this.template, index + 1)\r\n\t}\r\n\r\n\tsetNationalNumberTemplate(template, state) {\r\n\t\tthis.nationalNumberTemplate = template\r\n\t\tthis.populatedNationalNumberTemplate = template\r\n\t\t// With a new formatting template, the matched position\r\n\t\t// using the old template needs to be reset.\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t\t// For convenience, the public `.template` property\r\n\t\t// contains the whole international number\r\n\t\t// if the phone number being input is international:\r\n\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t// a spacebar and then the template for the formatted national number.\r\n\t\tif (state.international) {\r\n\t\t\tthis.template =\r\n\t\t\t\tthis.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) +\r\n\t\t\t\trepeat(DIGIT_PLACEHOLDER, state.callingCode.length) +\r\n\t\t\t\t' ' +\r\n\t\t\t\ttemplate\r\n\t\t} else {\r\n\t\t\tthis.template = template\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Generates formatting template for a national phone number,\r\n\t * optionally containing a national prefix, for a format.\r\n\t * @param {Format} format\r\n\t * @param {string} nationalPrefix\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplateForFormat(format, {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t}) {\r\n\t\tlet pattern = format.pattern()\r\n\r\n\t\t/* istanbul ignore else */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\r\n\t\t\tpattern = pattern\r\n\t\t\t\t// Replace anything in the form of [..] with \\d\r\n\t\t\t\t.replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d')\r\n\t\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\r\n\t\t\t\t.replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d')\r\n\t\t}\r\n\r\n\t\t// Generate a dummy national number (consisting of `9`s)\r\n\t\t// that fits this format's `pattern`.\r\n\t\t//\r\n\t\t// This match will always succeed,\r\n\t\t// because the \"longest dummy phone number\"\r\n\t\t// has enough length to accomodate any possible\r\n\t\t// national phone number format pattern.\r\n\t\t//\r\n\t\tlet digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]\r\n\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (nationalSignificantNumber.length > digits.length) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Get a formatting template which can be used to efficiently format\r\n\t\t// a partial number where digits are added one by one.\r\n\r\n\t\t// Below `strictPattern` is used for the\r\n\t\t// regular expression (with `^` and `$`).\r\n\t\t// This wasn't originally in Google's `libphonenumber`\r\n\t\t// and I guess they don't really need it\r\n\t\t// because they're not using \"templates\" to format phone numbers\r\n\t\t// but I added `strictPattern` after encountering\r\n\t\t// South Korean phone number formatting bug.\r\n\t\t//\r\n\t\t// Non-strict regular expression bug demonstration:\r\n\t\t//\r\n\t\t// this.nationalSignificantNumber : `111111111` (9 digits)\r\n\t\t//\r\n\t\t// pattern : (\\d{2})(\\d{3,4})(\\d{4})\r\n\t\t// format : `$1 $2 $3`\r\n\t\t// digits : `9999999999` (10 digits)\r\n\t\t//\r\n\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\r\n\t\t//\r\n\t\t// template : xx xxxx xxxx\r\n\t\t//\r\n\t\t// But the correct template in this case is `xx xxx xxxx`.\r\n\t\t// The template was generated incorrectly because of the\r\n\t\t// `{3,4}` variability in the `pattern`.\r\n\t\t//\r\n\t\t// The fix is, if `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then `this.nationalSignificantNumber`\r\n\t\t// is used instead of `digits`.\r\n\r\n\t\tconst strictPattern = new RegExp('^' + pattern + '$')\r\n\t\tconst nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT)\r\n\r\n\t\t// If `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then use it\r\n\t\t// instead of `digits`.\r\n\t\tif (strictPattern.test(nationalNumberDummyDigits)) {\r\n\t\t\tdigits = nationalNumberDummyDigits\r\n\t\t}\r\n\r\n\t\tlet numberFormat = this.getFormatFormat(format, international)\r\n\t\tlet nationalPrefixIncludedInTemplate\r\n\r\n\t\t// If a user did input a national prefix (and that's guaranteed),\r\n\t\t// and if a `format` does have a national prefix formatting rule,\r\n\t\t// then see if that national prefix formatting rule\r\n\t\t// prepends exactly the same national prefix the user has input.\r\n\t\t// If that's the case, then use the `format` with the national prefix formatting rule.\r\n\t\t// Otherwise, use the `format` without the national prefix formatting rule,\r\n\t\t// and prepend a national prefix manually to it.\r\n\t\tif (this.shouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix })) {\r\n\t\t\tconst numberFormatWithNationalPrefix = numberFormat.replace(\r\n\t\t\t\tFIRST_GROUP_PATTERN,\r\n\t\t\t\tformat.nationalPrefixFormattingRule()\r\n\t\t\t)\r\n\t\t\t// If `national_prefix_formatting_rule` of a `format` simply prepends\r\n\t\t\t// national prefix at the start of a national (significant) number,\r\n\t\t\t// then such formatting can be used with `AsYouType` formatter.\r\n\t\t\t// There seems to be no `else` case: everywhere in metadata,\r\n\t\t\t// national prefix formatting rule is national prefix + $1,\r\n\t\t\t// or `($1)`, in which case such format isn't even considered\r\n\t\t\t// when the user has input a national prefix.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\r\n\t\t\t\tnumberFormat = numberFormatWithNationalPrefix\r\n\t\t\t\tnationalPrefixIncludedInTemplate = true\r\n\t\t\t\t// Replace all digits of the national prefix in the formatting template\r\n\t\t\t\t// with `DIGIT_PLACEHOLDER`s.\r\n\t\t\t\tif (nationalPrefix) {\r\n\t\t\t\t\tlet i = nationalPrefix.length\r\n\t\t\t\t\twhile (i > 0) {\r\n\t\t\t\t\t\tnumberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER)\r\n\t\t\t\t\t\ti--\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Generate formatting template for this phone number format.\r\n\t\tlet template = digits\r\n\t\t\t// Format the dummy phone number according to the format.\r\n\t\t\t.replace(new RegExp(pattern), numberFormat)\r\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER.\r\n\t\t\t.replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER)\r\n\r\n\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t// as just a basic national prefix, then just prepend such prefix\r\n\t\t// before the national (significant) number, optionally spacing\r\n\t\t// the two with a whitespace.\r\n\t\tif (!nationalPrefixIncludedInTemplate) {\r\n\t\t\tif (complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\t\t// Prepend the prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) +\r\n\t\t\t\t\t' ' +\r\n\t\t\t\t\ttemplate\r\n\t\t\t} else if (nationalPrefix) {\r\n\t\t\t\t// Prepend national prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) +\r\n\t\t\t\t\tthis.getSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (international) {\r\n\t\t\ttemplate = applyInternationalSeparatorStyle(template)\r\n\t\t}\r\n\r\n\t\treturn template\r\n\t}\r\n\r\n\tformatNextNationalNumberDigits(digits) {\r\n\t\tconst result = populateTemplateWithDigits(\r\n\t\t\tthis.populatedNationalNumberTemplate,\r\n\t\t\tthis.populatedNationalNumberTemplatePosition,\r\n\t\t\tdigits\r\n\t\t)\r\n\r\n\t\tif (!result) {\r\n\t\t\t// Reset the format.\r\n\t\t\tthis.resetFormat()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.populatedNationalNumberTemplate = result[0]\r\n\t\tthis.populatedNationalNumberTemplatePosition = result[1]\r\n\r\n\t\t// Return the formatted phone number so far.\r\n\t\treturn cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\r\n\t\t// The old way which was good for `input-format` but is not so good\r\n\t\t// for `react-phone-number-input`'s default input (`InputBasic`).\r\n\t\t// return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\t\t// \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\r\n\t}\r\n\r\n\tshouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix }) {\r\n\t\tif (format.nationalPrefixFormattingRule()) {\r\n\t\t\t// In some countries, `national_prefix_formatting_rule` is `($1)`,\r\n\t\t\t// so it applies even if the user hasn't input a national prefix.\r\n\t\t\t// `format.usesNationalPrefix()` detects such cases.\r\n\t\t\tconst usesNationalPrefix = format.usesNationalPrefix()\r\n\t\t\tif ((usesNationalPrefix && nationalPrefix) ||\r\n\t\t\t\t(!usesNationalPrefix && !international)) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import extractCountryCallingCode from './helpers/extractCountryCallingCode.js'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js'\r\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js'\r\nimport stripIddPrefix from './helpers/stripIddPrefix.js'\r\nimport parseDigits from './helpers/parseDigits.js'\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants.js'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART =\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i')\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART =\r\n\t'(?:' +\r\n\t\t'[' + PLUS_CHARS + ']' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']*' +\r\n\t\t'|' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']+' +\r\n\t')'\r\n\r\nconst AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp(\r\n\t'[^' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+' +\r\n\t'.*' +\r\n\t'$'\r\n)\r\n\r\n// Tests whether `national_prefix_for_parsing` could match\r\n// different national prefixes.\r\n// Matches anything that's not a digit or a square bracket.\r\nconst COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/\r\n\r\nexport default class AsYouTypeParser {\r\n\tconstructor({\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata,\r\n\t\tonNationalSignificantNumberChange\r\n\t}) {\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.metadata = metadata\r\n\t\tthis.onNationalSignificantNumberChange = onNationalSignificantNumberChange\r\n\t}\r\n\r\n\tinput(text, state) {\r\n\t\tconst [formattedDigits, hasPlus] = extractFormattedDigitsAndPlus(text)\r\n\t\tconst digits = parseDigits(formattedDigits)\r\n\t\t// Checks for a special case: just a leading `+` has been entered.\r\n\t\tlet justLeadingPlus\r\n\t\tif (hasPlus) {\r\n\t\t\tif (!state.digits) {\r\n\t\t\t\tstate.startInternationalNumber()\r\n\t\t\t\tif (!digits) {\r\n\t\t\t\t\tjustLeadingPlus = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (digits) {\r\n\t\t\tthis.inputDigits(digits, state)\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number digits.\r\n\t * @param {string} digits\r\n\t * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n\t */\r\n\tinputDigits(nextDigits, state) {\r\n\t\tconst { digits } = state\r\n\t\tconst hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3\r\n\r\n\t\t// Append phone number digits.\r\n\t\tstate.appendDigits(nextDigits)\r\n\r\n\t\t// Attempt to extract IDD prefix:\r\n\t\t// Some users input their phone number in international format,\r\n\t\t// but in an \"out-of-country\" dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers as soon as there're at least 3 digits.\r\n\t\t// Google's library attempts to extract IDD prefix at 3 digits,\r\n\t\t// so this library just copies that behavior.\r\n\t\t// I guess that's because the most commot IDD prefixes are\r\n\t\t// `00` (Europe) and `011` (US).\r\n\t\t// There exist really long IDD prefixes too:\r\n\t\t// for example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t// An IDD prefix is extracted here, and then every time when\r\n\t\t// there's a new digit and the number couldn't be formatted.\r\n\t\tif (hasReceivedThreeLeadingDigits) {\r\n\t\t\tthis.extractIddPrefix(state)\r\n\t\t}\r\n\r\n\t\tif (this.isWaitingForCountryCallingCode(state)) {\r\n\t\t\tif (!this.extractCountryCallingCode(state)) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tstate.appendNationalSignificantNumberDigits(nextDigits)\r\n\t\t}\r\n\r\n\t\t// If a phone number is being input in international format,\r\n\t\t// then it's not valid for it to have a national prefix.\r\n\t\t// Still, some people incorrectly input such numbers with a national prefix.\r\n\t\t// In such cases, only attempt to strip a national prefix if the number becomes too long.\r\n\t\t// (but that is done later, not here)\r\n\t\tif (!state.international) {\r\n\t\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\t\tthis.extractNationalSignificantNumber(\r\n\t\t\t\t\tstate.getNationalDigits(),\r\n\t\t\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisWaitingForCountryCallingCode({ international, callingCode }) {\r\n\t\treturn international && !callingCode\r\n\t}\r\n\r\n\t// Extracts a country calling code from a number\r\n\t// being entered in internatonal format.\r\n\textractCountryCallingCode(state) {\r\n\t\tconst { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\t\t'+' + state.getDigitsWithoutInternationalPrefix(),\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (countryCallingCode) {\r\n\t\t\tstate.setCallingCode(countryCallingCode)\r\n\t\t\tstate.update({\r\n\t\t\t\tnationalSignificantNumber: number\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\treset(numberingPlan) {\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.hasSelectedNumberingPlan = true\r\n\t\t\tconst nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing()\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing)\r\n\t\t} else {\r\n\t\t\tthis.hasSelectedNumberingPlan = undefined\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Extracts a national (significant) number from user input.\r\n\t * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n\t * and doesn't apply `national_prefix_transform_rule` after that.\r\n\t * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n\t * @return {boolean} [extracted]\r\n\t */\r\n\textractNationalSignificantNumber(nationalDigits, setState) {\r\n\t\tif (!this.hasSelectedNumberingPlan) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\tif (nationalNumber === nationalDigits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\t/**\r\n\t * In Google's code this function is called \"attempt to extract longer NDD\".\r\n\t * \"Some national prefixes are a substring of others\", they say.\r\n\t * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n\t */\r\n\textractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\r\n\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\treturn this.extractNationalSignificantNumber(nationalDigits, setState)\r\n\t\t}\r\n\t\tif (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\t// If a national prefix has been extracted previously,\r\n\t\t// then it's always extracted as additional digits are added.\r\n\t\t// That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\r\n\t\t// doesn't do anything different from what it currently does.\r\n\t\t// So, just in case, here's this check, though it doesn't occur.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (nationalNumber === prevNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\tonExtractedNationalNumber(\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalDigits,\r\n\t\tsetState\r\n\t) {\r\n\t\tlet complexPrefixBeforeNationalSignificantNumber\r\n\t\tlet nationalSignificantNumberMatchesInput\r\n\t\t// This check also works with empty `this.nationalSignificantNumber`.\r\n\t\tconst nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber)\r\n\t\t// If the extracted national (significant) number is the\r\n\t\t// last substring of the `digits`, then it means that it hasn't been altered:\r\n\t\t// no digits have been removed from the national (significant) number\r\n\t\t// while applying `national_prefix_transform_rule`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\tif (nationalSignificantNumberIndex >= 0 &&\r\n\t\t\tnationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\r\n\t\t\tnationalSignificantNumberMatchesInput = true\r\n\t\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t\t// as just a basic national prefix, then such prefix is stored in\r\n\t\t\t// `this.complexPrefixBeforeNationalSignificantNumber` property and will be\r\n\t\t\t// prepended \"as is\" to the national (significant) number to produce\r\n\t\t\t// a formatted result.\r\n\t\t\tconst prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex)\r\n\t\t\t// `prefixBeforeNationalNumber` is always non-empty,\r\n\t\t\t// because `onExtractedNationalNumber()` isn't called\r\n\t\t\t// when a national (significant) number hasn't been actually \"extracted\":\r\n\t\t\t// when a national (significant) number is equal to the national part of `digits`,\r\n\t\t\t// then `onExtractedNationalNumber()` doesn't get called.\r\n\t\t\tif (prefixBeforeNationalNumber !== nationalPrefix) {\r\n\t\t\t\tcomplexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetState({\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tnationalSignificantNumberMatchesInput,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t\t})\r\n\t\t// `onExtractedNationalNumber()` is only called when\r\n\t\t// the national (significant) number actually did change.\r\n\t\tthis.hasExtractedNationalSignificantNumber = true\r\n\t\tthis.onNationalSignificantNumberChange()\r\n\t}\r\n\r\n\treExtractNationalSignificantNumber(state) {\r\n\t\t// Attempt to extract a national prefix.\r\n\t\t//\r\n\t\t// Some people incorrectly input national prefix\r\n\t\t// in an international phone number.\r\n\t\t// For example, some people write British phone numbers as `+44(0)...`.\r\n\t\t//\r\n\t\t// Also, in some rare cases, it is valid for a national prefix\r\n\t\t// to be a part of an international phone number.\r\n\t\t// For example, mobile phone numbers in Mexico are supposed to be\r\n\t\t// dialled internationally using a `1` national prefix,\r\n\t\t// so the national prefix will be part of an international number.\r\n\t\t//\r\n\t\t// Quote from:\r\n\t\t// https://www.mexperience.com/dialing-cell-phones-in-mexico/\r\n\t\t//\r\n\t\t// \"Dialing a Mexican cell phone from abroad\r\n\t\t// When you are calling a cell phone number in Mexico from outside Mexico,\r\n\t\t// it’s necessary to dial an additional “1” after Mexico’s country code\r\n\t\t// (which is “52”) and before the area code.\r\n\t\t// You also ignore the 045, and simply dial the area code and the\r\n\t\t// cell phone’s number.\r\n\t\t//\r\n\t\t// If you don’t add the “1”, you’ll receive a recorded announcement\r\n\t\t// asking you to redial using it.\r\n\t\t//\r\n\t\t// For example, if you are calling from the USA to a cell phone\r\n\t\t// in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\r\n\t\t// (Note that this is different to calling a land line in Mexico City\r\n\t\t// from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\r\n\t\t//\r\n\t\t// Google's demo output:\r\n\t\t// https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\r\n\t\t//\r\n\t\tif (this.extractAnotherNationalSignificantNumber(\r\n\t\t\tstate.getNationalDigits(),\r\n\t\t\tstate.nationalSignificantNumber,\r\n\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// If no format matches the phone number, then it could be\r\n\t\t// \"a really long IDD\" (quote from a comment in Google's library).\r\n\t\t// An IDD prefix is first extracted when the user has entered at least 3 digits,\r\n\t\t// and then here — every time when there's a new digit and the number\r\n\t\t// couldn't be formatted.\r\n\t\t// For example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t//\r\n\t\t// Could also check `!hasReceivedThreeLeadingDigits` here\r\n\t\t// to filter out the case when this check duplicates the one\r\n\t\t// already performed when there're 3 leading digits,\r\n\t\t// but it's not a big deal, and in most cases there\r\n\t\t// will be a suitable `format` when there're 3 leading digits.\r\n\t\t//\r\n\t\tif (this.extractIddPrefix(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// Google's AsYouType formatter supports sort of an \"autocorrection\" feature\r\n\t\t// when it \"autocorrects\" numbers that have been input for a country\r\n\t\t// with that country's calling code.\r\n\t\t// Such \"autocorrection\" feature looks weird, but different people have been requesting it:\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tif (this.fixMissingPlus(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\textractIddPrefix(state) {\r\n\t\t// An IDD prefix can't be present in a number written with a `+`.\r\n\t\t// Also, don't re-extract an IDD prefix if has already been extracted.\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tIDDPrefix,\r\n\t\t\tdigits,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = state\r\n\t\tif (international || IDDPrefix) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Some users input their phone number in \"out-of-country\"\r\n\t\t// dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(\r\n\t\t\tdigits,\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\r\n\t\t\t// If an IDD prefix was stripped then convert the IDD-prefixed number\r\n\t\t\t// to international number for subsequent parsing.\r\n\t\t\tstate.update({\r\n\t\t\t\tIDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\r\n\t\t\t})\r\n\t\t\tthis.startInternationalNumber(state, {\r\n\t\t\t\tcountry: undefined,\r\n\t\t\t\tcallingCode: undefined\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tfixMissingPlus(state) {\r\n\t\tif (!state.international) {\r\n\t\t\tconst {\r\n\t\t\t\tcountryCallingCode: newCallingCode,\r\n\t\t\t\tnumber\r\n\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\tstate.digits,\r\n\t\t\t\tthis.defaultCountry,\r\n\t\t\t\tthis.defaultCallingCode,\r\n\t\t\t\tthis.metadata.metadata\r\n\t\t\t)\r\n\t\t\tif (newCallingCode) {\r\n\t\t\t\tstate.update({\r\n\t\t\t\t\tmissingPlus: true\r\n\t\t\t\t})\r\n\t\t\t\tthis.startInternationalNumber(state, {\r\n\t\t\t\t\tcountry: state.country,\r\n\t\t\t\t\tcallingCode: newCallingCode\r\n\t\t\t\t})\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstartInternationalNumber(state, { country, callingCode }) {\r\n\t\tstate.startInternationalNumber(country, callingCode)\r\n\t\t// If a national (significant) number has been extracted before, reset it.\r\n\t\tif (state.nationalSignificantNumber) {\r\n\t\t\tstate.resetNationalSignificantNumber()\r\n\t\t\tthis.onNationalSignificantNumberChange()\r\n\t\t\tthis.hasExtractedNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\textractCallingCodeAndNationalSignificantNumber(state) {\r\n\t\tif (this.extractCountryCallingCode(state)) {\r\n\t\t\t// `this.extractCallingCode()` is currently called when the number\r\n\t\t\t// couldn't be formatted during the standard procedure.\r\n\t\t\t// Normally, the national prefix would be re-extracted\r\n\t\t\t// for an international number if such number couldn't be formatted,\r\n\t\t\t// but since it's already not able to be formatted,\r\n\t\t\t// there won't be yet another retry, so also extract national prefix here.\r\n\t\t\tthis.extractNationalSignificantNumber(\r\n\t\t\t\tstate.getNationalDigits(),\r\n\t\t\t\t(stateUpdate) => state.update(stateUpdate)\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\r\nfunction extractFormattedPhoneNumber(text) {\r\n\t// Attempt to extract a possible number from the string passed in.\r\n\tconst startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\t// Trim everything to the left of the phone number.\r\n\ttext = text.slice(startsAt)\r\n\t// Trim the `+`.\r\n\tlet hasPlus\r\n\tif (text[0] === '+') {\r\n\t\thasPlus = true\r\n\t\ttext = text.slice('+'.length)\r\n\t}\r\n\t// Trim everything to the right of the phone number.\r\n\ttext = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, '')\r\n\t// Re-add the previously trimmed `+`.\r\n\tif (hasPlus) {\r\n\t\ttext = '+' + text\r\n\t}\r\n\treturn text\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nfunction _extractFormattedDigitsAndPlus(text) {\r\n\t// Extract a formatted phone number part from text.\r\n\tconst extractedNumber = extractFormattedPhoneNumber(text) || ''\r\n\t// Trim a `+`.\r\n\tif (extractedNumber[0] === '+') {\r\n\t\treturn [extractedNumber.slice('+'.length), true]\r\n\t}\r\n\treturn [extractedNumber]\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nexport function extractFormattedDigitsAndPlus(text) {\r\n\tlet [formattedDigits, hasPlus] = _extractFormattedDigitsAndPlus(text)\r\n\t// If the extracted phone number part\r\n\t// can possibly be a part of some valid phone number\r\n\t// then parse phone number characters from a formatted phone number.\r\n\tif (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\r\n\t\tformattedDigits = ''\r\n\t}\r\n\treturn [formattedDigits, hasPlus]\r\n}","import Metadata from './metadata.js'\r\nimport PhoneNumber from './PhoneNumber.js'\r\nimport AsYouTypeState from './AsYouTypeState.js'\r\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js'\r\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js'\r\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\tconst [defaultCountry, defaultCallingCode] = this.getCountryAndCallingCode(optionsOrDefaultCountry)\r\n\t\t// `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\r\n\t\t// For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\r\n\t\t// So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\tgetCountryAndCallingCode(optionsOrDefaultCountry) {\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (typeof optionsOrDefaultCountry === 'object') {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tdefaultCountry = undefined\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tdefaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [defaultCountry, defaultCallingCode]\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t} = this.parser.input(text, this.state)\r\n\t\tif (justLeadingPlus) {\r\n\t\t\tthis.formattedOutput = '+'\r\n\t\t} else if (digits) {\r\n\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tif (this.state.nationalSignificantNumber) {\r\n\t\t\t\tthis.formatter.narrowDownMatchingFormats(this.state)\r\n\t\t\t}\r\n\t\t\tlet formattedNationalNumber\r\n\t\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\t\tformattedNationalNumber = this.formatter.format(digits, this.state)\r\n\t\t\t}\r\n\t\t\tif (formattedNationalNumber === undefined) {\r\n\t\t\t\t// See if another national (significant) number could be re-extracted.\r\n\t\t\t\tif (this.parser.reExtractNationalSignificantNumber(this.state)) {\r\n\t\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\t\t// If it could, then re-try formatting the new national (significant) number.\r\n\t\t\t\t\tconst nationalDigits = this.state.getNationalDigits()\r\n\t\t\t\t\tif (nationalDigits) {\r\n\t\t\t\t\t\tformattedNationalNumber = this.formatter.format(nationalDigits, this.state)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.formattedOutput = formattedNationalNumber\r\n\t\t\t\t? this.getFullNumber(formattedNationalNumber)\r\n\t\t\t\t: this.getNonFormattedNumber()\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.state = new AsYouTypeState({\r\n\t\t\tonCountryChange: (country) => {\r\n\t\t\t\t// Before version `1.6.0`, the official `AsYouType` formatter API\r\n\t\t\t\t// included the `.country` property of an `AsYouType` instance.\r\n\t\t\t\t// Since that property (along with the others) have been moved to\r\n\t\t\t\t// `this.state`, `this.country` property is emulated for compatibility\r\n\t\t\t\t// with the old versions.\r\n\t\t\t\tthis.country = country\r\n\t\t\t},\r\n\t\t\tonCallingCodeChange: (callingCode, country) => {\r\n\t\t\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t\tthis.parser.reset(this.metadata.numberingPlan)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.formatter = new AsYouTypeFormatter({\r\n\t\t\tstate: this.state,\r\n\t\t\tmetadata: this.metadata\r\n\t\t})\r\n\t\tthis.parser = new AsYouTypeParser({\r\n\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\tdefaultCallingCode: this.defaultCallingCode,\r\n\t\t\tmetadata: this.metadata,\r\n\t\t\tstate: this.state,\r\n\t\t\tonNationalSignificantNumberChange: () => {\r\n\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.state.reset({\r\n\t\t\tcountry: this.defaultCountry,\r\n\t\t\tcallingCode: this.defaultCallingCode\r\n\t\t})\r\n\t\tthis.formattedOutput = ''\r\n\t\treturn this\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is being input in international format.\r\n\t * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisInternational() {\r\n\t\treturn this.state.international\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the \"calling code\" part of the phone number when it's being input\r\n\t * in an international format.\r\n\t * If no valid calling code has been entered so far, returns `undefined`.\r\n\t * @return {string} [callingCode]\r\n\t */\r\n\tgetCallingCode() {\r\n\t\t // If the number is being input in national format and some \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then `this.state.callingCode`\r\n\t\t // is equal to that \"default calling code\".\r\n\t\t //\r\n\t\t // If the number is being input in national format and no \"default calling code\"\r\n\t\t // has been passed to `AsYouType` constructor, then returns `undefined`,\r\n\t\t // even if a \"default country\" has been passed to `AsYouType` constructor.\r\n\t\t //\r\n\t\tif (this.isInternational()) {\r\n\t\t\treturn this.state.callingCode\r\n\t\t}\r\n\t}\r\n\r\n\t// A legacy alias.\r\n\tgetCountryCallingCode() {\r\n\t\treturn this.getCallingCode()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * Returns `undefined` if no phone number has been input yet.\r\n\t * @return {string} [country]\r\n\t */\r\n\tgetCountry() {\r\n\t\tconst { digits } = this.state\r\n\t\t// Return `undefined` if no digits have been input yet.\r\n\t\tif (digits) {\r\n\t\t\treturn this._getCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * @return {string} [country]\r\n\t */\r\n\t_getCountry() {\r\n\t\tconst { country } = this.state\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t// `AsYouType.getCountry()` returns `undefined`\r\n\t\t\t// for \"non-geographic\" phone numbering plans.\r\n\t\t\tif (country === '001') {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn country\r\n\t}\r\n\r\n\tdetermineTheCountryIfNeeded() {\r\n\t\t// Suppose a user enters a phone number in international format,\r\n\t\t// and there're several countries corresponding to that country calling code,\r\n\t\t// and a country has been derived from the number, and then\r\n\t\t// a user enters one more digit and the number is no longer\r\n\t\t// valid for the derived country, so the country should be re-derived\r\n\t\t// on every new digit in those cases.\r\n\t\t//\r\n\t\t// If the phone number is being input in national format,\r\n\t\t// then it could be a case when `defaultCountry` wasn't specified\r\n\t\t// when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\r\n\t\t// and that \"calling code\" could correspond to a \"non-geographic entity\",\r\n\t\t// or there could be several countries corresponding to that country calling code.\r\n\t\t// In those cases, `this.country` is `undefined` and should be derived\r\n\t\t// from the number. Again, if country calling code is ambiguous, then\r\n\t\t// `this.country` should be re-derived with each new digit.\r\n\t\t//\r\n\t\tif (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\tthis.determineTheCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t// Prepends `+CountryCode ` in case of an international phone number\r\n\tgetFullNumber(formattedNationalNumber) {\r\n\t\tif (this.isInternational()) {\r\n\t\t\tconst prefix = (text) => this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {\r\n\t\t\t\tspacing: text ? true : false\r\n\t\t\t}) + text\r\n\t\t\tconst { callingCode } = this.state\r\n\t\t\tif (!callingCode) {\r\n\t\t\t\treturn prefix(`${this.state.getDigitsWithoutInternationalPrefix()}`)\r\n\t\t\t}\r\n\t\t\tif (!formattedNationalNumber) {\r\n\t\t\t\treturn prefix(callingCode)\r\n\t\t\t}\r\n\t\t\treturn prefix(`${callingCode} ${formattedNationalNumber}`)\r\n\t\t}\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n\r\n\tgetNonFormattedNationalNumberWithPrefix() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber,\r\n\t\t\tnationalPrefix\r\n\t\t} = this.state\r\n\t\tlet number = nationalSignificantNumber\r\n\t\tconst prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix\r\n\t\tif (prefix) {\r\n\t\t\tnumber = prefix + number\r\n\t\t}\r\n\t\treturn number\r\n\t}\r\n\r\n\tgetNonFormattedNumber() {\r\n\t\tconst { nationalSignificantNumberMatchesInput } = this.state\r\n\t\treturn this.getFullNumber(\r\n\t\t\tnationalSignificantNumberMatchesInput\r\n\t\t\t\t? this.getNonFormattedNationalNumberWithPrefix()\r\n\t\t\t\t: this.state.getNationalDigits()\r\n\t\t)\r\n\t}\r\n\r\n\tgetNonFormattedTemplate() {\r\n\t\tconst number = this.getNonFormattedNumber()\r\n\t\tif (number) {\r\n\t\t\treturn number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER)\r\n\t\t}\r\n\t}\r\n\r\n\tisCountryCallingCodeAmbiguous() {\r\n\t\tconst { callingCode } = this.state\r\n\t\tconst countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\treturn countryCodes && countryCodes.length > 1\r\n\t}\r\n\r\n\t// Determines the country of the phone number\r\n\t// entered so far based on the country phone code\r\n\t// and the national phone number.\r\n\tdetermineTheCountry() {\r\n\t\tthis.state.setCountry(getCountryByCallingCode(\r\n\t\t\tthis.isInternational() ? this.state.callingCode : this.defaultCallingCode,\r\n\t\t\t{\r\n\t\t\t\tnationalNumber: this.state.nationalSignificantNumber,\r\n\t\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\t\tmetadata: this.metadata\r\n\t\t\t}\r\n\t\t))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a E.164 phone number value for the user's input.\r\n\t *\r\n\t * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n\t * it will return `\"+12223334444\"`.\r\n\t *\r\n\t * For international phone number input, it will also auto-correct\r\n\t * some minor errors such as using a national prefix when writing\r\n\t * an international phone number. For example, if the user inputs\r\n\t * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n\t * `\"+447400000000\"` phone number value.\r\n\t *\r\n\t * Will return `undefined` if no digits have been input,\r\n\t * or when inputting a phone number in national format and no\r\n\t * default country or default \"country calling code\" have been set.\r\n\t *\r\n\t * @return {string} [value]\r\n\t */\r\n\tgetNumberValue() {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tcallingCode,\r\n\t\t\tcountry,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = this.state\r\n\r\n\t \t// Will return `undefined` if no digits have been input.\r\n\t\tif (!digits) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (callingCode) {\r\n\t\t\t\treturn '+' + callingCode + nationalSignificantNumber\r\n\t\t\t} else {\r\n\t\t\t\treturn '+' + digits\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst callingCode_ = country ? this.metadata.countryCallingCode() : callingCode\r\n\t\t\t\treturn '+' + callingCode_ + nationalSignificantNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an instance of `PhoneNumber` class.\r\n\t * Will return `undefined` if no national (significant) number\r\n\t * digits have been entered so far, or if no `defaultCountry` has been\r\n\t * set and the user enters a phone number not in international format.\r\n\t */\r\n\tgetNumber() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcarrierCode,\r\n\t\t\tcallingCode\r\n\t\t} = this.state\r\n\r\n\t\t// `this._getCountry()` is basically same as `this.state.country`\r\n\t\t// with the only change that it return `undefined` in case of a\r\n\t\t// \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\r\n\t\tlet country = this._getCountry()\r\n\r\n\t\tif (!nationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// `state.country` and `state.callingCode` aren't required to be in sync.\r\n\t\t// For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\r\n\t\t// So `country` and `callingCode` are totally independent.\r\n\r\n\t\tif (!country && !callingCode) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// By default, if `defaultCountry` parameter was passed when\r\n\t\t// creating `AsYouType` instance, `state.country` is gonna be\r\n\t\t// that `defaultCountry`, which doesn't entirely conform with\r\n\t\t// `parsePhoneNumber()`'s behavior where it attempts to determine\r\n\t\t// the country more precisely in cases when multiple countries\r\n\t\t// could correspond to the same `countryCallingCode`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\r\n\t\t//\r\n\t\t// Because `AsYouType.getNumber()` method is supposed to be a 1:1\r\n\t\t// equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\r\n\t\t// then it should also behave accordingly in cases of `country` ambiguity.\r\n\t\t// That's how users of this library would expect it to behave anyway.\r\n\t\t//\r\n\t\tif (country) {\r\n\t\t\tif (country === this.defaultCountry) {\r\n\t\t\t\t// `state.country` and `state.callingCode` aren't required to be in sync.\r\n\t\t\t\t// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\r\n\t\t\t\t// So `state.country` and `state.callingCode` are totally independent.\r\n\t\t\t\tconst metadata = new Metadata(this.metadata.metadata)\r\n\t\t\t\tmetadata.selectNumberingPlan(country)\r\n\t\t\t\tconst callingCode = metadata.numberingPlan.callingCode()\r\n\t\t\t\tconst ambiguousCountries = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\t\t\tif (ambiguousCountries.length > 1) {\r\n\t\t\t\t\tconst exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\r\n\t\t\t\t\t\tcountries: ambiguousCountries,\r\n\t\t\t\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\t\t\t\tmetadata: this.metadata.metadata\r\n\t\t\t\t\t})\r\n\t\t\t\t\tif (exactCountry) {\r\n\t\t\t\t\t\tcountry = exactCountry\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountry || callingCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"possible\".\r\n\t * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisPossible() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isPossible()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"valid\".\r\n\t * Is just a shortcut for `PhoneNumber.isValid()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisValid() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isValid()\r\n\t}\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t * This method is used in `react-phone-number-input/source/input-control.js`\r\n\t * in versions before `3.0.16`.\r\n\t */\r\n\tgetNationalNumber() {\r\n\t\treturn this.state.nationalSignificantNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the phone number characters entered by the user.\r\n\t * @return {string}\r\n\t */\r\n\tgetChars() {\r\n\t\treturn (this.state.international ? '+' : '') + this.state.digits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the template for the formatted phone number.\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplate() {\r\n\t\treturn this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ''\r\n\t}\r\n}","import { getCountryCallingCode } from 'libphonenumber-js/core'\r\n\r\nexport function getInputValuePrefix({\r\n\tcountry,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\tmetadata\r\n}) {\r\n\treturn country && international && !withCountryCallingCode ?\r\n\t\t`+${getCountryCallingCode(country, metadata)}` :\r\n\t\t''\r\n}\r\n\r\nexport function removeInputValuePrefix(value, prefix) {\r\n\tif (prefix) {\r\n\t\tvalue = value.slice(prefix.length)\r\n\t\tif (value[0] === ' ') {\r\n\t\t\tvalue = value.slice(1)\r\n\t\t}\r\n\t}\r\n\treturn value\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Input from 'input-format/react'\r\nimport { AsYouType, parsePhoneNumberCharacter } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js'\r\n\r\nexport function createInput(defaultMetadata)\r\n{\r\n\t/**\r\n\t * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's and maintains the caret's position in the process.\r\n\t * The caret positioning is maintained using `input-format` library.\r\n\t * Relies on being run in a DOM environment for calling caret positioning functions.\r\n\t */\r\n\tfunction InputSmart({\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata = defaultMetadata,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst format = useCallback((value) => {\r\n\t\t\t// \"As you type\" formatter.\r\n\t\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t\tconst prefix = getInputValuePrefix({\r\n\t\t\t\tcountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\twithCountryCallingCode,\r\n\t\t\t\tmetadata\r\n\t\t\t})\r\n\t\t\t// Format the number.\r\n\t\t\tlet text = formatter.input(prefix + value)\r\n\t\t\tlet template = formatter.getTemplate()\r\n\t\t\tif (prefix) {\r\n\t\t\t\ttext = removeInputValuePrefix(text, prefix)\r\n\t\t\t\t// `AsYouType.getTemplate()` can be `undefined`.\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate = removeInputValuePrefix(template, prefix)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\ttext,\r\n\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}, [country, metadata])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputSmart = React.forwardRef(InputSmart)\r\n\r\n\tInputSmart.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object\r\n\t}\r\n\r\n\treturn InputSmart\r\n}\r\n\r\nexport default createInput()","import AsYouType from './AsYouType.js'\r\n\r\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string?} country - Two-letter (\"ISO 3166-1 alpha-2\") country code.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\r\nexport default function formatIncompletePhoneNumber(value, country, metadata) {\r\n\tif (!metadata) {\r\n\t\tmetadata = country\r\n\t\tcountry = undefined\r\n\t}\r\n\treturn new AsYouType(country, metadata).input(value)\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\t/**\r\n\t * `InputBasic` is the most basic implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's input but doesn't control the caret in the process:\r\n\t * when erasing or inserting digits in the middle of a phone number\r\n\t * the caret usually jumps to the end (this is the expected behavior).\r\n\t * Why does `InputBasic` exist when there's `InputSmart`?\r\n\t * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n\t * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n\t * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n\t */\r\n\tfunction InputBasic({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata = defaultMetadata,\r\n\t\tinputComponent: Input = 'input',\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst prefix = getInputValuePrefix({\r\n\t\t\tcountry,\r\n\t\t\tinternational,\r\n\t\t\twithCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst _onChange = useCallback((event) => {\r\n\t\t\tlet newValue = parseIncompletePhoneNumber(event.target.value)\r\n\t\t\t// By default, if a value is something like `\"(123)\"`\r\n\t\t\t// then Backspace would only erase the rightmost brace\r\n\t\t\t// becoming something like `\"(123\"`\r\n\t\t\t// which would give the same `\"123\"` value\r\n\t\t\t// which would then be formatted back to `\"(123)\"`\r\n\t\t\t// and so a user wouldn't be able to erase the phone number.\r\n\t\t\t// Working around this issue with this simple hack.\r\n\t\t\tif (newValue === value) {\r\n\t\t\t\tconst newValueFormatted = format(prefix, newValue, country, metadata)\r\n\t\t\t\tif (newValueFormatted.indexOf(event.target.value) === 0) {\r\n\t\t\t\t\t// Trim the last digit (or plus sign).\r\n\t\t\t\t\tnewValue = newValue.slice(0, -1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tonChange(newValue)\r\n\t\t}, [\r\n\t\t\tprefix,\r\n\t\t\tvalue,\r\n\t\t\tonChange,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputBasic = React.forwardRef(InputBasic)\r\n\r\n\tInputBasic.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry : PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object,\r\n\r\n\t\t/**\r\n\t\t * The `` component.\r\n\t\t */\r\n\t\tinputComponent: PropTypes.elementType\r\n\t}\r\n\r\n\treturn InputBasic\r\n}\r\n\r\nexport default createInput()\r\n\r\nfunction format(prefix, value, country, metadata) {\r\n\treturn removeInputValuePrefix(\r\n\t\tformatIncompletePhoneNumber(\r\n\t\t\tprefix + value,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t),\r\n\t\tprefix\r\n\t)\r\n}","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\r\nexport default function getCountryFlag(country) {\r\n\treturn getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1])\r\n}\r\n\r\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\r\nfunction getRegionalIndicatorSymbol(letter) {\r\n\treturn String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0))\r\n}","import React, { useCallback, useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode'\r\n\r\nexport default function CountrySelect({\r\n\tvalue,\r\n\tonChange,\r\n\toptions,\r\n\t...rest\r\n}) {\r\n\tconst onChange_ = useCallback((event) => {\r\n\t\tconst value = event.target.value\r\n\t\tonChange(value === 'ZZ' ? undefined : value)\r\n\t}, [onChange])\r\n\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\t// \"ZZ\" means \"International\".\r\n\t// (HTML requires each `\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nCountrySelect.propTypes = {\r\n\t/**\r\n\t * A two-letter country code.\r\n\t * Example: \"US\", \"RU\", etc.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string`.\r\n\t * Updates the `value` property.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// `` options.\r\n * Can move some country `` options.\r\n * @param {string[]} [countryOptionsOrder] — Country `` can't be left in a broken state.\r\n\tif (!country && required && countries && countries.length > 0) {\r\n\t\tcountry = getAnyCountry()\r\n\t\t// noCountryMatchesTheNumber = true\r\n\t}\r\n\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Generates a sorted list of country `` option for each country.\r\n\tconst countrySelectOptions = countries.map((country) => ({\r\n\t\tvalue: country,\r\n\t\t// All `locale` country names included in this library\r\n\t\t// include all countries (this is checked at build time).\r\n\t\t// The only case when a country name might be missing\r\n\t\t// is when a developer supplies their own `labels` property.\r\n\t\t// To guard against such cases, a missing country name\r\n\t\t// is substituted by country code.\r\n\t\tlabel: countryNames[country] || country\r\n\t}))\r\n\r\n\t// Sort the list of countries alphabetically.\r\n\tcountrySelectOptions.sort((a, b) => _compareStrings(a.label, b.label, compareStringsLocales))\r\n\r\n\t// Add the \"International\" option to the country list (if suitable)\r\n\tif (addInternationalOption) {\r\n\t\tcountrySelectOptions.unshift({\r\n\t\t\tlabel: countryNames.ZZ\r\n\t\t})\r\n\t}\r\n\r\n\treturn countrySelectOptions\r\n}\r\n\r\n/**\r\n * Parses a E.164 phone number to an instance of `PhoneNumber` class.\r\n * @param {string?} value = E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {object} Object having shape `{ country: string?, countryCallingCode: string, number: string }`. `PhoneNumber`: https://gitlab.com/catamphetamine/libphonenumber-js#phonenumber.\r\n * @example\r\n * parsePhoneNumber('+78005553535')\r\n */\r\nexport function parsePhoneNumber(value, metadata) {\r\n\treturn parsePhoneNumber_(value || '', metadata)\r\n}\r\n\r\n/**\r\n * Generates national number digits for a parsed phone.\r\n * May prepend national prefix.\r\n * The phone number must be a complete and valid phone number.\r\n * @param {object} phoneNumber - An instance of `PhoneNumber` class.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {string}\r\n * @example\r\n * getNationalNumberDigits({ country: 'RU', phone: '8005553535' })\r\n * // returns '88005553535'\r\n */\r\nexport function generateNationalNumberDigits(phoneNumber) {\r\n\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n}\r\n\r\n/**\r\n * Migrates parsed `` `value` for the newly selected `country`.\r\n * @param {string?} phoneDigits - Phone number digits (and `+`) parsed from phone number `` (it's not the same as the `value` property).\r\n * @param {string?} prevCountry - Previously selected country.\r\n * @param {string?} newCountry - Newly selected country. Can't be same as previously selected country.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @param {boolean} useNationalFormat - whether should attempt to convert from international to national number for the new country.\r\n * @return {string?}\r\n */\r\nexport function getPhoneDigitsForNewCountry(phoneDigits, {\r\n\tprevCountry,\r\n\tnewCountry,\r\n\tmetadata,\r\n\tuseNationalFormat\r\n}) {\r\n\tif (prevCountry === newCountry) {\r\n\t\treturn phoneDigits\r\n\t}\r\n\r\n\t// If `parsed_input` is empty\r\n\t// then no need to migrate anything.\r\n\tif (!phoneDigits) {\r\n\t\tif (useNationalFormat) {\r\n\t\t\treturn ''\r\n\t\t} else {\r\n\t\t\t// If `phoneDigits` is empty then set `phoneDigits` to\r\n\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\treturn getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// If switching to some country.\r\n\t// (from \"International\" or another country)\r\n\t// If switching from \"International\" then `phoneDigits` starts with a `+`.\r\n\t// Otherwise it may or may not start with a `+`.\r\n\tif (newCountry) {\r\n\t\t// If the phone number was entered in international format\r\n\t\t// then migrate it to the newly selected country.\r\n\t\t// The phone number may be incomplete.\r\n\t\t// The phone number entered not necessarily starts with\r\n\t\t// the previously selected country phone prefix.\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\t// If the international phone number is for the new country\r\n\t\t\t// then convert it to local if required.\r\n\t\t\tif (useNationalFormat) {\r\n\t\t\t\t// // If a phone number is being input in international form\r\n\t\t\t\t// // and the country can already be derived from it,\r\n\t\t\t\t// // and if it is the new country, then format as a national number.\r\n\t\t\t\t// const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(phoneDigits, metadata)\r\n\t\t\t\t// if (derived_country === newCountry) {\r\n\t\t\t\t// \treturn stripCountryCallingCode(phoneDigits, derived_country, metadata)\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// Actually, the two countries don't necessarily need to match:\r\n\t\t\t\t// the condition could be looser here, because several countries\r\n\t\t\t\t// might share the same international phone number format\r\n\t\t\t\t// (for example, \"NANPA\" countries like US, Canada, etc).\r\n\t\t\t\t// The looser condition would be just \"same nternational phone number format\"\r\n\t\t\t\t// which would mean \"same country calling code\" in the context of `libphonenumber-js`.\r\n\t\t\t\tif (phoneDigits.indexOf('+' + getCountryCallingCode(newCountry, metadata)) === 0) {\r\n\t\t\t\t\treturn stripCountryCallingCode(phoneDigits, newCountry, metadata)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Simply discard the previously entered international phone number,\r\n\t\t\t\t// because otherwise any \"smart\" transformation like getting the\r\n\t\t\t\t// \"national (significant) number\" part and then prepending the\r\n\t\t\t\t// newly selected country's \"country calling code\" to it\r\n\t\t\t\t// would just be confusing for a user without being actually useful.\r\n\t\t\t\treturn ''\r\n\r\n\t\t\t\t// // Simply strip the leading `+` character\r\n\t\t\t\t// // therefore simply converting all digits into a \"local\" phone number.\r\n\t\t\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/287\r\n\t\t\t\t// return phoneDigits.slice(1)\r\n\t\t\t}\r\n\r\n\t\t\tif (prevCountry) {\r\n\t\t\t\tconst newCountryPrefix = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(newCountryPrefix) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newCountryPrefix\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst defaultValue = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is the same\r\n\t\t\t\t// as for the new `country`, then leave `phoneDigits` as is.\r\n\t\t\t\tif (phoneDigits.indexOf(defaultValue) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t}\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is not the same\r\n\t\t\t\t// as for the new `country`, then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn defaultValue\r\n\t\t\t}\r\n\r\n\t\t\t// // If the international phone number already contains\r\n\t\t\t// // any country calling code then trim the country calling code part.\r\n\t\t\t// // (that could also be the newly selected country phone code prefix as well)\r\n\t\t\t// // `phoneDigits` doesn't neccessarily belong to `prevCountry`.\r\n\t\t\t// // (e.g. if a user enters an international number\r\n\t\t\t// // not belonging to any of the reduced `countries` list).\r\n\t\t\t// phoneDigits = stripCountryCallingCode(phoneDigits, prevCountry, metadata)\r\n\r\n\t\t\t// // Prepend country calling code prefix\r\n\t\t\t// // for the newly selected country.\r\n\t\t\t// return e164(phoneDigits, newCountry, metadata) || `+${getCountryCallingCode(newCountry, metadata)}`\r\n\t\t}\r\n\t}\r\n\t// If switching to \"International\" from a country.\r\n\telse {\r\n\t\t// If the phone number was entered in national format.\r\n\t\tif (phoneDigits[0] !== '+') {\r\n\t\t\t// Format the national phone number as an international one.\r\n\t\t\t// The phone number entered not necessarily even starts with\r\n\t\t\t// the previously selected country phone prefix.\r\n\t\t\t// Even if the phone number belongs to whole another country\r\n\t\t\t// it will still be parsed into some national phone number.\r\n\t\t\t//\r\n\t\t\t// Ignore the now-uncovered `|| ''` code branch:\r\n\t\t\t// previously `e164()` function could return an empty string\r\n\t\t\t// even when `phoneDigits` were not empty.\r\n\t\t\t// Now it always returns some `value` when there're any `phoneDigits`.\r\n\t\t\t// Still, didn't remove the `|| ''` code branch just in case\r\n\t\t\t// that logic changes somehow in some future, so there're no\r\n\t\t\t// possible bugs related to that.\r\n\t\t\t//\r\n\t\t\t// (ignore the `|| ''` code branch)\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn e164(phoneDigits, prevCountry, metadata) || ''\r\n\t\t}\r\n\t}\r\n\r\n\treturn phoneDigits\r\n}\r\n\r\n/**\r\n * Converts phone number digits to a (possibly incomplete) E.164 phone number.\r\n * @param {string?} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function e164(number, country, metadata) {\r\n\tif (!number) {\r\n\t\treturn\r\n\t}\r\n\t// If the phone number is being input in international format.\r\n\tif (number[0] === '+') {\r\n\t\t// If it's just the `+` sign then return nothing.\r\n\t\tif (number === '+') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Return a E.164 phone number.\r\n\t\t//\r\n\t\t// Could return `number` \"as is\" here, but there's a possibility\r\n\t\t// that some user might incorrectly input an international number\r\n\t\t// with a \"national prefix\". Such numbers aren't considered valid,\r\n\t\t// but `libphonenumber-js` is \"forgiving\" when it comes to parsing\r\n\t\t// user's input, and this input component follows that behavior.\r\n\t\t//\r\n\t\tconst asYouType = new AsYouType(country, metadata)\r\n\t\tasYouType.input(number)\r\n\t\t// This function would return `undefined` only when `number` is `\"+\"`,\r\n\t\t// but at this point it is known that `number` is not `\"+\"`.\r\n\t\treturn asYouType.getNumberValue()\r\n\t}\r\n\t// For non-international phone numbers\r\n\t// an accompanying country code is required.\r\n\t// The situation when `country` is `undefined`\r\n\t// and a non-international phone number is passed\r\n\t// to this function shouldn't happen.\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\tconst partial_national_significant_number = getNationalSignificantNumberDigits(number, country, metadata)\r\n\t//\r\n\t// Even if no \"national (significant) number\" digits have been input,\r\n\t// still return a non-`undefined` value.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/113\r\n\t//\r\n\t// For example, if the user has selected country `US` and entered `\"1\"`\r\n\t// then that `\"1\"` is just a \"national prefix\" and no \"national (significant) number\"\r\n\t// digits have been input yet. Still, return `\"+1\"` as `value` in such cases,\r\n\t// because otherwise the app would think that the input is empty and mark it as such\r\n\t// while in reality it isn't empty, which might be thought of as a \"bug\", or just\r\n\t// a \"weird\" behavior.\r\n\t//\r\n\t// if (partial_national_significant_number) {\r\n\t\treturn `+${getCountryCallingCode(country, metadata)}${partial_national_significant_number || ''}`\r\n\t// }\r\n}\r\n\r\n/**\r\n * Trims phone number digits if they exceed the maximum possible length\r\n * for a national (significant) number for the country.\r\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} Can be empty.\r\n */\r\nexport function trimNumber(number, country, metadata) {\r\n\tconst nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (nationalSignificantNumberPart) {\r\n\t\tconst overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country, metadata)\r\n\t\tif (overflowDigitsCount > 0) {\r\n\t\t\treturn number.slice(0, number.length - overflowDigitsCount)\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}\r\n\r\nfunction getMaxNumberLength(country, metadata) {\r\n\t// Get \"possible lengths\" for a phone number of the country.\r\n\tmetadata = new Metadata(metadata)\r\n\tmetadata.selectNumberingPlan(country)\r\n\t// Return the last \"possible length\".\r\n\treturn metadata.numberingPlan.possibleLengths()[metadata.numberingPlan.possibleLengths().length - 1]\r\n}\r\n\r\n// If the phone number being input is an international one\r\n// then tries to derive the country from the phone number.\r\n// (regardless of whether there's any country currently selected)\r\n/**\r\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryForPartialE164Number(partialE164Number, {\r\n\tcountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tif (partialE164Number === '+') {\r\n\t\t// Don't change the currently selected country yet.\r\n\t\treturn country\r\n\t}\r\n\r\n\tconst derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number, metadata)\r\n\r\n\t// If a phone number is being input in international form\r\n\t// and the country can already be derived from it,\r\n\t// then select that country.\r\n\tif (derived_country && (!countries || (countries.indexOf(derived_country) >= 0))) {\r\n\t\treturn derived_country\r\n\t}\r\n\t// If \"International\" country option has not been disabled\r\n\t// and the international phone number entered doesn't correspond\r\n\t// to the currently selected country then reset the currently selected country.\r\n\telse if (country &&\r\n\t\t!required &&\r\n\t\t!couldNumberBelongToCountry(partialE164Number, country, metadata)) {\r\n\t\treturn undefined\r\n\t}\r\n\r\n\t// Don't change the currently selected country.\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Parses `` value. Derives `country` from `input`. Derives an E.164 `value`.\r\n * @param {string?} phoneDigits — Parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} prevPhoneDigits — Previous parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} country - Currently selected country.\r\n * @param {boolean} countryRequired - Is selecting some country required.\r\n * @param {function} getAnyCountry - Can be used to get any country when selecting some country required.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {boolean} international - Set to `true` to force international phone number format (leading `+`). Set to `false` to force \"national\" phone number format. Is `undefined` by default.\r\n * @param {boolean} limitMaxLength — Whether to enable limiting phone number max length.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {object} An object of shape `{ input, country, value }`.\r\n */\r\nexport function onPhoneDigitsChange(phoneDigits, {\r\n\tprevPhoneDigits,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tcountryRequired,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\tinternational,\r\n\tlimitMaxLength,\r\n\tcountryCallingCodeEditable,\r\n\tmetadata\r\n}) {\r\n\tif (international && countryCallingCodeEditable === false) {\r\n\t\tif (country) {\r\n\t\t\t// For international phone numbers written with non-editable country calling code,\r\n\t\t\t// the `` value must always start with that non-editable country calling code.\r\n\t\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t\t// If the input value doesn't start with the non-editable country calling code,\r\n\t\t\t// it should be fixed.\r\n\t\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\t\tlet value\r\n\t\t\t\t// If a phone number input is declared as\r\n\t\t\t\t// `international: true` and `countryCallingCodeEditable: false`,\r\n\t\t\t\t// then the value of the `` is gonna be non-empty at all times,\r\n\t\t\t\t// even before the user has started to input any digits in the input field,\r\n\t\t\t\t// because the country calling code is always there by design.\r\n\t\t\t\t//\r\n\t\t\t\t// The fact that the input value is always non-empty results in a side effect:\r\n\t\t\t\t// whenever a user tabs into such input field, its value gets automatically selected.\r\n\t\t\t\t// If at that moment in time the user starts typing in the national digits of the phone number,\r\n\t\t\t\t// the selected `` value gets automatically replaced by those typed-in digits\r\n\t\t\t\t// so the value changes from `+xxx` to `y`, because inputting anything while having\r\n\t\t\t\t// the `` value selected results in erasing that `` value.\r\n\t\t\t\t//\r\n\t\t\t\t// This component handles such cases by restoring the `` value to what\r\n\t\t\t\t// it should be in such cases: `+xxxy`.\r\n\t\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\t\t//\r\n\t\t\t\tconst hasStartedTypingInNationalNumberDigitsHavingInputValueSelected = phoneDigits && phoneDigits[0] !== '+'\r\n\t\t\t\tif (hasStartedTypingInNationalNumberDigitsHavingInputValueSelected) {\r\n\t\t\t\t\t// Fix the input value to what it should be: `y` → `+xxxy`.\r\n\t\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// In other cases, simply reset the `` value, because there're only two\r\n\t\t\t\t\t// possible cases:\r\n\t\t\t\t\t// * The user has selected the `` value and then hit Delete/Backspace to erase it.\r\n\t\t\t\t\t// * The user has pasted an international phone number for another country calling code,\r\n\t\t\t\t\t// which is considered a non-valid value.\r\n\t\t\t\t\tphoneDigits = prefix\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tphoneDigits,\r\n\t\t\t\t\tvalue,\r\n\t\t\t\t\tcountry\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `international` property is `false`, then it means\r\n\t// \"enforce national-only format during input\",\r\n\t// so, if that's the case, then remove all `+` characters,\r\n\t// but only if some country is currently selected.\r\n\t// (not if \"International\" country is selected).\r\n\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// Trim the input to not exceed the maximum possible number length.\r\n\tif (phoneDigits && country && limitMaxLength) {\r\n\t\tphoneDigits = trimNumber(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// If this `onChange()` event was triggered\r\n\t// as a result of selecting \"International\" country,\r\n\t// then force-prepend a `+` sign if the phone number\r\n\t// `` value isn't in international format.\r\n\t// Also, force-prepend a `+` sign if international\r\n\t// phone number input format is set.\r\n\tif (phoneDigits && phoneDigits[0] !== '+' && (!country || international)) {\r\n\t\tphoneDigits = '+' + phoneDigits\r\n\t}\r\n\r\n\t// If the previously entered phone number\r\n\t// has been entered in international format\r\n\t// and the user decides to erase it,\r\n\t// then also reset the `country`\r\n\t// because it was most likely automatically selected\r\n\t// while the user was typing in the phone number\r\n\t// in international format.\r\n\t// This fixes the issue when a user is presented\r\n\t// with a phone number input with no country selected\r\n\t// and then types in their local phone number\r\n\t// then discovers that the input's messed up\r\n\t// (a `+` has been prepended at the start of their input\r\n\t// and a random country has been selected),\r\n\t// decides to undo it all by erasing everything\r\n\t// and then types in their local phone number again\r\n\t// resulting in a seemingly correct phone number\r\n\t// but in reality that phone number has incorrect country.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/273\r\n\tif (!phoneDigits && prevPhoneDigits && prevPhoneDigits[0] === '+') {\r\n\t\tif (international) {\r\n\t\t\tcountry = undefined\r\n\t\t} else {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\t// Also resets such \"randomly\" selected country\r\n\t// as soon as the user erases the number\r\n\t// digit-by-digit up to the leading `+` sign.\r\n\tif (phoneDigits === '+' && prevPhoneDigits && prevPhoneDigits[0] === '+' && prevPhoneDigits.length > '+'.length) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// Generate the new `value` property.\r\n\tlet value\r\n\tif (phoneDigits) {\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\tif (phoneDigits === '+') {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else if (country && getInternationalPhoneNumberPrefix(country, metadata).indexOf(phoneDigits) === 0) {\r\n\t\t\t\t// Selected a `country` and started inputting an\r\n\t\t\t\t// international phone number for this country\r\n\t\t\t\t// but hasn't input any \"national (significant) number\" digits yet.\r\n\t\t\t\t// In that case, assume `value` be `undefined`.\r\n\t\t\t\t//\r\n\t\t\t\t// For example, if selected `country` `\"US\"`\r\n\t\t\t\t// and started inputting phone number `\"+1\"`\r\n\t\t\t\t// then `value` `undefined` will be returned from this function.\r\n\t\t\t\t//\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else {\r\n\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// Derive the country from the phone number.\r\n\t// (regardless of whether there's any country currently selected,\r\n\t// because there could be several countries corresponding to one country calling code)\r\n\tif (value) {\r\n\t\tcountry = getCountryForPartialE164Number(value, {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\t// If `international` property is `false`, then it means\r\n\t\t// \"enforce national-only format during input\",\r\n\t\t// so, if that's the case, then remove all `+` characters,\r\n\t\t// but only if some country is currently selected.\r\n\t\t// (not if \"International\" country is selected).\r\n\t\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t\t\t// Re-calculate `value` because `phoneDigits` has changed.\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\tif (!country && countryRequired) {\r\n\t\tcountry = defaultCountry || getAnyCountry()\r\n\t}\r\n\r\n\treturn {\r\n\t\tphoneDigits,\r\n\t\tcountry,\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\nfunction convertInternationalPhoneDigitsToNational(input, country, metadata) {\r\n\t// Handle the case when a user might have pasted\r\n\t// a phone number in international format.\r\n\tif (input.indexOf(getInternationalPhoneNumberPrefix(country, metadata)) === 0) {\r\n\t\t// Create \"as you type\" formatter.\r\n\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t// Input partial national phone number.\r\n\t\tformatter.input(input)\r\n\t\t// Return the parsed partial national phone number.\r\n\t\tconst phoneNumber = formatter.getNumber()\r\n\t\tif (phoneNumber) {\r\n\t\t\t// Transform the number to a national one,\r\n\t\t\t// and remove all non-digits.\r\n\t\t\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n\t\t} else {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t} else {\r\n\t\t// Just remove the `+` sign.\r\n\t\treturn input.replace(/\\D/g, '')\r\n\t}\r\n}\r\n\r\n/**\r\n * Determines the country for a given (possibly incomplete) E.164 phone number.\r\n * @param {string} number - A possibly incomplete E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryFromPossiblyIncompleteInternationalPhoneNumber(number, metadata) {\r\n\tconst formatter = new AsYouType(null, metadata)\r\n\tformatter.input(number)\r\n\t// // `001` is a special \"non-geograpical entity\" code\r\n\t// // in Google's `libphonenumber` library.\r\n\t// if (formatter.getCountry() === '001') {\r\n\t// \treturn\r\n\t// }\r\n\treturn formatter.getCountry()\r\n}\r\n\r\n/**\r\n * Compares two strings.\r\n * A helper for `Array.sort()`.\r\n * @param {string} a — First string.\r\n * @param {string} b — Second string.\r\n * @param {(string[]|string)} [locales] — The `locales` argument of `String.localeCompare`.\r\n */\r\nexport function compareStrings(a, b, locales) {\r\n // Use `String.localeCompare` if it's available.\r\n // https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\r\n // Which means everyone except IE <= 10 and Safari <= 10.\r\n // `localeCompare()` is available in latest Node.js versions.\r\n /* istanbul ignore else */\r\n if (String.prototype.localeCompare) {\r\n return a.localeCompare(b, locales);\r\n }\r\n /* istanbul ignore next */\r\n return a < b ? -1 : (a > b ? 1 : 0);\r\n}\r\n\r\n/**\r\n * Strips `+${countryCallingCode}` prefix from an E.164 phone number.\r\n * @param {string} number - (possibly incomplete) E.164 phone number.\r\n * @param {string?} country - A possible country for this phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string}\r\n */\r\nexport function stripCountryCallingCode(number, country, metadata) {\r\n\t// Just an optimization, so that it\r\n\t// doesn't have to iterate through all country calling codes.\r\n\tif (country) {\r\n\t\tconst countryCallingCodePrefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t\t// If `country` fits the actual `number`.\r\n\t\tif (number.length < countryCallingCodePrefix.length) {\r\n\t\t\tif (countryCallingCodePrefix.indexOf(number) === 0) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (number.indexOf(countryCallingCodePrefix) === 0) {\r\n\t\t\t\treturn number.slice(countryCallingCodePrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `country` doesn't fit the actual `number`.\r\n\t// Try all available country calling codes.\r\n\tfor (const country_calling_code of Object.keys(metadata.country_calling_codes)) {\r\n\t\tif (number.indexOf(country_calling_code) === '+'.length) {\r\n\t\t\treturn number.slice('+'.length + country_calling_code.length)\r\n\t\t}\r\n\t}\r\n\r\n\treturn ''\r\n}\r\n\r\n/**\r\n * Parses a partially entered national phone number digits\r\n * (or a partially entered E.164 international phone number)\r\n * and returns the national significant number part.\r\n * National significant number returned doesn't come with a national prefix.\r\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} [result]\r\n */\r\nexport function getNationalSignificantNumberDigits(number, country, metadata) {\r\n\t// Create \"as you type\" formatter.\r\n\tconst formatter = new AsYouType(country, metadata)\r\n\t// Input partial national phone number.\r\n\tformatter.input(number)\r\n\t// Return the parsed partial national phone number.\r\n\tconst phoneNumber = formatter.getNumber()\r\n\treturn phoneNumber && phoneNumber.nationalNumber\r\n}\r\n\r\n/**\r\n * Checks if a partially entered E.164 phone number could belong to a country.\r\n * @param {string} number\r\n * @param {string} country\r\n * @return {boolean}\r\n */\r\nexport function couldNumberBelongToCountry(number, country, metadata) {\r\n\tconst intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\tlet i = 0\r\n\twhile (i < number.length && i < intlPhoneNumberPrefix.length) {\r\n\t\tif (number[i] !== intlPhoneNumberPrefix[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/**\r\n * Gets initial \"phone digits\" (including `+`, if using international format).\r\n * @return {string} [phoneDigits] Returns `undefined` if there should be no initial \"phone digits\".\r\n */\r\nexport function getInitialPhoneDigits({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tinternational,\r\n\tuseNationalFormat,\r\n\tmetadata\r\n}) {\r\n\t// If the `value` (E.164 phone number)\r\n\t// belongs to the currently selected country\r\n\t// and `useNationalFormat` is `true`\r\n\t// then convert `value` (E.164 phone number)\r\n\t// to a local phone number digits.\r\n\t// E.g. '+78005553535' -> '88005553535'.\r\n\tif ((international === false || useNationalFormat) && phoneNumber && phoneNumber.country) {\r\n\t\treturn generateNationalNumberDigits(phoneNumber)\r\n\t}\r\n\t// If `international` property is `true`,\r\n\t// meaning \"enforce international phone number format\",\r\n\t// then always show country calling code in the input field.\r\n\tif (!value && international && defaultCountry) {\r\n\t\treturn getInternationalPhoneNumberPrefix(defaultCountry, metadata)\r\n\t}\r\n\treturn value\r\n}","import {\r\n\tgetInitialPhoneDigits,\r\n\tgetCountryForPartialE164Number,\r\n\tparsePhoneNumber\r\n} from './phoneInputHelpers.js'\r\n\r\nimport getInternationalPhoneNumberPrefix from './getInternationalPhoneNumberPrefix.js'\r\n\r\nimport {\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries\r\n} from './countries.js'\r\n\r\nexport default function getPhoneInputWithCountryStateUpdateFromNewProps(props, prevProps, state) {\r\n\tconst {\r\n\t\tmetadata,\r\n\t\tcountries,\r\n\t\tdefaultCountry: newDefaultCountry,\r\n\t\tvalue: newValue,\r\n\t\treset: newReset,\r\n\t\tinternational,\r\n\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t// superceded by `initialValueFormat` property.\r\n\t\tdisplayInitialValueAsLocalNumber,\r\n\t\tinitialValueFormat\r\n\t} = props\r\n\r\n\tconst {\r\n\t\tdefaultCountry: prevDefaultCountry,\r\n\t\tvalue: prevValue,\r\n\t\treset: prevReset\r\n\t} = prevProps\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tvalue,\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\t\thasUserSelectedACountry\r\n\t} = state\r\n\r\n\tconst _getInitialPhoneDigits = (parameters) => getInitialPhoneDigits({\r\n\t\t...parameters,\r\n\t\tinternational,\r\n\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\tmetadata\r\n\t})\r\n\r\n\t// Some users requested a way to reset the component\r\n\t// (both number `` and country ``\r\n\t// and country ``.\r\n\t// It's also not replaced with just resetting `country` on\r\n\t// external `value` reset, because a user could select a country\r\n\t// and then not input any `value`, and so the selected country\r\n\t// would be \"stuck\", if not using this `reset` property.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\tif (newReset !== prevReset) {\r\n\t\treturn {\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: undefined,\r\n\t\t\tcountry: newDefaultCountry,\r\n\t\t\thasUserSelectedACountry: undefined\r\n\t\t}\r\n\t}\r\n\r\n\t// `value` is the value currently shown in the component:\r\n\t// it's stored in the component's `state`, and it's not the `value` property.\r\n\t// `prevValue` is \"previous `value` property\".\r\n\t// `newValue` is \"new `value` property\".\r\n\r\n\t// If the default country changed\r\n\t// (e.g. in case of ajax GeoIP detection after page loaded)\r\n\t// then select it, but only if the user hasn't already manually\r\n\t// selected a country, and no phone number has been manually entered so far.\r\n\t// Because if the user has already started inputting a phone number\r\n\t// then they're okay with no country being selected at all (\"International\")\r\n\t// and they don't want to be disturbed, don't want their input to be screwed, etc.\r\n\tif (newDefaultCountry !== prevDefaultCountry) {\r\n\t\tconst isNewDefaultCountrySupported = !newDefaultCountry || isCountrySupportedWithError(newDefaultCountry, metadata)\r\n\t\tconst noValueHasBeenEnteredByTheUser = (\r\n\t\t\t// By default, \"no value has been entered\" means `value` is `undefined`.\r\n\t\t\t!value ||\r\n\t\t\t// When `international` is `true`, and some country has been pre-selected,\r\n\t\t\t// then the `` contains a pre-filled value of `+${countryCallingCode}${leadingDigits}`,\r\n\t\t\t// so in case of `international` being `true`, \"the user hasn't entered anything\" situation\r\n\t\t\t// doesn't just mean `value` is `undefined`, but could also mean `value` is `+${countryCallingCode}`.\r\n\t\t\t(international && value === _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: prevDefaultCountry\r\n\t\t\t}))\r\n\t\t)\r\n\t\t// Only update the `defaultCountry` property if no phone number\r\n\t\t// has been entered by the user or pre-set by the application.\r\n\t\tconst noValueHasBeenEntered = !newValue && noValueHasBeenEnteredByTheUser\r\n\t\tif (!hasUserSelectedACountry && isNewDefaultCountrySupported && noValueHasBeenEntered) {\r\n\t\t\treturn {\r\n\t\t\t\tcountry: newDefaultCountry,\r\n\t\t\t\t// If `phoneDigits` is empty, then automatically select the new `country`\r\n\t\t\t\t// and set `phoneDigits` to `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\t// The code assumes that \"no phone number has been entered by the user\",\r\n\t\t\t\t// and no `value` property has been passed, so the `phoneNumber` parameter\r\n\t\t\t\t// of `_getInitialPhoneDigits({ value, phoneNumber, ... })` is `undefined`.\r\n\t\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\t\tvalue: undefined,\r\n\t\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t\t}),\r\n\t\t\t\t// `value` is `undefined` and it stays so.\r\n\t\t\t\tvalue: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If a new `value` is set externally.\r\n\t// (e.g. as a result of an ajax API request\r\n\t// to get user's phone after page loaded)\r\n\t// The first part — `newValue !== prevValue` —\r\n\t// is basically `props.value !== prevProps.value`\r\n\t// so it means \"if value property was changed externally\".\r\n\t// The second part — `newValue !== value` —\r\n\t// is for ignoring the `getDerivedStateFromProps()` call\r\n\t// which happens in `this.onChange()` right after `this.setState()`.\r\n\t// If this `getDerivedStateFromProps()` call isn't ignored\r\n\t// then the country flag would reset on each input.\r\n\tif (!valuesAreEqual(newValue, prevValue) && !valuesAreEqual(newValue, value)) {\r\n\t\tlet phoneNumber\r\n\t\tlet parsedCountry\r\n\t\tif (newValue) {\r\n\t\t\tphoneNumber = parsePhoneNumber(newValue, metadata)\r\n\t\t\tconst supportedCountries = getSupportedCountries(countries, metadata)\r\n\t\t\tif (phoneNumber && phoneNumber.country) {\r\n\t\t\t\t// Ignore `else` because all countries are supported in metadata.\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tif (!supportedCountries || supportedCountries.indexOf(phoneNumber.country) >= 0) {\r\n\t\t\t\t\tparsedCountry = phoneNumber.country\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tparsedCountry = getCountryForPartialE164Number(newValue, {\r\n\t\t\t\t\tcountry: undefined,\r\n\t\t\t\t\tcountries: supportedCountries,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t})\r\n\t\t\t\t// In cases when multiple countries correspond to the same country calling code,\r\n\t\t\t\t// the phone number digits of `newValue` have to be matched against country-specific\r\n\t\t\t\t// regular expressions in order to determine the exact country.\r\n\t\t\t\t// Sometimes, that algorithm can't decide for sure which country does the phone number belong to,\r\n\t\t\t\t// for example when the digits of `newValue` don't match any of those regular expressions.\r\n\t\t\t\t// and the country of the phone number couldn't be determined.\r\n\t\t\t\t// In those cases, people prefer the component to show the flag of the `defaultCountry`\r\n\t\t\t\t// if the phone number could potentially belong to that `defaultCountry`.\r\n\t\t\t\t// At least that's how the component behaves when a user pastes an international\r\n\t\t\t\t// phone number into the input field: for example, when `defaultCountry` is `\"US\"`\r\n\t\t\t\t// and the user pastes value \"+1 555 555 5555\" into the input field, it keep showing \"US\" flag.\r\n\t\t\t\t// So when setting new `value` property externally, the component should behave the same way:\r\n\t\t\t\t// it should select the `defaultCountry` when the new `value` could potentially belong\r\n\t\t\t\t// to that country in cases when the exact country can't be determined.\r\n\t\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/413#issuecomment-1536219404\r\n\t\t\t\tif (!parsedCountry) {\r\n\t\t\t\t\tif (newValue.indexOf(getInternationalPhoneNumberPrefix(newDefaultCountry, metadata)) === 0) {\r\n\t\t\t\t\t\tparsedCountry = newDefaultCountry\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet hasUserSelectedACountryUpdate\r\n\t\tif (!newValue) {\r\n\t\t\t// Reset `hasUserSelectedACountry` flag in `state`.\r\n\t\t\thasUserSelectedACountryUpdate = {\r\n\t\t\t\thasUserSelectedACountry: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\t...hasUserSelectedACountryUpdate,\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tvalue: newValue,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: newValue,\r\n\t\t\tcountry: newValue ? parsedCountry : newDefaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// `defaultCountry` didn't change.\r\n\t// `value` didn't change.\r\n\t// `phoneDigits` didn't change, because `value` didn't change.\r\n\t//\r\n\t// So no need to update state.\r\n}\r\n\r\nfunction valuesAreEqual(value1, value2) {\r\n\t// If `value` has been set to `null` externally then convert it to `undefined`.\r\n\t//\r\n\t// For example, `react-hook-form` sets `value` to `null` when the user clears the input.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/164\r\n\t// In that case, without this conversion of `null` to `undefined`, it would reset\r\n\t// the selected country to `defaultCountry` because in that case `newValue !== value`\r\n\t// because `null !== undefined`.\r\n\t//\r\n\t// Historically, empty `value` is encoded as `undefined`.\r\n\t// Perhaps empty `value` would be better encoded as `null` instead.\r\n\t// But because that would be a potentially breaking change for some people,\r\n\t// it's left as is for the current \"major\" version of this library.\r\n\t//\r\n\tif (value1 === null) {\r\n\t\tvalue1 = undefined\r\n\t}\r\n\tif (value2 === null) {\r\n\t\tvalue2 = undefined\r\n\t}\r\n\treturn value1 === value2\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport InputSmart from './InputSmart.js'\r\nimport InputBasic from './InputBasic.js'\r\n\r\nimport { CountrySelectWithIcon as CountrySelect } from './CountrySelect.js'\r\n\r\nimport Flag from './Flag.js'\r\nimport InternationalIcon from './InternationalIcon.js'\r\n\r\nimport {\r\n\tsortCountryOptions,\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries,\r\n\tgetSupportedCountryOptions,\r\n\tgetCountries\r\n} from './helpers/countries.js'\r\n\r\nimport { createCountryIconComponent } from './CountryIcon.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tgetPhoneDigitsForNewCountry,\r\n\tgetInitialPhoneDigits,\r\n\tonPhoneDigitsChange,\r\n\te164\r\n} from './helpers/phoneInputHelpers.js'\r\n\r\nimport getPhoneInputWithCountryStateUpdateFromNewProps from './helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js'\r\n\r\nclass PhoneNumberInput_ extends React.PureComponent {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\r\n\t\tthis.inputRef = React.createRef()\r\n\r\n\t\tconst {\r\n\t\t\tvalue,\r\n\t\t\tlabels,\r\n\t\t\tinternational,\r\n\t\t\taddInternationalOption,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tlet {\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries\r\n\t\t} = this.props\r\n\r\n\t\t// Validate `defaultCountry`.\r\n\t\tif (defaultCountry) {\r\n\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\tdefaultCountry = undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Validate `countries`.\r\n\t\tcountries = getSupportedCountries(countries, metadata)\r\n\r\n\t\tconst phoneNumber = parsePhoneNumber(value, metadata)\r\n\r\n\t\tthis.CountryIcon = createCountryIconComponent(this.props)\r\n\r\n\t\tconst preSelectedCountry = getPreSelectedCountry({\r\n\t\t\tvalue,\r\n\t\t\tphoneNumber,\r\n\t\t\tdefaultCountry,\r\n\t\t\trequired: !addInternationalOption,\r\n\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Workaround for `this.props` inside `getDerivedStateFromProps()`.\r\n\t\t\tprops: this.props,\r\n\r\n\t\t\t// The country selected.\r\n\t\t\tcountry: preSelectedCountry,\r\n\r\n\t\t\t// `countries` are stored in `this.state` because they're filtered.\r\n\t\t\t// For example, a developer might theoretically pass some unsupported\r\n\t\t\t// countries as part of the `countries` property, and because of that\r\n\t\t\t// the component uses `this.state.countries` (which are filtered)\r\n\t\t\t// instead of `this.props.countries`\r\n\t\t\t// (which could potentially contain unsupported countries).\r\n\t\t\tcountries,\r\n\r\n\t\t\t// `phoneDigits` state property holds non-formatted user's input.\r\n\t\t\t// The reason is that there's no way of finding out\r\n\t\t\t// in which form should `value` be displayed: international or national.\r\n\t\t\t// E.g. if `value` is `+78005553535` then it could be input\r\n\t\t\t// by a user both as `8 (800) 555-35-35` and `+7 800 555 35 35`.\r\n\t\t\t// Hence storing just `value` is not sufficient for correct formatting.\r\n\t\t\t// E.g. if a user entered `8 (800) 555-35-35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `88005553535`\r\n\t\t\t// and if a user entered `+7 800 555 35 35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `+78005553535`.\r\n\t\t\tphoneDigits: getInitialPhoneDigits({\r\n\t\t\t\tvalue,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tdefaultCountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\t\t\tmetadata\r\n\t\t\t}),\r\n\r\n\t\t\t// `value` property is duplicated in state.\r\n\t\t\t// The reason is that `getDerivedStateFromProps()`\r\n\t\t\t// needs this `value` to compare to the new `value` property\r\n\t\t\t// to find out if `phoneDigits` needs updating:\r\n\t\t\t// If the `value` property was changed externally\r\n\t\t\t// then it won't be equal to `state.value`\r\n\t\t\t// in which case `phoneDigits` and `country` should be updated.\r\n\t\t\tvalue\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tlet { defaultCountry } = this.props\r\n\t\tconst { country: selectedCountry } = this.state\r\n\t\tif (onCountryChange) {\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\t\tdefaultCountry = undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (selectedCountry !== defaultCountry) {\r\n\t\t\t\tonCountryChange(selectedCountry)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps, prevState) {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tconst { country } = this.state\r\n\t\t// Call `onCountryChange` when user selects another country.\r\n\t\tif (onCountryChange && country !== prevState.country) {\r\n\t\t\tonCountryChange(country)\r\n\t\t}\r\n\t}\r\n\r\n\tsetInputRef = (instance) => {\r\n\t\tthis.inputRef.current = instance\r\n\t\tconst { inputRef: ref } = this.props\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountrySelectOptions({ countries }) {\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tlocales,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\t\treturn this.useMemoCountrySelectOptions(() => {\r\n\t\t\treturn sortCountryOptions(\r\n\t\t\t\tgetCountrySelectOptions({\r\n\t\t\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\t\t\tcountryNames: labels,\r\n\t\t\t\t\taddInternationalOption: (international && countryCallingCodeEditable === false) ? false : addInternationalOption,\r\n\t\t\t\t\tcompareStringsLocales: locales,\r\n\t\t\t\t\t// compareStrings\r\n\t\t\t\t}),\r\n\t\t\t\tgetSupportedCountryOptions(countryOptionsOrder, metadata)\r\n\t\t\t)\r\n\t\t}, [\r\n\t\t\tcountries,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tmetadata\r\n\t\t])\r\n\t}\r\n\r\n\tuseMemoCountrySelectOptions(generator, dependencies) {\r\n\t\tif (\r\n\t\t\t!this.countrySelectOptionsMemoDependencies ||\r\n\t\t\t!areEqualArrays(dependencies, this.countrySelectOptionsMemoDependencies)\r\n\t\t) {\r\n\t\t\tthis.countrySelectOptionsMemo = generator()\r\n\t\t\tthis.countrySelectOptionsMemoDependencies = dependencies\r\n\t\t}\r\n\t\treturn this.countrySelectOptionsMemo\r\n\t}\r\n\r\n\tgetFirstSupportedCountry({ countries }) {\r\n\t\tconst countryOptions = this.getCountrySelectOptions({ countries })\r\n\t\treturn countryOptions[0].value\r\n\t}\r\n\r\n\t// A shorthand for not passing `metadata` as a second argument.\r\n\tisCountrySupportedWithError = (country) => {\r\n\t\tconst { metadata } = this.props\r\n\t\treturn isCountrySupportedWithError(country, metadata)\r\n\t}\r\n\r\n\t// Country `` holds any digits\r\n\t\t// then migrate those digits for the new `country`.\r\n\t\tconst newPhoneDigits = getPhoneDigitsForNewCountry(prevPhoneDigits, {\r\n\t\t\tprevCountry,\r\n\t\t\tnewCountry,\r\n\t\t\tmetadata,\r\n\t\t\t// Convert the phone number to \"national\" format\r\n\t\t\t// when the user changes the selected country by hand.\r\n\t\t\tuseNationalFormat: !international\r\n\t\t})\r\n\r\n\t\tconst newValue = e164(newPhoneDigits, newCountry, metadata)\r\n\r\n\t\t// Focus phone number `` upon country selection.\r\n\t\tif (focusInputOnCountrySelection) {\r\n\t\t\tthis.inputRef.current.focus()\r\n\t\t}\r\n\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\r\n\t\tthis.setState({\r\n\t\t\tcountry: newCountry,\r\n\t\t\thasUserSelectedACountry: true,\r\n\t\t\tphoneDigits: newPhoneDigits,\r\n\t\t\tvalue: newValue\r\n\t\t},\r\n\t\t() => {\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\tonChange(newValue)\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * `` `onChange()` handler.\r\n\t * Updates `value` property accordingly (so that they are kept in sync).\r\n\t * @param {string?} input — Either a parsed phone number or an empty string. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t */\r\n\tonChange = (_phoneDigits) => {\r\n\t\tconst {\r\n\t\t\tdefaultCountry,\r\n\t\t\tonChange,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits: prevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry\r\n\t\t} = this.state\r\n\r\n\t\tconst {\r\n\t\t\tphoneDigits,\r\n\t\t\tcountry,\r\n\t\t\tvalue\r\n\t\t} = onPhoneDigitsChange(_phoneDigits, {\r\n\t\t\tprevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tcountryRequired: !addInternationalOption,\r\n\t\t\tdefaultCountry,\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tcountries,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst stateUpdate = {\r\n\t\t\tphoneDigits,\r\n\t\t\tvalue,\r\n\t\t\tcountry\r\n\t\t}\r\n\r\n\t\tif (countryCallingCodeEditable === false) {\r\n\t\t\t// If it simply did `setState({ phoneDigits: intlPrefix })` here,\r\n\t\t\t// then it would have no effect when erasing an inital international prefix\r\n\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t// forcefully rerendered here.\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/367#issuecomment-721703501\r\n\t\t\tif (!value && phoneDigits === this.state.phoneDigits) {\r\n\t\t\t\t// Force a re-render of the `` in order to reset its value.\r\n\t\t\t\tstateUpdate.forceRerender = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\tstateUpdate,\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\t() => onChange(value)\r\n\t\t)\r\n\t}\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onFocus = () => this.setState({ isFocused: true })\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onBlur = () => this.setState({ isFocused: false })\r\n\r\n\tonFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\tconst { onFocus } = this.props\r\n\t\tif (onFocus) {\r\n\t\t\tonFocus(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonBlur = (event) => {\r\n\t\tconst { onBlur } = this.props\r\n\t\tthis._onBlur()\r\n\t\tif (onBlur) {\r\n\t\t\tonBlur(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\t// this.setState({ countrySelectFocused: true })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onFocus } = countrySelectProps\r\n\t\t\tif (onFocus) {\r\n\t\t\t\tonFocus(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryBlur = (event) => {\r\n\t\tthis._onBlur()\r\n\t\t// this.setState({ countrySelectFocused: false })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onBlur } = countrySelectProps\r\n\t\t\tif (onBlur) {\r\n\t\t\t\tonBlur(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// `state` holds previous props as `props`, and also:\r\n\t// * `country` — The currently selected country, e.g. `\"RU\"`.\r\n\t// * `value` — The currently entered phone number (E.164), e.g. `+78005553535`.\r\n\t// * `phoneDigits` — The parsed `` value, e.g. `8005553535`.\r\n\t// (and a couple of other less significant properties)\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\t// Emulate `prevProps` via `state.props`.\r\n\t\t\tprops,\r\n\t\t\t...getPhoneInputWithCountryStateUpdateFromNewProps(props, state.props, state)\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\t// Generic HTML attributes.\r\n\t\t\tname,\r\n\t\t\tdisabled,\r\n\t\t\treadOnly,\r\n\t\t\tautoComplete,\r\n\t\t\tstyle,\r\n\t\t\tclassName,\r\n\r\n\t\t\t// Number `` properties.\r\n\t\t\tinputRef,\r\n\t\t\tinputComponent,\r\n\t\t\tnumberInputProps,\r\n\t\t\tsmartCaret,\r\n\r\n\t\t\t// Country ``).\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries: countriesProperty,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\tlabels,\r\n\t\t\tflags,\r\n\t\t\tflagComponent,\r\n\t\t\tflagUrl,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternationalIcon,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tonCountryChange,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tfocusInputOnCountrySelection,\r\n\t\t\treset,\r\n\t\t\tmetadata,\r\n\t\t\tinternational,\r\n\t\t\tlocales,\r\n\t\t\t// compareStrings,\r\n\t\t\t...rest\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits,\r\n\t\t\tisFocused\r\n\t\t} = this.state\r\n\r\n\t\tconst InputComponent = smartCaret ? InputSmart : InputBasic\r\n\r\n\t\tconst countrySelectOptions = this.getCountrySelectOptions({ countries })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Country `` */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n// This wrapper is only to `.forwardRef()` to the ``.\r\nconst PhoneNumberInput = React.forwardRef((props, ref) => (\r\n\t\r\n))\r\n\r\nPhoneNumberInput.propTypes = {\r\n\t/**\r\n\t * Phone number in `E.164` format.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `\"+12223333333\"`\r\n\t *\r\n\t * Any \"falsy\" value like `undefined`, `null` or an empty string `\"\"` is treated like \"empty\".\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t *\r\n\t * Updates the `value` property as the user inputs a phone number.\r\n\t *\r\n\t * If the user erases the input value, the argument is `undefined`.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * Toggles the `--focus` CSS class.\r\n\t * @ignore\r\n\t */\r\n\tonFocus: PropTypes.func,\r\n\r\n\t/**\r\n\t * `onBlur` is usually passed by `redux-form`.\r\n\t * @ignore\r\n\t */\r\n\tonBlur: PropTypes.func,\r\n\r\n\t/**\r\n\t * Set to `true` to mark both the phone number ``\r\n\t * and the country ``\r\n\t * and the country ``.\r\n\t *\r\n\t * Web browser's \"autocomplete\" feature\r\n\t * remembers the phone number being input\r\n\t * and can also autofill the ``\r\n\t * with previously remembered phone numbers.\r\n\t *\r\n\t * https://developers.google.com\r\n\t * /web/updates/2015/06/checkout-faster-with-autofill\r\n\t *\r\n\t * For example, can be used to turn it off:\r\n\t *\r\n\t * \"So when should you use `autocomplete=\"off\"`?\r\n\t * One example is when you've implemented your own version\r\n\t * of autocomplete for search. Another example is any form field\r\n\t * where users will input and submit different kinds of information\r\n\t * where it would not be useful to have the browser remember\r\n\t * what was submitted previously\".\r\n\t */\r\n\t// (is `\"tel\"` by default)\r\n\tautoComplete: PropTypes.string,\r\n\r\n\t/**\r\n\t * Set to `\"national\"` to show the initial `value` in\r\n\t * \"national\" format rather than \"international\".\r\n\t *\r\n\t * For example, if `initialValueFormat` is `\"national\"`\r\n\t * and the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"(213) 373-4253\"`.\r\n\t *\r\n\t * By default, `initialValueFormat` is `undefined`,\r\n\t * meaning that if the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"+1 213 373 4253\"`.\r\n\t *\r\n\t * The reason for such default behaviour is that\r\n\t * the newer generation grows up when there are no stationary phones\r\n\t * and therefore everyone inputs phone numbers in international format\r\n\t * in their smartphones so people gradually get more accustomed to\r\n\t * writing phone numbers in international format rather than in local format.\r\n\t * Future people won't be using \"national\" format, only \"international\".\r\n\t */\r\n\t// (is `undefined` by default)\r\n\tinitialValueFormat: PropTypes.oneOf(['national']),\r\n\r\n\t// `displayInitialValueAsLocalNumber` property has been\r\n\t// superceded by `initialValueFormat` property.\r\n\tdisplayInitialValueAsLocalNumber: PropTypes.bool,\r\n\r\n\t/**\r\n\t * The country to be selected by default.\r\n\t * For example, can be set after a GeoIP lookup.\r\n\t *\r\n\t * Example: `\"US\"`.\r\n\t */\r\n\t// A two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If specified, only these countries will be available for selection.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"RU\", \"UA\", \"KZ\"]`\r\n\t */\r\n\tcountries: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * Custom country `` `aria-label`.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"ZZ\": \"Международный\", RU: \"Россия\", US: \"США\", ... }`\r\n\t *\r\n\t * See the `locales` directory for examples.\r\n\t */\r\n\tlabels: labelsPropType,\r\n\r\n\t/**\r\n\t * Country `` options sorting function.\r\n\t * The default one uses `a.localeCompare(b)`, and,\r\n\t * if that's not available, falls back to simple `a > b`/`a < b`.\r\n\t * There have been requests to add custom sorter for cases\r\n\t * like Chinese language and \"pinyin\" (non-default) sorting order.\r\n\t * https://stackoverflow.com/questions/22907288/chinese-sorting-by-pinyin-in-javascript-with-localecompare\r\n\tcompareStrings: PropTypes.func,\r\n\t */\r\n\r\n\t/**\r\n\t * A URL template of a country flag, where\r\n\t * \"{XX}\" is a two-letter country code in upper case,\r\n\t * or where \"{xx}\" is a two-letter country code in lower case.\r\n\t * By default it points to `country-flag-icons` gitlab pages website.\r\n\t * I imagine someone might want to download those country flag icons\r\n\t * and host them on their own servers instead\r\n\t * (all flags are available in the `country-flag-icons` library).\r\n\t * There's a catch though: new countries may be added in future,\r\n\t * so when hosting country flag icons on your own server\r\n\t * one should check the `CHANGELOG.md` every time before updating this library,\r\n\t * otherwise there's a possibility that some new country flag would be missing.\r\n\t */\r\n\tflagUrl: PropTypes.string,\r\n\r\n\t/**\r\n\t * Custom country flag icon components.\r\n\t * These flags will be used instead of the default ones.\r\n\t * The the \"Flags\" section of the readme for more info.\r\n\t *\r\n\t * The shape is an object where keys are country codes\r\n\t * and values are flag icon components.\r\n\t * Flag icon components receive the same properties\r\n\t * as `flagComponent` (see below).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"RU\": (props) => }`\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `import flags from 'country-flag-icons/react/3x2'`\r\n\t *\r\n\t * `import PhoneInput from 'react-phone-number-input'`\r\n\t *\r\n\t * ``\r\n\t */\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t/**\r\n\t * Country flag icon component.\r\n\t *\r\n\t * Takes properties:\r\n\t *\r\n\t * * `country: string` — The country code.\r\n\t * * `countryName: string` — The country name.\r\n\t * * `flagUrl: string` — The `flagUrl` property (see above).\r\n\t * * `flags: object` — The `flags` property (see above).\r\n\t */\r\n\tflagComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Set to `false` to remove the \"International\" option from country `` options.\r\n\t *\r\n\t * * `\"XX\"` — inserts an option for \"XX\" country.\r\n\t * * `\"🌐\"` — inserts \"International\" option.\r\n\t * * `\"|\"` — inserts a separator.\r\n\t * * `\"...\"` — inserts options for the rest of the countries (can be omitted, in which case it will be automatically added at the end).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`\r\n\t */\r\n\tcountryOptionsOrder: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * `` component CSS style object.\r\n\t */\r\n\tstyle: PropTypes.object,\r\n\r\n\t/**\r\n\t * `` component CSS class.\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * Country `` component props.\r\n\t * Along with the usual DOM properties such as `aria-label` and `tabIndex`,\r\n\t * some custom properties are supported, such as `arrowComponent` and `unicodeFlags`.\r\n\t */\r\n\tcountrySelectProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `value: string` — The formatted `value`.\r\n\t * * `onChange(event: Event)` — Updates the formatted `value` from `event.target.value`.\r\n\t * * `onFocus()` — Is used to toggle the `--focus` CSS class.\r\n\t * * `onBlur()` — Is used to toggle the `--focus` CSS class.\r\n\t * * Other properties like `type=\"tel\"` or `autoComplete=\"tel\"` that should be passed through to the DOM ``.\r\n\t *\r\n\t * Must also either use `React.forwardRef()` to \"forward\" `ref` to the `` or implement `.focus()` method.\r\n\t */\r\n\tinputComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `style: object` — A component CSS style object.\r\n\t * * `className: string` — Classes to attach to the component, typically changes when component focuses or blurs.\r\n\t */\r\n\tcontainerComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Phone number `` component props.\r\n\t */\r\n\tnumberInputProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * When the user attempts to insert a digit somewhere in the middle of a phone number,\r\n\t * the caret position is moved right before the next available digit skipping\r\n\t * any punctuation in between. This is called \"smart\" caret positioning.\r\n\t * Another case would be the phone number format changing as a result of\r\n\t * the user inserting the digit somewhere in the middle, which would require\r\n\t * re-positioning the caret because all digit positions have changed.\r\n\t * This \"smart\" caret positioning feature can be turned off by passing\r\n\t * `smartCaret={false}` property: use it in case of any possible issues\r\n\t * with caret position during phone number input.\r\n\t */\r\n\t// Is `true` by default.\r\n\tsmartCaret: PropTypes.bool,\r\n\r\n\t/**\r\n\t * Set to `true` to force \"international\" phone number format.\r\n\t * Set to `false` to force \"national\" phone number format.\r\n\t * By default it's `undefined` meaning that it doesn't enforce any phone number format.\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `true`, the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: PropTypes.bool,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t *\r\n\t * Can be used to pass custom `libphonenumber-js` metadata\r\n\t * to reduce the overall bundle size for those who compile \"custom\" metadata.\r\n\t */\r\n\tmetadata: metadataPropType,\r\n\r\n\t/**\r\n\t * Is called every time the selected country changes:\r\n\t * either programmatically or when user selects it manually from the list.\r\n\t */\r\n\t// People have been asking for a way to get the selected country.\r\n\t// @see https://github.com/catamphetamine/react-phone-number-input/issues/128\r\n\t// For some it's just a \"business requirement\".\r\n\t// I guess it's about gathering as much info on the user as a website can\r\n\t// without introducing any addional fields that would complicate the form\r\n\t// therefore reducing \"conversion\" (that's a marketing term).\r\n\t// Assuming that the phone number's country is the user's country\r\n\t// is not 100% correct but in most cases I guess it's valid.\r\n\tonCountryChange: PropTypes.func,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: PropTypes.bool\r\n}\r\n\r\nconst defaultProps = {\r\n\t/**\r\n\t * Remember (and autofill) the value as a phone number.\r\n\t */\r\n\tautoComplete: 'tel',\r\n\r\n\t/**\r\n\t * Country `` option icon.\r\n\t */\r\n\tinternationalIcon: InternationalIcon,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t */\r\n\tinputComponent: 'input',\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t */\r\n\tcontainerComponent: 'div',\r\n\r\n\t/**\r\n\t * Some users requested a way to reset the component:\r\n\t * both number `` and country ``\r\n\t * and country ``.\r\n\t * It's also not replaced with just resetting `country` on\r\n\t * external `value` reset, because a user could select a country\r\n\t * and then not input any `value`, and so the selected country\r\n\t * would be \"stuck\", if not using this `reset` property.\r\n\t */\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\treset: PropTypes.any,\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\r\n\t/**\r\n\t * Set to `false` to use \"basic\" caret instead of the \"smart\" one.\r\n\t */\r\n\tsmartCaret: true,\r\n\r\n\t/**\r\n\t * Whether to add the \"International\" option\r\n\t * to the list of countries.\r\n\t */\r\n\taddInternationalOption: true,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: true,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: true\r\n}\r\n\r\nfunction withDefaultProps(props) {\r\n\tprops = { ...props }\r\n\r\n\tfor (const key in defaultProps) {\r\n\t\tif (props[key] === undefined) {\r\n\t\t\tprops[key] = defaultProps[key]\r\n\t\t}\r\n\t}\r\n\r\n\treturn props\r\n}\r\n\r\nexport default PhoneNumberInput\r\n\r\nfunction areEqualArrays(a, b) {\r\n\tif (a.length !== b.length) {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 0\r\n\twhile (i < a.length) {\r\n\t\tif (a[i] !== b[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport defaultLabels from '../locale/en.json.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport PhoneInput from './PhoneInputWithCountry.js'\r\n\r\nexport function createPhoneInput(defaultMetadata) {\r\n\tconst PhoneInputDefault = React.forwardRef(({\r\n\t\tmetadata = defaultMetadata,\r\n\t\tlabels = defaultLabels,\r\n\t\t...rest\r\n\t}, ref) => (\r\n\t\t\r\n\t))\r\n\r\n\tPhoneInputDefault.propTypes = {\r\n\t\tmetadata: metadataPropType,\r\n\t\tlabels: labelsPropType\r\n\t}\r\n\r\n\treturn PhoneInputDefault\r\n}\r\n\r\nexport default createPhoneInput()","import metadata from 'libphonenumber-js/min/metadata'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index.js'\r\n\r\nimport { createPhoneInput } from '../modules/PhoneInputWithCountryDefault.js'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createPhoneInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useRef } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\nimport { useCombinedRefs } from \"@/hooks\";\nimport { Controller } from \"react-hook-form\";\nimport PhoneInput from \"react-phone-number-input\";\nimport \"react-phone-number-input/style.css\";\nimport \"./PhoneField.scss\";\n\n// eslint-disable-next-line react/display-name\nconst PhoneField = React.forwardRef(\n (\n {\n control,\n wrapperClassName,\n fieldName,\n label,\n errors,\n autoFocus,\n placeholder,\n readonlyValue\n },\n ref\n ) => {\n const inputRef = useRef(null);\n const combinedRef = useCombinedRefs(ref, inputRef);\n\n useEffect(() => {\n if (autoFocus) {\n combinedRef.current.focus();\n }\n }, [autoFocus, combinedRef]);\n\n return (\n \n {label && (\n
\n {label && (\n \n )}\n
\n )}\n
\n (\n \n )}\n />\n
\n {!readonlyValue && }\n
\n );\n }\n);\n\nPhoneField.defaultProps = {\n errors: {}\n};\n\nPhoneField.propTypes = {\n control: PropTypes.object.isRequired,\n autoFocus: PropTypes.bool,\n fieldName: PropTypes.string.isRequired,\n wrapperClassName: PropTypes.string,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n label: PropTypes.string,\n errors: PropTypes.object,\n placeholder: PropTypes.string,\n readonlyValue: PropTypes.string\n};\n\nexport default PhoneField;\n","import PhoneField from \"./PhoneField\";\n\nexport default PhoneField;\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 (Object.prototype.hasOwnProperty.call(b, 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n before = _this.prepend ? _this.container.firstChild : _this.before;\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","var e=\"-ms-\";var r=\"-moz-\";var a=\"-webkit-\";var c=\"comm\";var n=\"rule\";var t=\"decl\";var s=\"@page\";var u=\"@media\";var i=\"@import\";var f=\"@charset\";var o=\"@viewport\";var l=\"@supports\";var v=\"@document\";var h=\"@namespace\";var p=\"@keyframes\";var b=\"@font-face\";var w=\"@counter-style\";var $=\"@font-feature-values\";var k=Math.abs;var d=String.fromCharCode;function m(e,r){return(((r<<2^z(e,0))<<2^z(e,1))<<2^z(e,2))<<2^z(e,3)}function g(e){return e.trim()}function x(e,r){return(e=r.exec(e))?e[0]:e}function y(e,r,a){return e.replace(r,a)}function j(e,r){return e.indexOf(r)}function z(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function A(e){return e.length}function M(e){return e.length}function O(e,r){return r.push(e),e}function S(e,r){return e.map(r).join(\"\")}var q=1;var B=1;var D=0;var E=0;var F=0;var G=\"\";function H(e,r,a,c,n,t,s){return{value:e,root:r,parent:a,type:c,props:n,children:t,line:q,column:B,length:s,return:\"\"}}function I(e,r,a){return H(e,r.root,r.parent,a,r.props,r.children,0)}function J(){return F}function K(){F=E>0?z(G,--E):0;if(B--,F===10)B=1,q--;return F}function L(){F=E2||R(F)>3?\"\":\" \"}function Y(e){while(L())switch(R(F)){case 0:O(re(E-1),e);break;case 2:O(V(F),e);break;default:O(d(F),e)}return e}function Z(e,r){while(--r&&L())if(F<48||F>102||F>57&&F<65||F>70&&F<97)break;return Q(e,P()+(r<6&&N()==32&&L()==32))}function _(e){while(L())switch(F){case e:return E;case 34:case 39:return _(e===34||e===39?e:F);case 40:if(e===41)_(e);break;case 92:L();break}return E}function ee(e,r){while(L())if(e+F===47+10)break;else if(e+F===42+42&&N()===47)break;return\"/*\"+Q(r,E-1)+\"*\"+d(e===47?e:L())}function re(e){while(!R(N()))L();return Q(e,E)}function ae(e){return U(ce(\"\",null,null,null,[\"\"],e=T(e),0,[0],e))}function ce(e,r,a,c,n,t,s,u,i){var f=0;var o=0;var l=s;var v=0;var h=0;var p=0;var b=1;var w=1;var $=1;var k=0;var m=\"\";var g=n;var x=t;var j=c;var z=m;while(w)switch(p=k,k=L()){case 34:case 39:case 91:case 40:z+=V(k);break;case 9:case 10:case 13:case 32:z+=X(p);break;case 92:z+=Z(P()-1,7);continue;case 47:switch(N()){case 42:case 47:O(te(ee(L(),P()),r,a),i);break;default:z+=\"/\"}break;case 123*b:u[f++]=A(z)*$;case 125*b:case 59:case 0:switch(k){case 0:case 125:w=0;case 59+o:if(h>0&&A(z)-l)O(h>32?se(z+\";\",c,a,l-1):se(y(z,\" \",\"\")+\";\",c,a,l-2),i);break;case 59:z+=\";\";default:O(j=ne(z,r,a,f,o,n,u,m,g=[],x=[],l),t);if(k===123)if(o===0)ce(z,r,j,j,g,t,l,u,x);else switch(v){case 100:case 109:case 115:ce(e,j,j,c&&O(ne(e,j,j,0,0,n,u,m,n,g=[],l),x),n,x,l,u,c?g:x);break;default:ce(z,j,j,j,[\"\"],x,l,u,x)}}f=o=h=0,b=$=1,m=z=\"\",l=s;break;case 58:l=1+A(z),h=p;default:if(b<1)if(k==123)--b;else if(k==125&&b++==0&&K()==125)continue;switch(z+=d(k),k*b){case 38:$=o>0?1:(z+=\"\\f\",-1);break;case 44:u[f++]=(A(z)-1)*$,$=1;break;case 64:if(N()===45)z+=V(L());v=N(),o=A(m=z+=re(P())),k++;break;case 45:if(p===45&&A(z)==2)b=0}}return t}function ne(e,r,a,c,t,s,u,i,f,o,l){var v=t-1;var h=t===0?s:[\"\"];var p=M(h);for(var b=0,w=0,$=0;b0?h[d]+\" \"+m:y(m,/&\\f/g,h[d])))f[$++]=x;return H(e,r,a,t===0?n:i,f,o,l)}function te(e,r,a){return H(e,r,a,c,d(J()),C(e,2,-2),0)}function se(e,r,a,c){return H(e,r,a,t,C(e,0,c),C(e,c+1,-1),c)}function ue(c,n){switch(m(c,n)){case 5103:return a+\"print-\"+c+c;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return a+c+c;case 5349:case 4246:case 4810:case 6968:case 2756:return a+c+r+c+e+c+c;case 6828:case 4268:return a+c+e+c+c;case 6165:return a+c+e+\"flex-\"+c+c;case 5187:return a+c+y(c,/(\\w+).+(:[^]+)/,a+\"box-$1$2\"+e+\"flex-$1$2\")+c;case 5443:return a+c+e+\"flex-item-\"+y(c,/flex-|-self/,\"\")+c;case 4675:return a+c+e+\"flex-line-pack\"+y(c,/align-content|flex-|-self/,\"\")+c;case 5548:return a+c+e+y(c,\"shrink\",\"negative\")+c;case 5292:return a+c+e+y(c,\"basis\",\"preferred-size\")+c;case 6060:return a+\"box-\"+y(c,\"-grow\",\"\")+a+c+e+y(c,\"grow\",\"positive\")+c;case 4554:return a+y(c,/([^-])(transform)/g,\"$1\"+a+\"$2\")+c;case 6187:return y(y(y(c,/(zoom-|grab)/,a+\"$1\"),/(image-set)/,a+\"$1\"),c,\"\")+c;case 5495:case 3959:return y(c,/(image-set\\([^]*)/,a+\"$1\"+\"$`$1\");case 4968:return y(y(c,/(.+:)(flex-)?(.*)/,a+\"box-pack:$3\"+e+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+a+c+c;case 4095:case 3583:case 4068:case 2532:return y(c,/(.+)-inline(.+)/,a+\"$1$2\")+c;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(A(c)-1-n>6)switch(z(c,n+1)){case 109:if(z(c,n+4)!==45)break;case 102:return y(c,/(.+:)(.+)-([^]+)/,\"$1\"+a+\"$2-$3\"+\"$1\"+r+(z(c,n+3)==108?\"$3\":\"$2-$3\"))+c;case 115:return~j(c,\"stretch\")?ue(y(c,\"stretch\",\"fill-available\"),n)+c:c}break;case 4949:if(z(c,n+1)!==115)break;case 6444:switch(z(c,A(c)-3-(~j(c,\"!important\")&&10))){case 107:return y(c,\":\",\":\"+a)+c;case 101:return y(c,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+a+(z(c,14)===45?\"inline-\":\"\")+\"box$3\"+\"$1\"+a+\"$2$3\"+\"$1\"+e+\"$2box$3\")+c}break;case 5936:switch(z(c,n+11)){case 114:return a+c+e+y(c,/[svh]\\w+-[tblr]{2}/,\"tb\")+c;case 108:return a+c+e+y(c,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+c;case 45:return a+c+e+y(c,/[svh]\\w+-[tblr]{2}/,\"lr\")+c}return a+c+e+c+c}return c}function ie(e,r){var a=\"\";var c=M(e);for(var n=0;n1?\"\":r;case a=M(c)-1:case 2:return a===2?r+e+e:r+e;default:return r}}}))}))}}export{f as CHARSET,c as COMMENT,w as COUNTER_STYLE,t as DECLARATION,v as DOCUMENT,b as FONT_FACE,$ as FONT_FEATURE_VALUES,i as IMPORT,p as KEYFRAMES,u as MEDIA,r as MOZ,e as MS,h as NAMESPACE,s as PAGE,n as RULESET,l as SUPPORTS,o as VIEWPORT,a as WEBKIT,k as abs,T as alloc,O as append,P as caret,J as char,F as character,G as characters,z as charat,B as column,S as combine,te as comment,ee as commenter,ae as compile,I as copy,U as dealloc,se as declaration,V as delimit,_ as delimiter,Z as escaping,d as from,m as hash,re as identifier,j as indexof,D as length,q as line,x as match,oe as middleware,he as namespace,L as next,H as node,ce as parse,N as peek,E as position,ue as prefix,ve as prefixer,K as prev,y as replace,ne as ruleset,le as rulesheet,ie as serialize,M as sizeof,Q as slice,fe as stringify,A as strlen,C as substr,R as token,W as tokenize,Y as tokenizer,g as trim,X as whitespace};\n//# sourceMappingURL=stylis.mjs.map\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, identifier, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifier(position - 1);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not\n !element.length) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n var cache = {};\n return function (name) {\n return cache[name];\n };\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n if (isBrowser) {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n }; // $FlowFixMe\n\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var isBrowser = typeof document !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar isBrowser = typeof document !== 'undefined';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type;\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z0-9$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z0-9$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n\n if (!isBrowser && rules !== undefined) {\n var _ref;\n\n var serializedNames = serialized.name;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n next = next.next;\n }\n\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \" \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref)), ele);\n }\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { createElement, useContext, useRef, useLayoutEffect, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-8d26346b.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-8d26346b.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../isolated-hoist-non-react-statics-do-not-use-this-in-your-code/dist/emotion-react-isolated-hoist-non-react-statics-do-not-use-this-in-your-code.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.4.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"isolated-hoist-non-react-statics-do-not-use-this-in-your-code\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton \",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.4.0\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.0.2\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.1.3\",\n\t\t\"@emotion/css-prettifier\": \"1.0.0\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.3.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var rules = '';\n var serializedHashes = '';\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n if (isBrowser$1) {\n insertStyles(cache, serialized, false);\n } else {\n var res = insertStyles(cache, serialized, false);\n\n if (res !== undefined) {\n rules += res;\n }\n }\n\n if (!isBrowser$1) {\n serializedHashes += \" \" + serialized.name;\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n\n if (!isBrowser$1 && rules.length !== 0) {\n var _ref;\n\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \" \" + serializedHashes.substring(1), _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref)), ele);\n }\n\n return ele;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = typeof document !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n var globalContext = isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { jsx, keyframes, css as css$2, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport AutosizeInput from 'react-input-autosize';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _defineProperty$1 from '@babel/runtime/helpers/esm/defineProperty';\nimport { createContext, Component } from 'react';\nimport { createPortal } from 'react-dom';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Clean Common Props\n// ==============================\n\nvar cleanCommonProps = function cleanCommonProps(props) {\n //className\n props.className;\n props.clearValue;\n props.cx;\n props.getStyles;\n props.getValue;\n props.hasValue;\n props.isMulti;\n props.isRtl;\n props.options;\n props.selectOption;\n props.selectProps;\n props.setValue;\n props.theme;\n var innerProps = _objectWithoutProperties(props, [\"className\", \"clearValue\", \"cx\", \"getStyles\", \"getValue\", \"hasValue\", \"isMulti\", \"isRtl\", \"options\", \"selectOption\", \"selectProps\", \"setValue\", \"theme\"]);\n\n return _objectSpread2({}, innerProps);\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n} // ==============================\n// Passive Event Detector\n// ==============================\n// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36\n\nvar passiveOptionAccessed = false;\nvar options = {\n get passive() {\n return passiveOptionAccessed = true;\n }\n\n}; // check for SSR\n\nvar w = typeof window !== 'undefined' ? window : {};\n\nif (w.addEventListener && w.removeEventListener) {\n w.addEventListener('p', noop, options);\n w.removeEventListener('p', noop, false);\n}\n\nvar supportsPassiveEvents = passiveOptionAccessed;\n\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n if (shouldScroll) {\n scrollTo(scrollParent, scrollDown);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty$1(_ref3, alignToControl(placement), '100%'), _defineProperty$1(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty$1(_ref3, \"borderRadius\", borderRadius), _defineProperty$1(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty$1(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty$1(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty$1(_ref3, \"position\", 'absolute'), _defineProperty$1(_ref3, \"width\", '100%'), _defineProperty$1(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread2(_objectSpread2({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n innerRef = props.innerRef,\n isMulti = props.isMulti;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n className = _this$props2.className,\n controlElement = _this$props2.controlElement,\n cx = _this$props2.cx,\n innerProps = _this$props2.innerProps,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", _extends({\n css: getStyles('menuPortal', state),\n className: cx({\n 'menu-portal': true\n }, className)\n }, innerProps), children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", _extends({\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n innerProps = props.innerProps,\n getStyles = props.getStyles;\n return jsx(\"div\", _extends({\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, innerProps), children);\n};\n\nvar _templateObject;\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"8mmkcg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"\n} : {\n name: \"tj5bde-Svg\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }, innerProps), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }, innerProps), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/css$2({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:LoadingDot;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBDb21tb25Qcm9wcywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBJY29uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFN2ZyA9ICh7IHNpemUsIC4uLnByb3BzIH06IHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IENyb3NzSWNvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk0xNC4zNDggMTQuODQ5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwbC0yLjY1MS0zLjAzMC0yLjY1MSAzLjAyOWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMC0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOSAwLTEuNjk3bDIuNzU4LTMuMTUtMi43NTktMy4xNTJjLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI4IDAtMS42OTdzMS4yMjgtMC40NjkgMS42OTcgMGwyLjY1MiAzLjAzMSAyLjY1MS0zLjAzMWMwLjQ2OS0wLjQ2OSAxLjIyOC0wLjQ2OSAxLjY5NyAwczAuNDY5IDEuMjI5IDAgMS42OTdsLTIuNzU4IDMuMTUyIDIuNzU4IDMuMTVjMC40NjkgMC40NjkgMC40NjkgMS4yMjkgMCAxLjY5OHpcIiAvPlxuICA8L1N2Zz5cbik7XG5leHBvcnQgY29uc3QgRG93bkNoZXZyb24gPSAocHJvcHM6IGFueSkgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIEluZGljYXRvclByb3BzID0gQ29tbW9uUHJvcHMgJiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuOiBOb2RlLFxuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn07XG5cbmNvbnN0IGJhc2VDU1MgPSAoe1xuICBpc0ZvY3VzZWQsXG4gIHRoZW1lOiB7XG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIGNvbG9ycyxcbiAgfSxcbn06IEluZGljYXRvclByb3BzKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDYwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG5cbiAgJzpob3Zlcic6IHtcbiAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBEcm9wZG93bkluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnZHJvcGRvd25JbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdkcm9wZG93bi1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPERvd25DaGV2cm9uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFySW5kaWNhdG9yQ1NTID0gYmFzZUNTUztcbmV4cG9ydCBjb25zdCBDbGVhckluZGljYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2dldFN0eWxlcygnY2xlYXJJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdjbGVhci1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW4gfHwgPENyb3NzSWNvbiAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VwYXJhdG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxudHlwZSBTZXBhcmF0b3JTdGF0ZSA9IHsgaXNEaXNhYmxlZDogYm9vbGVhbiB9O1xuXG5leHBvcnQgY29uc3QgaW5kaWNhdG9yU2VwYXJhdG9yQ1NTID0gKHtcbiAgaXNEaXNhYmxlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogQ29tbW9uUHJvcHMgJiBTZXBhcmF0b3JTdGF0ZSkgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgd2lkdGg6IDEsXG59KTtcblxuZXhwb3J0IGNvbnN0IEluZGljYXRvclNlcGFyYXRvciA9IChwcm9wczogSW5kaWNhdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgeyBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxzcGFuXG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdpbmRpY2F0b3JTZXBhcmF0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KHsgJ2luZGljYXRvci1zZXBhcmF0b3InOiB0cnVlIH0sIGNsYXNzTmFtZSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9hZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IGxvYWRpbmdEb3RBbmltYXRpb25zID0ga2V5ZnJhbWVzYFxuICAwJSwgODAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAxOyB9XG5gO1xuXG5leHBvcnQgY29uc3QgbG9hZGluZ0luZGljYXRvckNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgc2l6ZSxcbiAgdGhlbWU6IHtcbiAgICBjb2xvcnMsXG4gICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICB9LFxufToge1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4sXG4gIHNpemU6IG51bWJlcixcbiAgdGhlbWU6IFRoZW1lLFxufSkgPT4gKHtcbiAgbGFiZWw6ICdsb2FkaW5nSW5kaWNhdG9yJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgYWxpZ25TZWxmOiAnY2VudGVyJyxcbiAgZm9udFNpemU6IHNpemUsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG1hcmdpblJpZ2h0OiBzaXplLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbn0pO1xuXG50eXBlIERvdFByb3BzID0geyBkZWxheTogbnVtYmVyLCBvZmZzZXQ6IGJvb2xlYW4gfTtcbmNvbnN0IExvYWRpbmdEb3QgPSAoeyBkZWxheSwgb2Zmc2V0IH06IERvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiBudWxsLFxuICAgICAgaGVpZ2h0OiAnMWVtJyxcbiAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgd2lkdGg6ICcxZW0nLFxuICAgIH19XG4gIC8+XG4pO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nSWNvblByb3BzID0ge1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IGFueSxcbiAgLyoqIFRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSBzZWxlY3QuICovXG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgLyoqIFdoZXRoZXIgdGhlIHRleHQgaXMgcmlnaHQgdG8gbGVmdCAqL1xuICBpc1J0bDogYm9vbGVhbixcbn0gJiBDb21tb25Qcm9wcyAmIHtcbiAgICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgICBzaXplOiBudW1iZXIsXG4gIH07XG5leHBvcnQgY29uc3QgTG9hZGluZ0luZGljYXRvciA9IChwcm9wczogTG9hZGluZ0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcywgaXNSdGwgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2xvYWRpbmdJbmRpY2F0b3InLCBwcm9wcyl9XG4gICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICB7XG4gICAgICAgICAgaW5kaWNhdG9yOiB0cnVlLFxuICAgICAgICAgICdsb2FkaW5nLWluZGljYXRvcic6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5Mb2FkaW5nSW5kaWNhdG9yLmRlZmF1bHRQcm9wcyA9IHsgc2l6ZTogNCB9O1xuIl19 */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }, innerProps), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n innerProps = props.innerProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", _extends({\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, innerProps), jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\nvar GroupHeading = function GroupHeading(props) {\n var getStyles = props.getStyles,\n cx = props.cx,\n className = props.className;\n\n var _cleanCommonProps = cleanCommonProps(props);\n _cleanCommonProps.data;\n var innerProps = _objectWithoutProperties(_cleanCommonProps, [\"data\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', props),\n className: cx({\n 'group-heading': true\n }, className)\n }, innerProps));\n};\n\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n\n var _cleanCommonProps = cleanCommonProps(props),\n innerRef = _cleanCommonProps.innerRef,\n isDisabled = _cleanCommonProps.isDisabled,\n isHidden = _cleanCommonProps.isHidden,\n innerProps = _objectWithoutProperties(_cleanCommonProps, [\"innerRef\", \"isDisabled\", \"isHidden\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', props)\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, innerProps)));\n};\n\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }, innerProps),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread2({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread2(_objectSpread2({}, components), props.components);\n};\n\nexport { isMobileDevice as A, classNames as B, defaultComponents as C, isDocumentElement as D, cleanValue as E, scrollIntoView as F, noop as G, handleInputChange as H, MenuPlacer as M, _createSuper as _, _objectSpread2 as a, clearIndicatorCSS as b, components as c, containerCSS as d, css as e, dropdownIndicatorCSS as f, groupCSS as g, groupHeadingCSS as h, indicatorsContainerCSS as i, indicatorSeparatorCSS as j, inputCSS as k, loadingIndicatorCSS as l, loadingMessageCSS as m, menuCSS as n, menuListCSS as o, menuPortalCSS as p, multiValueCSS as q, multiValueLabelCSS as r, supportsPassiveEvents as s, multiValueRemoveCSS as t, noOptionsMessageCSS as u, optionCSS as v, placeholderCSS as w, css$1 as x, valueContainerCSS as y, isTouchCapable as z };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { a as _objectSpread2, s as supportsPassiveEvents, b as clearIndicatorCSS, d as containerCSS, e as css$1, f as dropdownIndicatorCSS, g as groupCSS, h as groupHeadingCSS, i as indicatorsContainerCSS, j as indicatorSeparatorCSS, k as inputCSS, l as loadingIndicatorCSS, m as loadingMessageCSS, n as menuCSS, o as menuListCSS, p as menuPortalCSS, q as multiValueCSS, r as multiValueLabelCSS, t as multiValueRemoveCSS, u as noOptionsMessageCSS, v as optionCSS, w as placeholderCSS, x as css$2, y as valueContainerCSS, z as isTouchCapable, A as isMobileDevice, _ as _createSuper, B as classNames, C as defaultComponents, D as isDocumentElement, E as cleanValue, F as scrollIntoView, G as noop, M as MenuPlacer } from './index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport React, { useMemo, useRef, useCallback, useEffect, Component } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport memoizeOne from 'memoize-one';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"7pg0cj-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"\n} : {\n name: \"1f43avz-a11yText-A11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG4vLyBBc3Npc3RpdmUgdGV4dCB0byBkZXNjcmliZSB2aXN1YWwgZWxlbWVudHMuIEhpZGRlbiBmb3Igc2lnaHRlZCB1c2Vycy5cbmNvbnN0IEExMXlUZXh0ID0gKHByb3BzOiBFbGVtZW50Q29uZmlnPCdzcGFuJz4pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nvar defaultAriaLiveMessages = {\n guidance: function guidance(props) {\n var isSearchable = props.isSearchable,\n isMulti = props.isMulti,\n isDisabled = props.isDisabled,\n tabSelectsValue = props.tabSelectsValue,\n context = props.context;\n\n switch (context) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(props['aria-label'] || 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n\n default:\n return '';\n }\n },\n onChange: function onChange(props) {\n var action = props.action,\n _props$label = props.label,\n label = _props$label === void 0 ? '' : _props$label,\n isDisabled = props.isDisabled;\n\n switch (action) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(label, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(label, \" is disabled. Select another option.\") : \"option \".concat(label, \", selected.\");\n\n default:\n return '';\n }\n },\n onFocus: function onFocus(props) {\n var context = props.context,\n _props$focused = props.focused,\n focused = _props$focused === void 0 ? {} : _props$focused,\n options = props.options,\n _props$label2 = props.label,\n label = _props$label2 === void 0 ? '' : _props$label2,\n selectValue = props.selectValue,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected;\n\n var getArrayIndex = function getArrayIndex(arr, item) {\n return arr && arr.length ? \"\".concat(arr.indexOf(item) + 1, \" of \").concat(arr.length) : '';\n };\n\n if (context === 'value' && selectValue) {\n return \"value \".concat(label, \" focused, \").concat(getArrayIndex(selectValue, focused), \".\");\n }\n\n if (context === 'menu') {\n var disabled = isDisabled ? ' disabled' : '';\n var status = \"\".concat(isSelected ? 'selected' : 'focused').concat(disabled);\n return \"option \".concat(label, \" \").concat(status, \", \").concat(getArrayIndex(options, focused), \".\");\n }\n\n return '';\n },\n onFilter: function onFilter(props) {\n var inputValue = props.inputValue,\n resultsMessage = props.resultsMessage;\n return \"\".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n }\n};\n\nvar LiveRegion = function LiveRegion(props) {\n var ariaSelection = props.ariaSelection,\n focusedOption = props.focusedOption,\n focusedValue = props.focusedValue,\n focusableOptions = props.focusableOptions,\n isFocused = props.isFocused,\n selectValue = props.selectValue,\n selectProps = props.selectProps;\n var ariaLiveMessages = selectProps.ariaLiveMessages,\n getOptionLabel = selectProps.getOptionLabel,\n inputValue = selectProps.inputValue,\n isMulti = selectProps.isMulti,\n isOptionDisabled = selectProps.isOptionDisabled,\n isSearchable = selectProps.isSearchable,\n menuIsOpen = selectProps.menuIsOpen,\n options = selectProps.options,\n screenReaderStatus = selectProps.screenReaderStatus,\n tabSelectsValue = selectProps.tabSelectsValue;\n var ariaLabel = selectProps['aria-label'];\n var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes\n\n var messages = useMemo(function () {\n return _objectSpread2(_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});\n }, [ariaLiveMessages]); // Update aria live selected option when prop changes\n\n var ariaSelected = useMemo(function () {\n var message = '';\n\n if (ariaSelection && messages.onChange) {\n var option = ariaSelection.option,\n removedValue = ariaSelection.removedValue,\n value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value\n\n var asOption = function asOption(val) {\n return !Array.isArray(val) ? val : null;\n };\n\n var selected = removedValue || option || asOption(value);\n\n var onChangeProps = _objectSpread2({\n isDisabled: selected && isOptionDisabled(selected),\n label: selected ? getOptionLabel(selected) : ''\n }, ariaSelection);\n\n message = messages.onChange(onChangeProps);\n }\n\n return message;\n }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);\n var ariaFocused = useMemo(function () {\n var focusMsg = '';\n var focused = focusedOption || focusedValue;\n var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));\n\n if (focused && messages.onFocus) {\n var onFocusProps = {\n focused: focused,\n label: getOptionLabel(focused),\n isDisabled: isOptionDisabled(focused),\n isSelected: isSelected,\n options: options,\n context: focused === focusedOption ? 'menu' : 'value',\n selectValue: selectValue\n };\n focusMsg = messages.onFocus(onFocusProps);\n }\n\n return focusMsg;\n }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);\n var ariaResults = useMemo(function () {\n var resultsMsg = '';\n\n if (menuIsOpen && options.length && messages.onFilter) {\n var resultsMessage = screenReaderStatus({\n count: focusableOptions.length\n });\n resultsMsg = messages.onFilter({\n inputValue: inputValue,\n resultsMessage: resultsMessage\n });\n }\n\n return resultsMsg;\n }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);\n var ariaGuidance = useMemo(function () {\n var guidanceMsg = '';\n\n if (messages.guidance) {\n var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';\n guidanceMsg = messages.guidance({\n 'aria-label': ariaLabel,\n context: context,\n isDisabled: focusedOption && isOptionDisabled(focusedOption),\n isMulti: isMulti,\n isSearchable: isSearchable,\n tabSelectsValue: tabSelectsValue\n });\n }\n\n return guidanceMsg;\n }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);\n var ariaContext = \"\".concat(ariaFocused, \" \").concat(ariaResults, \" \").concat(ariaGuidance);\n return jsx(A11yText, {\n \"aria-live\": ariaLive,\n \"aria-atomic\": \"false\",\n \"aria-relevant\": \"additions text\"\n }, isFocused && jsx(React.Fragment, null, jsx(\"span\", {\n id: \"aria-selection\"\n }, ariaSelected), jsx(\"span\", {\n id: \"aria-context\"\n }, ariaContext)));\n};\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nvar memoizedStripDiacriticsForInput = memoizeOne(stripDiacritics);\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread2({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = memoizedStripDiacriticsForInput(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction DummyInput(_ref) {\n _ref.in;\n _ref.out;\n _ref.onExited;\n _ref.appear;\n _ref.enter;\n _ref.exit;\n var innerRef = _ref.innerRef;\n _ref.emotion;\n var props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \";label:DummyInput;\", process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIER1bW15SW5wdXQoe1xuICBpbjogaW5Qcm9wLFxuICBvdXQsXG4gIG9uRXhpdGVkLFxuICBhcHBlYXIsXG4gIGVudGVyLFxuICBleGl0LFxuICBpbm5lclJlZixcbiAgZW1vdGlvbixcbiAgLi4ucHJvcHNcbn06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxpbnB1dFxuICAgICAgcmVmPXtpbm5lclJlZn1cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICB9fVxuICAgIC8+XG4gICk7XG59XG4iXX0= */\")\n }));\n}\n\nvar cancelScroll = function cancelScroll(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nfunction useScrollCapture(_ref) {\n var isEnabled = _ref.isEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var isBottom = useRef(false);\n var isTop = useRef(false);\n var touchStart = useRef(0);\n var scrollTarget = useRef(null);\n var handleEventDelta = useCallback(function (event, delta) {\n // Reference should never be `null` at this point, but flow complains otherwise\n if (scrollTarget.current === null) return;\n var _scrollTarget$current = scrollTarget.current,\n scrollTop = _scrollTarget$current.scrollTop,\n scrollHeight = _scrollTarget$current.scrollHeight,\n clientHeight = _scrollTarget$current.clientHeight;\n var target = scrollTarget.current;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && isBottom.current) {\n if (onBottomLeave) onBottomLeave(event);\n isBottom.current = false;\n }\n\n if (isDeltaPositive && isTop.current) {\n if (onTopLeave) onTopLeave(event);\n isTop.current = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !isBottom.current) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n isBottom.current = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !isTop.current) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n isTop.current = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n cancelScroll(event);\n }\n }, []);\n var onWheel = useCallback(function (event) {\n handleEventDelta(event, event.deltaY);\n }, [handleEventDelta]);\n var onTouchStart = useCallback(function (event) {\n // set touch start so we can calculate touchmove delta\n touchStart.current = event.changedTouches[0].clientY;\n }, []);\n var onTouchMove = useCallback(function (event) {\n var deltaY = touchStart.current - event.changedTouches[0].clientY;\n handleEventDelta(event, deltaY);\n }, [handleEventDelta]);\n var startListening = useCallback(function (el) {\n // bail early if no element is available to attach to\n if (!el) return;\n var notPassive = supportsPassiveEvents ? {\n passive: false\n } : false; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', onWheel, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', onTouchStart, notPassive);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', onTouchMove, notPassive);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n var stopListening = useCallback(function (el) {\n // bail early if no element is available to detach from\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', onTouchMove, false);\n }\n }, [onTouchMove, onTouchStart, onWheel]);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n startListening(element);\n return function () {\n stopListening(element);\n };\n }, [isEnabled, startListening, stopListening]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\n\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar activeScrollLocks = 0;\nvar listenerOptions = {\n capture: false,\n passive: false\n};\nfunction useScrollLock(_ref) {\n var isEnabled = _ref.isEnabled,\n _ref$accountForScroll = _ref.accountForScrollbars,\n accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;\n var originalStyles = useRef({});\n var scrollTarget = useRef(null);\n var addScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n originalStyles.current[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }, []);\n var removeScrollLock = useCallback(function (touchScrollTarget) {\n if (!canUseDOM) return;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = originalStyles.current[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);\n }\n }\n }, []);\n useEffect(function () {\n if (!isEnabled) return;\n var element = scrollTarget.current;\n addScrollLock(element);\n return function () {\n removeScrollLock(element);\n };\n }, [isEnabled, addScrollLock, removeScrollLock]);\n return function (element) {\n scrollTarget.current = element;\n };\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar blurSelectInput = function blurSelectInput() {\n return document.activeElement && document.activeElement.blur();\n};\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"1kfdb0e\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0\"\n} : {\n name: \"bp8cua-ScrollManager\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0RVIiwiZmlsZSI6IlNjcm9sbE1hbmFnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNjcm9sbENhcHR1cmUgZnJvbSAnLi91c2VTY3JvbGxDYXB0dXJlJztcbmltcG9ydCB1c2VTY3JvbGxMb2NrIGZyb20gJy4vdXNlU2Nyb2xsTG9jayc7XG5cbnR5cGUgUmVmQ2FsbGJhY2s8VD4gPSAoVCB8IG51bGwpID0+IHZvaWQ7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiAoUmVmQ2FsbGJhY2s8SFRNTEVsZW1lbnQ+KSA9PiBFbGVtZW50PCo+LFxuICBsb2NrRW5hYmxlZDogYm9vbGVhbixcbiAgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW4sXG4gIG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHZvaWQsXG4gIG9uQm90dG9tTGVhdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BBcnJpdmU/OiAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZCxcbiAgb25Ub3BMZWF2ZT86IChldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkLFxufTtcblxuY29uc3QgYmx1clNlbGVjdElucHV0ID0gKCkgPT5cbiAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsTWFuYWdlcih7XG4gIGNoaWxkcmVuLFxuICBsb2NrRW5hYmxlZCxcbiAgY2FwdHVyZUVuYWJsZWQgPSB0cnVlLFxuICBvbkJvdHRvbUFycml2ZSxcbiAgb25Cb3R0b21MZWF2ZSxcbiAgb25Ub3BBcnJpdmUsXG4gIG9uVG9wTGVhdmUsXG59OiBQcm9wcykge1xuICBjb25zdCBzZXRTY3JvbGxDYXB0dXJlVGFyZ2V0ID0gdXNlU2Nyb2xsQ2FwdHVyZSh7XG4gICAgaXNFbmFibGVkOiBjYXB0dXJlRW5hYmxlZCxcbiAgICBvbkJvdHRvbUFycml2ZSxcbiAgICBvbkJvdHRvbUxlYXZlLFxuICAgIG9uVG9wQXJyaXZlLFxuICAgIG9uVG9wTGVhdmUsXG4gIH0pO1xuICBjb25zdCBzZXRTY3JvbGxMb2NrVGFyZ2V0ID0gdXNlU2Nyb2xsTG9jayh7IGlzRW5hYmxlZDogbG9ja0VuYWJsZWQgfSk7XG5cbiAgY29uc3QgdGFyZ2V0UmVmID0gZWxlbWVudCA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\nfunction ScrollManager(_ref) {\n var children = _ref.children,\n lockEnabled = _ref.lockEnabled,\n _ref$captureEnabled = _ref.captureEnabled,\n captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,\n onBottomArrive = _ref.onBottomArrive,\n onBottomLeave = _ref.onBottomLeave,\n onTopArrive = _ref.onTopArrive,\n onTopLeave = _ref.onTopLeave;\n var setScrollCaptureTarget = useScrollCapture({\n isEnabled: captureEnabled,\n onBottomArrive: onBottomArrive,\n onBottomLeave: onBottomLeave,\n onTopArrive: onTopArrive,\n onTopLeave: onTopLeave\n });\n var setScrollLockTarget = useScrollLock({\n isEnabled: lockEnabled\n });\n\n var targetRef = function targetRef(element) {\n setScrollCaptureTarget(element);\n setScrollLockTarget(element);\n };\n\n return jsx(React.Fragment, null, lockEnabled && jsx(\"div\", {\n onClick: blurSelectInput,\n css: _ref2\n }), children(targetRef));\n}\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css$1,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$2,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // initialize with source styles\n var styles = _objectSpread2({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nvar defaultProps = {\n 'aria-live': 'polite',\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\n\nfunction toCategorizedOption(props, option, selectValue, index) {\n var isDisabled = _isOptionDisabled(props, option, selectValue);\n\n var isSelected = _isOptionSelected(props, option, selectValue);\n\n var label = getOptionLabel$1(props, option);\n var value = getOptionValue$1(props, option);\n return {\n type: 'option',\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n label: label,\n value: value,\n index: index\n };\n}\n\nfunction buildCategorizedOptions(props, selectValue) {\n return props.options.map(function (groupOrOption, groupOrOptionIndex) {\n if (groupOrOption.options) {\n var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {\n return toCategorizedOption(props, option, selectValue, optionIndex);\n }).filter(function (categorizedOption) {\n return isFocusable(props, categorizedOption);\n });\n return categorizedOptions.length > 0 ? {\n type: 'group',\n data: groupOrOption,\n options: categorizedOptions,\n index: groupOrOptionIndex\n } : undefined;\n }\n\n var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);\n return isFocusable(props, categorizedOption) ? categorizedOption : undefined;\n }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)\n .filter(function (categorizedOption) {\n return !!categorizedOption;\n });\n}\n\nfunction buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {\n return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {\n if (categorizedOption.type === 'group') {\n optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {\n return option.data;\n })));\n } else {\n optionsAccumulator.push(categorizedOption.data);\n }\n\n return optionsAccumulator;\n }, []);\n}\n\nfunction buildFocusableOptions(props, selectValue) {\n return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));\n}\n\nfunction isFocusable(props, categorizedOption) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;\n var data = categorizedOption.data,\n isSelected = categorizedOption.isSelected,\n label = categorizedOption.label,\n value = categorizedOption.value;\n return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {\n label: label,\n value: value,\n data: data\n }, inputValue);\n}\n\nfunction getNextFocusedValue(state, nextSelectValue) {\n var focusedValue = state.focusedValue,\n lastSelectValue = state.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n}\n\nfunction getNextFocusedOption(state, options) {\n var lastFocusedOption = state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n}\n\nvar getOptionLabel$1 = function getOptionLabel(props, data) {\n return props.getOptionLabel(data);\n};\n\nvar getOptionValue$1 = function getOptionValue(props, data) {\n return props.getOptionValue(data);\n};\n\nfunction _isOptionDisabled(props, option, selectValue) {\n return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;\n}\n\nfunction _isOptionSelected(props, option, selectValue) {\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof props.isOptionSelected === 'function') {\n return props.isOptionSelected(option, selectValue);\n }\n\n var candidate = getOptionValue$1(props, option);\n return selectValue.some(function (i) {\n return getOptionValue$1(props, i) === candidate;\n });\n}\n\nfunction _filterOption(props, option, inputValue) {\n return props.filterOption ? props.filterOption(option, inputValue) : true;\n}\n\nvar shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {\n var hideSelectedOptions = props.hideSelectedOptions,\n isMulti = props.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n};\n\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper(Select);\n\n // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaSelection: null,\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n selectValue: [],\n clearFocusValueOnUpdate: false,\n inputIsHiddenAfterUpdate: undefined,\n prevProps: undefined\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.commonProps = void 0;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n actionMeta.name = name;\n\n _this.ariaOnChange(newValue, actionMeta);\n\n onChange(newValue, actionMeta);\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.setState({\n clearFocusValueOnUpdate: true\n });\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti,\n name = _this$props3.name;\n var selectValue = _this.state.selectValue;\n\n var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);\n\n var isDisabled = _this.isOptionDisabled(newValue, selectValue);\n\n if (deselected) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n } else if (!isDisabled) {\n // Select option if option is not disabled\n if (isMulti) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n } else {\n _this.setValue(newValue, 'select-option');\n }\n } else {\n _this.ariaOnChange(newValue, {\n action: 'select-option',\n name: name\n });\n\n return;\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValueArray = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n var selectValue = _this.state.selectValue;\n\n _this.onChange(_this.props.isMulti ? [] : null, {\n action: 'clear',\n removedValues: selectValue\n });\n };\n\n _this.popValue = function () {\n var isMulti = _this.props.isMulti;\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValueArray = selectValue.slice(0, selectValue.length - 1);\n var newValue = isMulti ? newValueArray : newValueArray[0] || null;\n\n _this.onChange(newValue, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return getOptionLabel$1(_this.props, data);\n };\n\n _this.getOptionValue = function (data) {\n return getOptionValue$1(_this.props, data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getComponents = function () {\n return defaultComponents(_this.props);\n };\n\n _this.buildCategorizedOptions = function () {\n return buildCategorizedOptions(_this.props, _this.state.selectValue);\n };\n\n _this.getCategorizedOptions = function () {\n return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];\n };\n\n _this.buildFocusableOptions = function () {\n return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());\n };\n\n _this.getFocusableOptions = function () {\n return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];\n };\n\n _this.ariaOnChange = function (value, actionMeta) {\n _this.setState({\n ariaSelection: _objectSpread2({\n value: value\n }, actionMeta)\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: !isMulti\n });\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref2) {\n var touches = _ref2.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref3) {\n var touches = _ref3.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState({\n inputIsHiddenAfterUpdate: false,\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n return shouldHideSelectedOptions(_this.props);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props5 = _this.props,\n isMulti = _this$props5.isMulti,\n backspaceRemovesValue = _this$props5.backspaceRemovesValue,\n escapeClearsValue = _this$props5.escapeClearsValue,\n inputValue = _this$props5.inputValue,\n isClearable = _this$props5.isClearable,\n isDisabled = _this$props5.isDisabled,\n menuIsOpen = _this$props5.menuIsOpen,\n onKeyDown = _this$props5.onKeyDown,\n tabSelectsValue = _this$props5.tabSelectsValue,\n openMenuOnFocus = _this$props5.openMenuOnFocus;\n var _this$state = _this.state,\n focusedOption = _this$state.focusedOption,\n focusedValue = _this$state.focusedValue,\n selectValue = _this$state.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.setState({\n inputIsHiddenAfterUpdate: false\n });\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n _this.state.selectValue = cleanValue(_props.value);\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props6 = this.props,\n isDisabled = _this$props6.isDisabled,\n menuIsOpen = _this$props6.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n } // ==============================\n // Consumer Handlers\n // ==============================\n\n }, {\n key: \"onMenuOpen\",\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state2 = this.state,\n selectValue = _this$state2.selectValue,\n isFocused = _this$state2.isFocused;\n var focusableOptions = this.buildFocusableOptions();\n var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;\n\n if (!this.props.isMulti) {\n var selectedIndex = focusableOptions.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.setState({\n inputIsHiddenAfterUpdate: false,\n focusedValue: null,\n focusedOption: focusableOptions[openAtIndex]\n }, function () {\n return _this2.onMenuOpen();\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing\n\n if (!this.props.isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var pageSize = this.props.pageSize;\n var focusedOption = this.state.focusedOption;\n var options = this.getFocusableOptions();\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n }\n }, {\n key: \"getTheme\",\n value: // ==============================\n // Getters\n // ==============================\n function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread2(_objectSpread2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n selectOption = this.selectOption,\n setValue = this.setValue,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n clearValue: clearValue,\n cx: cx,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n selectProps: props,\n setValue: setValue,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.getFocusableOptions().length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props7 = this.props,\n isClearable = _this$props7.isClearable,\n isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return _isOptionDisabled(this.props, option, selectValue);\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n return _isOptionSelected(this.props, option, selectValue);\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return _filterOption(this.props, option, inputValue);\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n value: // ==============================\n // Composition Handlers\n // ==============================\n function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n value: // ==============================\n // Touch Handlers\n // ==============================\n function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"renderInput\",\n value: // ==============================\n // Renderers\n // ==============================\n function renderInput() {\n var _this$props8 = this.props,\n isDisabled = _this$props8.isDisabled,\n isSearchable = _this$props8.isSearchable,\n inputId = _this$props8.inputId,\n inputValue = _this$props8.inputValue,\n tabIndex = _this$props8.tabIndex,\n form = _this$props8.form;\n\n var _this$getComponents = this.getComponents(),\n Input = _this$getComponents.Input;\n\n var inputIsHidden = this.state.inputIsHidden;\n var commonProps = this.commonProps;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({}, commonProps, {\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this3 = this;\n\n var _this$getComponents2 = this.getComponents(),\n MultiValue = _this$getComponents2.MultiValue,\n MultiValueContainer = _this$getComponents2.MultiValueContainer,\n MultiValueLabel = _this$getComponents2.MultiValueLabel,\n MultiValueRemove = _this$getComponents2.MultiValueRemove,\n SingleValue = _this$getComponents2.SingleValue,\n Placeholder = _this$getComponents2.Placeholder;\n\n var commonProps = this.commonProps;\n var _this$props9 = this.props,\n controlShouldRenderValue = _this$props9.controlShouldRenderValue,\n isDisabled = _this$props9.isDisabled,\n isMulti = _this$props9.isMulti,\n inputValue = _this$props9.inputValue,\n placeholder = _this$props9.placeholder;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue,\n isFocused = _this$state4.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this3.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this3.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this3.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this3.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var _this$getComponents3 = this.getComponents(),\n ClearIndicator = _this$getComponents3.ClearIndicator;\n\n var commonProps = this.commonProps;\n var _this$props10 = this.props,\n isDisabled = _this$props10.isDisabled,\n isLoading = _this$props10.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var _this$getComponents4 = this.getComponents(),\n LoadingIndicator = _this$getComponents4.LoadingIndicator;\n\n var commonProps = this.commonProps;\n var _this$props11 = this.props,\n isDisabled = _this$props11.isDisabled,\n isLoading = _this$props11.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$getComponents5 = this.getComponents(),\n DropdownIndicator = _this$getComponents5.DropdownIndicator,\n IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var _this$getComponents6 = this.getComponents(),\n DropdownIndicator = _this$getComponents6.DropdownIndicator;\n\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this4 = this;\n\n var _this$getComponents7 = this.getComponents(),\n Group = _this$getComponents7.Group,\n GroupHeading = _this$getComponents7.GroupHeading,\n Menu = _this$getComponents7.Menu,\n MenuList = _this$getComponents7.MenuList,\n MenuPortal = _this$getComponents7.MenuPortal,\n LoadingMessage = _this$getComponents7.LoadingMessage,\n NoOptionsMessage = _this$getComponents7.NoOptionsMessage,\n Option = _this$getComponents7.Option;\n\n var commonProps = this.commonProps;\n var focusedOption = this.state.focusedOption;\n var _this$props12 = this.props,\n captureMenuScroll = _this$props12.captureMenuScroll,\n inputValue = _this$props12.inputValue,\n isLoading = _this$props12.isLoading,\n loadingMessage = _this$props12.loadingMessage,\n minMenuHeight = _this$props12.minMenuHeight,\n maxMenuHeight = _this$props12.maxMenuHeight,\n menuIsOpen = _this$props12.menuIsOpen,\n menuPlacement = _this$props12.menuPlacement,\n menuPosition = _this$props12.menuPosition,\n menuPortalTarget = _this$props12.menuPortalTarget,\n menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,\n noOptionsMessage = _this$props12.noOptionsMessage,\n onMenuScrollToTop = _this$props12.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props, id) {\n var type = props.type,\n data = props.data,\n isDisabled = props.isDisabled,\n isSelected = props.isSelected,\n label = props.label,\n value = props.value;\n var isFocused = focusedOption === data;\n var onHover = isDisabled ? undefined : function () {\n return _this4.onOptionHover(data);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this4.selectOption(data);\n };\n var optionId = \"\".concat(_this4.getElementId('option'), \"-\").concat(id);\n var innerProps = {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n };\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, {\n innerProps: innerProps,\n data: data,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: type,\n value: value,\n isFocused: isFocused,\n innerRef: isFocused ? _this4.getFocusedOptionRef : undefined\n }), _this4.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = this.getCategorizedOptions().map(function (item) {\n if (item.type === 'group') {\n var data = item.data,\n options = item.options,\n groupIndex = item.index;\n var groupId = \"\".concat(_this4.getElementId('group'), \"-\").concat(groupIndex);\n var headingId = \"\".concat(groupId, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, {\n key: groupId,\n data: data,\n options: options,\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this4.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option, \"\".concat(groupIndex, \"-\").concat(option.index));\n }));\n } else if (item.type === 'option') {\n return render(item, \"\".concat(item.index));\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref4) {\n var ref = _ref4.ref,\n _ref4$placerProps = _ref4.placerProps,\n placement = _ref4$placerProps.placement,\n maxHeight = _ref4$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this4.onMenuMouseDown,\n onMouseMove: _this4.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollManager, {\n captureEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom,\n lockEnabled: menuShouldBlockScroll\n }, function (scrollTargetRef) {\n return /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: function innerRef(instance) {\n _this4.getMenuListRef(instance);\n\n scrollTargetRef(instance);\n },\n isLoading: isLoading,\n maxHeight: maxHeight,\n focusedOption: focusedOption\n }), menuUI);\n }));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this5 = this;\n\n var _this$props13 = this.props,\n delimiter = _this$props13.delimiter,\n isDisabled = _this$props13.isDisabled,\n isMulti = _this$props13.isMulti,\n name = _this$props13.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this5.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this5.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n var commonProps = this.commonProps;\n var _this$state5 = this.state,\n ariaSelection = _this$state5.ariaSelection,\n focusedOption = _this$state5.focusedOption,\n focusedValue = _this$state5.focusedValue,\n isFocused = _this$state5.isFocused,\n selectValue = _this$state5.selectValue;\n var focusableOptions = this.getFocusableOptions();\n return /*#__PURE__*/React.createElement(LiveRegion, _extends({}, commonProps, {\n ariaSelection: ariaSelection,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n isFocused: isFocused,\n selectValue: selectValue,\n focusableOptions: focusableOptions\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getComponents8 = this.getComponents(),\n Control = _this$getComponents8.Control,\n IndicatorsContainer = _this$getComponents8.IndicatorsContainer,\n SelectContainer = _this$getComponents8.SelectContainer,\n ValueContainer = _this$getComponents8.ValueContainer;\n\n var _this$props14 = this.props,\n className = _this$props14.className,\n id = _this$props14.id,\n isDisabled = _this$props14.isDisabled,\n menuIsOpen = _this$props14.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var prevProps = state.prevProps,\n clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,\n inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;\n var options = props.options,\n value = props.value,\n menuIsOpen = props.menuIsOpen,\n inputValue = props.inputValue;\n var newMenuOptionsState = {};\n\n if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {\n var selectValue = cleanValue(value);\n var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];\n var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;\n var focusedOption = getNextFocusedOption(state, focusableOptions);\n newMenuOptionsState = {\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue,\n clearFocusValueOnUpdate: false\n };\n } // some updates should toggle the state of the input visibility\n\n\n var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {\n inputIsHidden: inputIsHiddenAfterUpdate,\n inputIsHiddenAfterUpdate: undefined\n } : {};\n return _objectSpread2(_objectSpread2(_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {\n prevProps: props\n });\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, getOptionLabel as a, defaultProps as b, createFilter as c, defaultTheme as d, getOptionValue as g, mergeStyles as m };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\n\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { _ as _createSuper, H as handleInputChange, a as _objectSpread2 } from '../../dist/index-4bd03571.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport React, { Component } from 'react';\nimport { S as Select } from '../../dist/Select-dbb12e54.esm.js';\nimport { m as manageState } from '../../dist/stateManager-845a3300.esm.js';\nimport '@emotion/react';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport 'react-dom';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport 'memoize-one';\n\nvar defaultProps = {\n cacheOptions: false,\n defaultOptions: false,\n filterOption: null,\n isLoading: false\n};\nvar makeAsyncSelect = function makeAsyncSelect(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(Async, _Component);\n\n var _super = _createSuper(Async);\n\n function Async(props) {\n var _this;\n\n _classCallCheck(this, Async);\n\n _this = _super.call(this);\n _this.select = void 0;\n _this.lastRequest = void 0;\n _this.mounted = false;\n\n _this.handleInputChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n cacheOptions = _this$props.cacheOptions,\n onInputChange = _this$props.onInputChange; // TODO\n\n var inputValue = handleInputChange(newValue, actionMeta, onInputChange);\n\n if (!inputValue) {\n delete _this.lastRequest;\n\n _this.setState({\n inputValue: '',\n loadedInputValue: '',\n loadedOptions: [],\n isLoading: false,\n passEmptyOptions: false\n });\n\n return;\n }\n\n if (cacheOptions && _this.state.optionsCache[inputValue]) {\n _this.setState({\n inputValue: inputValue,\n loadedInputValue: inputValue,\n loadedOptions: _this.state.optionsCache[inputValue],\n isLoading: false,\n passEmptyOptions: false\n });\n } else {\n var request = _this.lastRequest = {};\n\n _this.setState({\n inputValue: inputValue,\n isLoading: true,\n passEmptyOptions: !_this.state.loadedInputValue\n }, function () {\n _this.loadOptions(inputValue, function (options) {\n if (!_this.mounted) return;\n if (request !== _this.lastRequest) return;\n delete _this.lastRequest;\n\n _this.setState(function (state) {\n return {\n isLoading: false,\n loadedInputValue: inputValue,\n loadedOptions: options || [],\n passEmptyOptions: false,\n optionsCache: options ? _objectSpread2(_objectSpread2({}, state.optionsCache), {}, _defineProperty({}, inputValue, options)) : state.optionsCache\n };\n });\n });\n });\n }\n\n return inputValue;\n };\n\n _this.state = {\n defaultOptions: Array.isArray(props.defaultOptions) ? props.defaultOptions : undefined,\n inputValue: typeof props.inputValue !== 'undefined' ? props.inputValue : '',\n isLoading: props.defaultOptions === true,\n loadedOptions: [],\n passEmptyOptions: false,\n optionsCache: {},\n prevDefaultOptions: undefined,\n prevCacheOptions: undefined\n };\n return _this;\n }\n\n _createClass(Async, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.mounted = true;\n var defaultOptions = this.props.defaultOptions;\n var inputValue = this.state.inputValue;\n\n if (defaultOptions === true) {\n this.loadOptions(inputValue, function (options) {\n if (!_this2.mounted) return;\n var isLoading = !!_this2.lastRequest;\n\n _this2.setState({\n defaultOptions: options || [],\n isLoading: isLoading\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"loadOptions\",\n value: function loadOptions(inputValue, callback) {\n var loadOptions = this.props.loadOptions;\n if (!loadOptions) return callback();\n var loader = loadOptions(inputValue, callback);\n\n if (loader && typeof loader.then === 'function') {\n loader.then(callback, function () {\n return callback();\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props2 = this.props;\n _this$props2.loadOptions;\n var isLoadingProp = _this$props2.isLoading,\n props = _objectWithoutProperties(_this$props2, [\"loadOptions\", \"isLoading\"]);\n\n var _this$state = this.state,\n defaultOptions = _this$state.defaultOptions,\n inputValue = _this$state.inputValue,\n isLoading = _this$state.isLoading,\n loadedInputValue = _this$state.loadedInputValue,\n loadedOptions = _this$state.loadedOptions,\n passEmptyOptions = _this$state.passEmptyOptions;\n var options = passEmptyOptions ? [] : inputValue && loadedInputValue ? loadedOptions : defaultOptions || [];\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this3.select = _ref;\n },\n options: options,\n isLoading: isLoading || isLoadingProp,\n onInputChange: this.handleInputChange\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var newCacheOptionsState = props.cacheOptions !== state.prevCacheOptions ? {\n prevCacheOptions: props.cacheOptions,\n optionsCache: {}\n } : {};\n var newDefaultOptionsState = props.defaultOptions !== state.prevDefaultOptions ? {\n prevDefaultOptions: props.defaultOptions,\n defaultOptions: Array.isArray(props.defaultOptions) ? props.defaultOptions : undefined\n } : {};\n return _objectSpread2(_objectSpread2({}, newCacheOptionsState), newDefaultOptionsState);\n }\n }]);\n\n return Async;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\nvar SelectState = manageState(Select);\nvar Async = makeAsyncSelect(SelectState);\n\nexport default Async;\nexport { defaultProps, makeAsyncSelect };\n","import { AutocompletionRequest } from '../GooglePlacesAutocomplete.types';\n\nexport default (\n autocompletionRequest: AutocompletionRequest,\n input: string,\n sessionToken?: google.maps.places.AutocompleteSessionToken,\n): google.maps.places.AutocompletionRequest => {\n const { bounds, location, ...rest } = autocompletionRequest;\n\n const res: google.maps.places.AutocompletionRequest= {\n input,\n ...rest,\n };\n\n if (sessionToken) {\n res.sessionToken = sessionToken;\n }\n\n if (bounds) {\n res.bounds = new google.maps.LatLngBounds(...bounds);\n }\n\n if (location) {\n res.location = new google.maps.LatLng(location);\n }\n\n return res;\n};\n","// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\n/**\r\n * Copyright 2019 Google LLC. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at.\r\n *\r\n * Http://www.apache.org/licenses/LICENSE-2.0.\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ID = \"__googleMapsScriptId\";\r\n/**\r\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\r\n * dynamically using\r\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\r\n * It works by dynamically creating and appending a script node to the the\r\n * document head and wrapping the callback function so as to return a promise.\r\n *\r\n * ```\r\n * const loader = new Loader({\r\n * apiKey: \"\",\r\n * version: \"weekly\",\r\n * libraries: [\"places\"]\r\n * });\r\n *\r\n * loader.load().then((google) => {\r\n * const map = new google.maps.Map(...)\r\n * })\r\n * ```\r\n */\r\nclass Loader {\r\n /**\r\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\r\n * using this library, instead the defaults are set by the Google Maps\r\n * JavaScript API server.\r\n *\r\n * ```\r\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\r\n * ```\r\n */\r\n constructor({ apiKey, channel, client, id = DEFAULT_ID, libraries = [], language, region, version, mapIds, nonce, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", }) {\r\n this.CALLBACK = \"__googleMapsCallback\";\r\n this.callbacks = [];\r\n this.done = false;\r\n this.loading = false;\r\n this.errors = [];\r\n this.version = version;\r\n this.apiKey = apiKey;\r\n this.channel = channel;\r\n this.client = client;\r\n this.id = id || DEFAULT_ID; // Do not allow empty string\r\n this.libraries = libraries;\r\n this.language = language;\r\n this.region = region;\r\n this.mapIds = mapIds;\r\n this.nonce = nonce;\r\n this.retries = retries;\r\n this.url = url;\r\n if (Loader.instance) {\r\n if (!fastDeepEqual(this.options, Loader.instance.options)) {\r\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\r\n }\r\n return Loader.instance;\r\n }\r\n Loader.instance = this;\r\n }\r\n get options() {\r\n return {\r\n version: this.version,\r\n apiKey: this.apiKey,\r\n channel: this.channel,\r\n client: this.client,\r\n id: this.id,\r\n libraries: this.libraries,\r\n language: this.language,\r\n region: this.region,\r\n mapIds: this.mapIds,\r\n nonce: this.nonce,\r\n url: this.url,\r\n };\r\n }\r\n get failed() {\r\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\r\n }\r\n /**\r\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\r\n *\r\n * @ignore\r\n */\r\n createUrl() {\r\n let url = this.url;\r\n url += `?callback=${this.CALLBACK}`;\r\n if (this.apiKey) {\r\n url += `&key=${this.apiKey}`;\r\n }\r\n if (this.channel) {\r\n url += `&channel=${this.channel}`;\r\n }\r\n if (this.client) {\r\n url += `&client=${this.client}`;\r\n }\r\n if (this.libraries.length > 0) {\r\n url += `&libraries=${this.libraries.join(\",\")}`;\r\n }\r\n if (this.language) {\r\n url += `&language=${this.language}`;\r\n }\r\n if (this.region) {\r\n url += `®ion=${this.region}`;\r\n }\r\n if (this.version) {\r\n url += `&v=${this.version}`;\r\n }\r\n if (this.mapIds) {\r\n url += `&map_ids=${this.mapIds.join(\",\")}`;\r\n }\r\n return url;\r\n }\r\n /**\r\n * Load the Google Maps JavaScript API script and return a Promise.\r\n */\r\n load() {\r\n return this.loadPromise();\r\n }\r\n /**\r\n * Load the Google Maps JavaScript API script and return a Promise.\r\n *\r\n * @ignore\r\n */\r\n loadPromise() {\r\n return new Promise((resolve, reject) => {\r\n this.loadCallback((err) => {\r\n if (!err) {\r\n resolve(window.google);\r\n }\r\n else {\r\n reject(err.error);\r\n }\r\n });\r\n });\r\n }\r\n /**\r\n * Load the Google Maps JavaScript API script with a callback.\r\n */\r\n loadCallback(fn) {\r\n this.callbacks.push(fn);\r\n this.execute();\r\n }\r\n /**\r\n * Set the script on document.\r\n */\r\n setScript() {\r\n if (document.getElementById(this.id)) {\r\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\r\n this.callback();\r\n return;\r\n }\r\n const url = this.createUrl();\r\n const script = document.createElement(\"script\");\r\n script.id = this.id;\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n script.onerror = this.loadErrorCallback.bind(this);\r\n script.defer = true;\r\n script.async = true;\r\n if (this.nonce) {\r\n script.nonce = this.nonce;\r\n }\r\n document.head.appendChild(script);\r\n }\r\n deleteScript() {\r\n const script = document.getElementById(this.id);\r\n if (script) {\r\n script.remove();\r\n }\r\n }\r\n /**\r\n * Reset the loader state.\r\n */\r\n reset() {\r\n this.deleteScript();\r\n this.done = false;\r\n this.loading = false;\r\n this.errors = [];\r\n this.onerrorEvent = null;\r\n }\r\n resetIfRetryingFailed() {\r\n if (this.failed) {\r\n this.reset();\r\n }\r\n }\r\n loadErrorCallback(e) {\r\n this.errors.push(e);\r\n if (this.errors.length <= this.retries) {\r\n const delay = this.errors.length * Math.pow(2, this.errors.length);\r\n console.log(`Failed to load Google Maps script, retrying in ${delay} ms.`);\r\n setTimeout(() => {\r\n this.deleteScript();\r\n this.setScript();\r\n }, delay);\r\n }\r\n else {\r\n this.onerrorEvent = e;\r\n this.callback();\r\n }\r\n }\r\n setCallback() {\r\n window.__googleMapsCallback = this.callback.bind(this);\r\n }\r\n callback() {\r\n this.done = true;\r\n this.loading = false;\r\n this.callbacks.forEach((cb) => {\r\n cb(this.onerrorEvent);\r\n });\r\n this.callbacks = [];\r\n }\r\n execute() {\r\n this.resetIfRetryingFailed();\r\n if (this.done) {\r\n this.callback();\r\n }\r\n else {\r\n // short circuit and warn if google.maps is already loaded\r\n if (window.google && window.google.maps && window.google.maps.version) {\r\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader.\" +\r\n \"This may result in undesirable behavior as options and script parameters may not match.\");\r\n this.callback();\r\n return;\r\n }\r\n if (this.loading) ;\r\n else {\r\n this.loading = true;\r\n this.setCallback();\r\n this.setScript();\r\n }\r\n }\r\n }\r\n}\n\nexport { DEFAULT_ID, Loader };\n//# sourceMappingURL=index.esm.js.map\n","import React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react';\nimport AsyncSelect from 'react-select/async';\nimport { OptionsType, OptionTypeBase } from 'react-select';\nimport { useDebouncedCallback } from 'use-debounce';\nimport GooglePlacesAutocompleteProps, {\n AutocompletionRequest,\n GooglePlacesAutocompleteHandle,\n} from './GooglePlacesAutocomplete.types';\nimport autocompletionRequestBuilder from './helpers/autocompletionRequestBuilder';\nimport { Loader } from '@googlemaps/js-api-loader';\n\nconst GooglePlacesAutocomplete: React.ForwardRefRenderFunction = ({\n apiKey = '',\n apiOptions = {},\n autocompletionRequest = {},\n debounce = 300,\n minLengthAutocomplete = 0,\n selectProps = {},\n onLoadFailed = console.error,\n withSessionToken = false,\n} : GooglePlacesAutocompleteProps, ref) : React.ReactElement => {\n const [placesService, setPlacesService] = useState(undefined);\n const [sessionToken, setSessionToken] = useState(undefined);\n const [fetchSuggestions] = useDebouncedCallback((value: string, cb: (options: OptionsType) => void): void => {\n if (!placesService) return cb([]);\n if (value.length < minLengthAutocomplete) return cb([]);\n\n const autocompletionReq: AutocompletionRequest = { ...autocompletionRequest };\n\n placesService.getPlacePredictions(\n autocompletionRequestBuilder(\n autocompletionReq,\n value,\n withSessionToken && sessionToken,\n ), (suggestions) => {\n cb((suggestions || []).map(suggestion => ({ label: suggestion.description, value: suggestion })));\n },\n );\n }, debounce);\n\n const initializeService = () => {\n if (!window.google) throw new Error('[react-google-places-autocomplete]: Google script not loaded');\n if (!window.google.maps) throw new Error('[react-google-places-autocomplete]: Google maps script not loaded');\n if (!window.google.maps.places) throw new Error('[react-google-places-autocomplete]: Google maps places script not loaded');\n\n setPlacesService(new window.google.maps.places.AutocompleteService());\n setSessionToken(new google.maps.places.AutocompleteSessionToken());\n }\n\n useImperativeHandle(ref, () => ({\n getSessionToken: () => {\n return sessionToken;\n },\n refreshSessionToken: () => {\n setSessionToken(new google.maps.places.AutocompleteSessionToken());\n }\n }), [sessionToken]);\n\n useEffect(() => {\n const init = async () => {\n try {\n if ( !window.google || !window.google.maps || !window.google.maps.places ) {\n await new Loader({ apiKey, ...{ libraries: ['places'], ...apiOptions }}).load();\n }\n initializeService();\n } catch (error) {\n onLoadFailed(error);\n }\n }\n\n if (apiKey) init();\n else initializeService();\n }, []);\n\n return (\n value.place_id}\n />\n );\n};\n\nexport default forwardRef(GooglePlacesAutocomplete);\n","import { useRef, useCallback, useEffect } from 'react';\nexport default function useDebouncedCallback(callback, delay, options) {\n if (options === void 0) { options = {}; }\n var maxWait = options.maxWait;\n var maxWaitHandler = useRef(null);\n var maxWaitArgs = useRef([]);\n var leading = options.leading;\n var trailing = options.trailing === undefined ? true : options.trailing;\n var leadingCall = useRef(false);\n var functionTimeoutHandler = useRef(null);\n var isComponentUnmounted = useRef(false);\n var debouncedFunction = useRef(callback);\n debouncedFunction.current = callback;\n var cancelDebouncedCallback = useCallback(function () {\n clearTimeout(functionTimeoutHandler.current);\n clearTimeout(maxWaitHandler.current);\n maxWaitHandler.current = null;\n maxWaitArgs.current = [];\n functionTimeoutHandler.current = null;\n leadingCall.current = false;\n }, []);\n useEffect(function () {\n // We have to set isComponentUnmounted to be truth, as fast-refresh runs all useEffects\n isComponentUnmounted.current = false;\n return function () {\n // we use flag, as we allow to call callPending outside the hook\n isComponentUnmounted.current = true;\n };\n }, []);\n var debouncedCallback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n maxWaitArgs.current = args;\n clearTimeout(functionTimeoutHandler.current);\n if (leadingCall.current) {\n leadingCall.current = false;\n }\n if (!functionTimeoutHandler.current && leading && !leadingCall.current) {\n debouncedFunction.current.apply(debouncedFunction, args);\n leadingCall.current = true;\n }\n functionTimeoutHandler.current = setTimeout(function () {\n var shouldCallFunction = true;\n if (leading && leadingCall.current) {\n shouldCallFunction = false;\n }\n cancelDebouncedCallback();\n if (!isComponentUnmounted.current && trailing && shouldCallFunction) {\n debouncedFunction.current.apply(debouncedFunction, args);\n }\n }, delay);\n if (maxWait && !maxWaitHandler.current && trailing) {\n maxWaitHandler.current = setTimeout(function () {\n var args = maxWaitArgs.current;\n cancelDebouncedCallback();\n if (!isComponentUnmounted.current) {\n debouncedFunction.current.apply(null, args);\n }\n }, maxWait);\n }\n }, [maxWait, delay, cancelDebouncedCallback, leading, trailing]);\n var callPending = useCallback(function () {\n // Call pending callback only if we have anything in our queue\n if (!functionTimeoutHandler.current) {\n return;\n }\n debouncedFunction.current.apply(null, maxWaitArgs.current);\n cancelDebouncedCallback();\n }, [cancelDebouncedCallback]);\n // At the moment, we use 3 args array so that we save backward compatibility\n return [debouncedCallback, cancelDebouncedCallback, callPending];\n}\n","import { LatLng } from '../GooglePlacesAutocomplete.types';\n\nconst getLatLng = (result: google.maps.GeocoderResult): Promise => (\n new Promise((resolve, reject) => {\n try {\n const latLng = {\n lat: result.geometry.location.lat(),\n lng: result.geometry.location.lng(),\n };\n return resolve(latLng);\n } catch (e) {\n return reject(e);\n }\n })\n);\n\nexport default getLatLng;\n","const geocodeByAddress = (address: string): Promise => {\n const geocoder = new window.google.maps.Geocoder();\n const { OK } = window.google.maps.GeocoderStatus;\n\n return new Promise((resolve, reject) => {\n geocoder.geocode(\n { address },\n (\n results: google.maps.GeocoderResult[],\n status: google.maps.GeocoderStatus,\n ) => {\n if (status !== OK) {\n return reject(status);\n }\n\n return resolve(results);\n });\n });\n};\n\nexport default geocodeByAddress;\n","import { LatLng } from '../GooglePlacesAutocomplete.types';\n\nconst geocodeByLatLng = (latLng: LatLng): Promise => {\n const geocoder = new window.google.maps.Geocoder();\n const { OK } = window.google.maps.GeocoderStatus;\n\n return new Promise((resolve, reject) => {\n geocoder.geocode(\n { location: latLng },\n (\n results: google.maps.GeocoderResult[],\n status: google.maps.GeocoderStatus,\n ) => {\n if (status !== OK) return reject(status);\n\n return resolve(results);\n }\n );\n });\n};\n\nexport default geocodeByLatLng;\n","const geocodeByPlaceId = (placeId: string): Promise => {\n const geocoder = new window.google.maps.Geocoder();\n const { OK } = window.google.maps.GeocoderStatus;\n\n return new Promise((resolve, reject) => {\n geocoder.geocode(\n { placeId },\n (\n results: google.maps.GeocoderResult[],\n status: google.maps.GeocoderStatus,\n ) => {\n if (status !== OK) {\n return reject(status);\n }\n return resolve(results);\n });\n });\n};\n\nexport default geocodeByPlaceId;\n","import React, { useEffect, useState } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport { useController } from \"react-hook-form\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\nimport cn from \"classnames\";\nimport GooglePlacesAutocomplete, {\n geocodeByAddress\n} from \"react-google-places-autocomplete\";\n\n// eslint-disable-next-line react/display-name\nconst PlacesAutocompleteControl = (props) => {\n const {\n errors,\n name,\n defaultPlaceId,\n defaultValue,\n id,\n control,\n label,\n placeholder\n } = props;\n\n const {\n field: { onChange, value: searchSelection, ref }\n } = useController({\n name,\n control,\n defaultValue\n });\n\n const [searchValue, setSearchValue] = useState(\"\");\n\n const handleSearchInput = (e, { action }) => {\n if (\n action === \"menu-close\" ||\n action === \"input-blur\" ||\n action === \"set-value\"\n ) {\n return;\n }\n\n setSearchValue(e);\n };\n\n const handleSearchSelection = (selection) => {\n setSearchValue(selection ? selection.label : \"\");\n onChange(selection);\n };\n\n const customSelectStyles = {\n option: (provided, state) => ({\n ...provided,\n color: state.isSelected ? \"#ffffff\" : \"#272C3F\",\n fontWeight: \"500\",\n transition: \"0.2s background-color ease-in-out\",\n cursor: \"pointer\"\n }),\n menu: () => ({\n position: \"absolute\",\n zIndex: \"10\",\n top: \"100%\",\n left: \"0\",\n right: \"0\",\n marginTop: \"5px\",\n backgroundColor: \"#ffffff\",\n borderRadius: \"2px\",\n border: \"1px solid #d8dbe1\",\n boxShadow: \"0 4px 11px hsl(0deg 0% 0% / 10%)\"\n }),\n control: (_, { selectProps: { hasError } }) => {\n return {\n display: \"flex\",\n alignItems: \"center\",\n height: \"46px\",\n borderRadius: \"4px\",\n fontSize: \"16px\",\n opacity: \"1!important\",\n fontWeight: \"600\",\n color: \"#999999\",\n border: `1px solid ${(hasError && \"#e85b5b\") || \"#d1d1d9\"}`,\n backgroundColor: \"#ffffff\",\n cursor: \"text\"\n };\n },\n singleValue: (styles) => {\n return {\n ...styles,\n display: \"none!important\",\n color: \"#999999\"\n };\n },\n input: (styles) => {\n return {\n ...styles,\n display: \"flex\",\n opacity: \"1!important\",\n \"& input\": {\n opacity: \"1!important\",\n fontWeight: \"600\"\n }\n };\n },\n valueContainer: (styles) => {\n return {\n ...styles,\n color: \"#999999\",\n padding: \"2px 15px\",\n fontSize: \"16px\",\n fontWeight: \"600\"\n };\n },\n indicatorContainer: () => ({\n display: \"none\"\n }),\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n placeholder: (styles) => ({\n ...styles,\n fontSize: \"16px\",\n fontWeight: \"normal\",\n lineHeight: \"1.1\",\n color: \"#717786\"\n }),\n dropdownIndicator: (provided) => {\n const display = \"none\";\n return { ...provided, display };\n }\n };\n\n useEffect(() => {\n if (defaultValue) {\n setSearchValue(defaultValue);\n geocodeByAddress(defaultValue).then((results) => {\n const [address] = results;\n\n onChange({\n label: address.formatted_address,\n value: {\n description: address.formatted_address,\n place_id: address.place_id,\n types: address.types\n }\n });\n });\n }\n // eslint-disable-next-line\n }, [defaultValue, defaultPlaceId]);\n\n return (\n
\n {label && (\n \n )}\n null,\n onChange: (e) => handleSearchSelection(e),\n onInputChange: (e, action) => handleSearchInput(e, action),\n name,\n hasError: !!errors[name],\n styles: customSelectStyles,\n inputValue: searchValue,\n value: searchSelection,\n className: cn({ \"has-error\": !!errors[name] }),\n id,\n inputId: `places-autocomplete-${name}`,\n instanceId: id,\n placeholder\n }}\n />\n\n \n
\n );\n};\n\nPlacesAutocompleteControl.defaultProps = {\n errors: {},\n id: \"select\"\n};\n\nPlacesAutocompleteControl.propTypes = {\n control: PropTypes.object.isRequired,\n errors: PropTypes.object,\n name: PropTypes.string.isRequired,\n id: PropTypes.string,\n placeholder: PropTypes.string,\n defaultValue: PropTypes.string,\n defaultPlaceId: PropTypes.string,\n label: PropTypes.string\n};\n\nexport default PlacesAutocompleteControl;\n","import PlacesAutocompleteControl from \"./PlacesAutocompleteControl\";\n\nexport default PlacesAutocompleteControl;\n","import React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { useForm } from \"react-hook-form\";\nimport yup from \"@/utils/yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n createOrder,\n OrderActions,\n updateDeveloperInfo\n} from \"@/store/order/order.actions\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport InputField from \"@/components/InputField\";\nimport PhoneField from \"@/components/PhoneField\";\nimport Button from \"@/components/Button\";\nimport PlacesAutocompleteControl from \"@/components/PlacesAutocompleteControl\";\nimport { isValidPhoneNumber } from \"react-phone-number-input\";\nimport { ContactTypes, routes } from \"@/constants\";\nimport { decode } from \"html-entities\";\n\nconst schema = yup.object({\n developer_name: yup.string().nullable().max(255).required(),\n organization_name: yup.string().nullable().max(255).required(),\n address: yup.object().nullable().required(),\n contact_name: yup.string().nullable().max(255).required(),\n contact_email: yup.string().nullable().email().max(255).required(),\n contact_phone: yup\n .string()\n .required()\n .test(\"isPhoneValid\", function () {\n return isValidPhoneNumber(this.parent.contact_phone);\n })\n});\n\nconst OrderCreation = () => {\n const dispatch = useDispatch();\n const { id } = useParams();\n const isLoading = useSelector((state) =>\n isInProcess(\n state,\n id ? OrderActions.UPDATE_DEVELOPER_INFO : OrderActions.CREATE_ORDER\n )\n );\n const navigate = useNavigate();\n const orderDetails = useSelector(getOrderDetails);\n const preloadedValues = id ? orderDetails : {};\n\n const {\n register,\n control,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema),\n defaultValues: {\n developer_name: decode(preloadedValues.developer_name) ?? \"\",\n organization_name: decode(preloadedValues.organization_name) ?? \"\",\n address: preloadedValues.address ?? \"\",\n contact_name: preloadedValues.contact_name ?? \"\",\n contact_email: preloadedValues.contact_email ?? \"\",\n contact_phone: preloadedValues.contact_phone ?? \"\"\n }\n });\n\n const onSubmit = async (data) => {\n data.contact_type = ContactTypes.ORGANIZATION;\n data.google_place_id = data.address.value.place_id;\n data.address = data.address.label;\n\n if (id) {\n // edit mode\n const res = await dispatch(updateDeveloperInfo({ id, ...data }));\n\n const path = generatePath(routes.ORDER_APPLICATION_INFO, { id: res.id });\n navigate(path);\n\n return;\n }\n\n const res = await dispatch(createOrder(data));\n const path = generatePath(routes.ORDER_APPLICATION_INFO, { id: res.id });\n navigate(path);\n };\n\n return (\n
\n
\n
Company details
\n *\"\n errors={errors}\n placeholder=\"Developer name\"\n {...register(\"developer_name\")}\n />\n *\"\n errors={errors}\n placeholder=\"Company name\"\n {...register(\"organization_name\")}\n />\n *\"\n placeholder=\"Start typing the address\"\n errors={errors}\n />\n
\n
\n
Point of contact
\n *\"\n errors={errors}\n placeholder=\"Contact name\"\n {...register(\"contact_name\")}\n />\n *\"\n errors={errors}\n placeholder=\"Contact e-mail\"\n {...register(\"contact_email\")}\n />\n *\"\n placeholder=\"Contact phone number\"\n errors={errors}\n {...register(\"contact_phone\")}\n />\n
\n
\n \n
\n
\n );\n};\n\nexport default OrderCreation;\n","import OrderCreation from \"./OrderCreation\";\n\nexport default OrderCreation;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\nimport { EyeCrossedIcon, EyeIcon } from \"@/icons\";\nimport \"./InputPasswordField.scss\";\n\n// eslint-disable-next-line react/display-name\nconst InputPasswordField = React.forwardRef(\n (\n {\n wrapperClassName,\n inputClassName,\n placeholder,\n name,\n label,\n errors,\n onFocus,\n onChange,\n onBlur,\n ...props\n },\n ref\n ) => {\n const [isPassword, setIsPassword] = useState(true);\n const [isPasswordLength, setIsPasswordLength] = useState(false);\n\n const togglePasswordVisibility = () => setIsPassword((prev) => !prev);\n\n const handleInput = (event) => {\n setIsPasswordLength(event.target.value);\n };\n\n return (\n \n {label &&
{label}
}\n
\n \n \n {isPassword ? : }\n \n
\n \n
\n );\n }\n);\n\nInputPasswordField.defaultProps = {\n errors: {}\n};\n\nInputPasswordField.propTypes = {\n placeholder: PropTypes.string,\n name: PropTypes.string.isRequired,\n wrapperClassName: PropTypes.string,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n inputClassName: PropTypes.string,\n label: PropTypes.string,\n errors: PropTypes.object\n};\n\nexport default InputPasswordField;\n","import InputPasswordField from \"./InputPasswordField\";\n\nexport default InputPasswordField;\n","import React from \"react\";\nimport { CheckIcon } from \"@/icons\";\nimport PropTypes from \"prop-types\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\nimport cn from \"classnames\";\n\n// eslint-disable-next-line react/display-name\nconst Checkbox = React.forwardRef(\n ({ text, onChange, onBlur, errors, name }, ref) => {\n return (\n \n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\n \n \n \n );\n }\n);\n\nCheckbox.defaultProps = {\n errors: {}\n};\n\nCheckbox.propTypes = {\n text: PropTypes.string.isRequired,\n errors: PropTypes.object,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n onBlur: PropTypes.func\n};\n\nexport default Checkbox;\n","// extracted by mini-css-extract-plugin\nexport default {};","import Checkbox from \"./Checkbox\";\n\nimport \"./Checkbox.scss\";\n\nexport default Checkbox;\n","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport { CheckIcon } from \"@/icons\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\nimport \"./AlertMessage.scss\";\n\nconst ALERT_TYPES = {\n SUCCESS: \"success\",\n ERROR: \"error\",\n NEUTRAL: \"neutral\"\n};\n\nconst AlertMessage = ({ type, className, text }) => {\n return (\n
\n \n {type === ALERT_TYPES.SUCCESS && }\n {text}\n \n
\n );\n};\n\nAlertMessage.defaultProps = {\n type: ALERT_TYPES.SUCCESS\n};\n\nAlertMessage.propTypes = {\n type: PropTypes.string, // success | error | neutral,\n className: PropTypes.string,\n text: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired\n};\n\nexport default AlertMessage;\n","import AlertMessage from \"./AlertMessage\";\n\nexport default AlertMessage;\n","export const convertBytes = (bytes) => {\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n return `${Math.round(bytes / 1024 ** i, 2)} ${sizes[i]}`;\n};\n","/* eslint-disable no-console */\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState\n} from \"react\";\nimport {\n lsKeys,\n APK_UPLOAD_TIMEOUT_IN_MS,\n APK_CHUNK_SIZE_IN_BYTES\n} from \"@/constants\";\nimport Resumable from \"resumablejs\";\nimport PropTypes from \"prop-types\";\nimport ErrorMessage, { BaseErrorMessage } from \"@/components/ErrorMessage\";\nimport \"./ResumableFileUploader.scss\";\nimport { useController } from \"react-hook-form\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { convertBytes } from \"@/utils/convertBytes\";\nimport { DeleteIcon, FileIcon } from \"@/icons\";\nimport cn from \"classnames\";\n\nconst getAuthorizationToken = () =>\n localStorage.getItem(lsKeys.AUTHORIZATION_TOKEN);\n\nconst APK_FILE_RESOLUTION =\n \"application/vnd.android.package-archive,application/octet-stream, .apk\";\n\nconst getResumableConfig = () => ({\n target: `${process.env.REACT_APP_API_URL}/api/v1/order/{testID}/application-info/file`,\n timeout: APK_UPLOAD_TIMEOUT_IN_MS,\n headers: {\n Authorization: `Bearer ${getAuthorizationToken()}`\n },\n testChunks: false,\n withCredentials: false,\n uploadMethod: \"POST\",\n maxFiles: 1,\n chunkSize: APK_CHUNK_SIZE_IN_BYTES, // APK_CHUNK_SIZE_IN_BYTES, // 1024 * 512,\n method: \"multipart\",\n // simultaneousUploads: 1,\n // fileType: [APK_MIME_TYPE],\n // maxFileSize: MAX_APK_FILE_SIZE_IN_BYTES,\n maxChunkRetries: 2\n});\n\nconst UPLOADER_ID = \"uploader-item\";\n// eslint-disable-next-line react/display-name\nconst ResumableFileUploader = forwardRef(\n (\n {\n control,\n errors,\n name,\n resetField,\n setValue,\n target,\n fileAccept = APK_FILE_RESOLUTION,\n fileAcceptLabel,\n defaultFilename,\n onAfterFileAdded,\n onFileUploadCompleted,\n onAfterUploadCanceled,\n onFileUploadPause,\n onFileUploadStart,\n onAfterFileSuccess,\n onFileProgress,\n onAfterFileError,\n onRemoveFile,\n ...props\n },\n ref\n ) => {\n const dragDropArea = useRef();\n\n const maxFileSizeErrorCallback = (file, errorCount) => {\n console.warn(file, errorCount);\n };\n\n const resumableRef = useRef(\n new Resumable({\n ...getResumableConfig(),\n maxFileSizeErrorCallback,\n target\n })\n );\n\n const {\n field: { ref: fieldRef, name: fieldName }\n } = useController({\n name,\n control,\n defaultValue: \"\"\n });\n\n const [uploaderState, setUploaderState] = useState({\n progressBar: 0,\n messageStatus: \"\",\n fileList: { files: [] },\n filename: \"\",\n isPaused: false,\n isSuccess: false,\n isError: false,\n isUploading: false,\n retryCount: null,\n resumable: undefined,\n fileSize: \"\"\n });\n const resetFieldFile = () => {\n setUploaderState((prev) => ({\n ...prev,\n progressBar: 0,\n messageStatus: \"\",\n fileList: { files: [] },\n filename: \"\",\n isPaused: false,\n isSuccess: false,\n isError: false,\n isUploading: false,\n retryCount: null,\n resumable: undefined,\n fileSize: \"\"\n }));\n if (resetField) {\n resetField(name, { defaultValue: \"\" });\n }\n };\n\n const handleRemoveFile = () => {\n resetFieldFile();\n\n if (onRemoveFile) {\n onRemoveFile();\n }\n if (onFileProgress) {\n resumableRef.current.cancel();\n }\n };\n\n const onUploadStart = useCallback(() => {\n if (onFileUploadStart) {\n onFileUploadStart();\n }\n }, [onFileUploadStart]);\n\n const onFileChange = (event) => {\n // resetFieldFile();\n const { files } = event.target;\n const [selectedFile] = files;\n\n if (files.length) {\n setValue(name, selectedFile);\n resumableRef.current.addFile(selectedFile);\n }\n };\n\n const onFileAdded = useCallback(\n (file, event) => {\n setUploaderState((prev) => ({\n ...prev,\n filename: file.fileName,\n messageStatus: \"File added! \",\n isError: false,\n progressBar: 0,\n isSuccess: false,\n retryCount: null,\n fileSize: convertBytes(file.file.size)\n }));\n // file.bootstrap();\n\n if (onAfterFileAdded) {\n onAfterFileAdded(file, event);\n }\n\n console.warn(\"file added\", file);\n },\n [onAfterFileAdded]\n );\n\n const onFileSuccess = useCallback(\n (file, message) => {\n setUploaderState((prev) => ({\n ...prev,\n progressBar: 100,\n isSuccess: true,\n isError: false,\n retryCount: null\n }));\n\n setTimeout(() => {\n if (onAfterFileSuccess) {\n onAfterFileSuccess(file, message);\n }\n }, 1000);\n console.warn(\"file upload success\", file, message);\n },\n [onAfterFileSuccess]\n );\n\n const onFileError = useCallback(\n (file, message) => {\n setUploaderState((prev) => ({\n ...prev,\n progressBar: 0,\n isError: true,\n isSuccess: false\n }));\n\n if (onAfterFileError) {\n onAfterFileError(file, message);\n }\n\n console.warn(\"file upload error\", file, message);\n },\n [onAfterFileError]\n );\n\n const onFileRetry = useCallback(() => {\n console.warn(\"file upload retry\");\n\n setUploaderState((prev) => ({\n ...prev,\n retryCount: !prev.retryCount ? 1 : prev.retryCount + 1\n }));\n }, []);\n\n const onUploadPause = useCallback(() => {\n console.warn(\"file upload pause\");\n setUploaderState((prev) => ({\n ...prev,\n isPaused: true\n }));\n\n if (onFileUploadPause) {\n onFileUploadPause();\n }\n }, [onFileUploadPause]);\n\n const onUploadCompleted = useCallback(() => {\n setUploaderState((prev) => ({\n ...prev,\n retryCount: null\n }));\n\n setTimeout(() => {\n if (onFileUploadCompleted) {\n onFileUploadCompleted();\n }\n }, 1000);\n }, [onFileUploadCompleted]);\n\n const onProgress = useCallback(() => {\n setUploaderState((prev) => ({\n ...prev,\n isUploading: resumableRef.current.isUploading()\n }));\n\n const progress = resumableRef.current.progress() * 100;\n\n if (progress < 100) {\n setUploaderState((prev) => ({\n ...prev,\n messageStatus: `${progress}%`,\n progressBar: progress,\n isPaused: false\n }));\n } else {\n setUploaderState((prev) => ({\n ...prev,\n progressBar: 100,\n isPaused: false\n }));\n }\n\n if (onFileProgress) {\n onFileProgress(resumableRef.current.progress());\n }\n }, [onFileProgress]);\n\n const onUploadCanceled = useCallback(() => {\n console.warn(\"UPLOAD CANCELLED\");\n if (onAfterUploadCanceled) {\n onAfterUploadCanceled();\n }\n }, [onAfterUploadCanceled]);\n\n useEffect(() => {\n const r = resumableRef.current;\n r.assignDrop(dragDropArea.current);\n\n r.on(\"uploadStart\", onUploadStart);\n r.on(\"pause\", onUploadPause);\n r.on(\"fileAdded\", onFileAdded);\n r.on(\"fileSuccess\", onFileSuccess);\n r.on(\"fileError\", onFileError);\n r.on(\"fileRetry\", onFileRetry);\n r.on(\"progress\", onProgress);\n r.on(\"cancel\", onUploadCanceled);\n r.on(\"complete\", onUploadCompleted);\n }, [\n onFileAdded,\n onFileError,\n onFileRetry,\n onFileSuccess,\n onUploadPause,\n onProgress,\n onUploadStart,\n onUploadCompleted,\n onUploadCanceled\n ]);\n\n useImperativeHandle(ref, () => ({\n async startUploading() {\n if (resumableRef.current.files[0].isComplete()) {\n resumableRef.current.files[0].bootstrap();\n await new Promise((res) => setTimeout(res, 1000));\n }\n if (resumableRef.current.files.length > 0) {\n resumableRef.current.upload();\n }\n },\n get state() {\n return uploaderState;\n },\n get resumable() {\n return resumableRef.current;\n }\n }));\n\n useEffect(() => {\n setUploaderState((prev) => ({\n ...prev,\n filename: defaultFilename\n }));\n }, [defaultFilename]);\n\n useEffect(() => {\n const r = resumableRef.current;\n return () => {\n if (r) {\n r?.cancel();\n }\n };\n }, []);\n\n return (\n
\n {uploaderState.filename && (\n
\n
\n \n
\n
\n
\n {uploaderState.filename}\n
\n
\n {uploaderState.fileSize}\n
\n
\n \n \n \n
\n )}\n \n
\n
\n Drag and drop file here, or\n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control,jsx-a11y/click-events-have-key-events,jsx-a11y/no-noninteractive-element-interactions */}\n \n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n \n
\n {fileAcceptLabel && (\n
{fileAcceptLabel}
\n )}\n
\n
\n {uploaderState.filename &&\n uploaderState.progressBar &&\n !uploaderState.isError ? (\n
\n
\n \n
\n
\n {Math.ceil(uploaderState.progressBar)}%\n
\n
\n ) : null}\n \n \n {uploaderState.isSuccess && (\n \n )}\n \n \n );\n }\n);\n\nResumableFileUploader.defaultProps = {\n errors: {}\n};\n\nResumableFileUploader.propTypes = {\n control: PropTypes.object.isRequired,\n errors: PropTypes.object,\n name: PropTypes.string.isRequired,\n target: PropTypes.string,\n fileAccept: PropTypes.string,\n fileAcceptLabel: PropTypes.string,\n defaultFilename: PropTypes.string,\n onFileUploadCompleted: PropTypes.func,\n setValue: PropTypes.func,\n resetField: PropTypes.func,\n onFileUploadStart: PropTypes.func,\n onFileUploadPause: PropTypes.func,\n onAfterFileAdded: PropTypes.func,\n onAfterFileSuccess: PropTypes.func,\n onFileProgress: PropTypes.func,\n onAfterUploadCanceled: PropTypes.func,\n onAfterFileError: PropTypes.func,\n onRemoveFile: PropTypes.func\n};\n\nexport default ResumableFileUploader;\n","import ResumableFileUploader from \"@/components/ResumableFileUploader/ResumableFileUploader\";\n\nexport default ResumableFileUploader;\n","import React, { useMemo, useRef, useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport InputPasswordField from \"@/components/InputPasswordField\";\nimport yup from \"@/utils/yup\";\nimport { PropTypes } from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport Checkbox from \"@/components/Checkbox\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { MAX_APK_FILE_SIZE_IN_MEGABYTES, routes } from \"@/constants\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport {\n OrderActions,\n postApplicationInfo,\n uploadFileSuccessful\n} from \"@/store/order/order.actions\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport ResumableFileUploader from \"@/components/ResumableFileUploader\";\n\nconst schema = yup.object({\n application_name: yup.string().nullable().max(255).required(),\n package_name: yup.string().nullable().max(255).required(),\n has_login: yup.boolean().nullable(),\n is_paid: yup.boolean().nullable(),\n app_login: yup.string().nullable().when(\"has_login\", {\n is: true,\n then: yup.string().nullable().required()\n }),\n app_password: yup.string().nullable().when(\"has_login\", {\n is: true,\n then: yup.string().nullable().required()\n }),\n app_filename: yup\n .mixed()\n .nullable()\n // eslint-disable-next-line camelcase,consistent-return\n .when([\"is_paid\"], (is_paid) => {\n // eslint-disable-next-line camelcase\n if (is_paid) {\n return yup\n .mixed()\n .test(\"ifString\", \"Required\", (value) => {\n if (typeof value === \"string\") {\n return !!value;\n }\n\n return true;\n })\n .test(\n \"size\",\n `Size of file can't be larger than ${MAX_APK_FILE_SIZE_IN_MEGABYTES} Mb`,\n (value) => {\n if (typeof value === \"string\") {\n return true;\n }\n // eslint-disable-next-line no-unsafe-optional-chaining\n const sizeMB = value?.size / 1024 / 1024;\n return sizeMB <= MAX_APK_FILE_SIZE_IN_MEGABYTES;\n }\n )\n .test(\"type\", \"Only .apk files are allowed\", (value) => {\n if (typeof value === \"string\") {\n return !!value;\n }\n\n return (\n value?.type === \"application/vnd.android.package-archive\" ||\n value?.type === \"application/octet-stream\" ||\n value?.name.endsWith(\".apk\")\n );\n });\n }\n })\n});\n\nconst ApplicationInfoForm = ({ predefinedValues }) => {\n const fileUploader = useRef();\n const navigate = useNavigate();\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.POST_APPLICATION_INFO)\n );\n\n const [isFileLoading, setIsFileLoading] = useState(false);\n const { id } = useParams();\n\n const fileUploadURL = useMemo(() => {\n return `${process.env.REACT_APP_API_URL}/api/v1/order/${id}/application-info/file`;\n }, [id]);\n\n const dispatch = useDispatch();\n\n const {\n register,\n watch,\n handleSubmit,\n setValue,\n control,\n resetField,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema),\n defaultValues: predefinedValues\n });\n const watchHasLogin = watch(\"has_login\");\n const watchIsPaid = watch(\"is_paid\");\n\n const uploadFile = () => {\n fileUploader.current?.startUploading();\n };\n\n const onFileUploadSuccess = (_file, orderDetails) => {\n setIsFileLoading(false);\n\n if (orderDetails) {\n dispatch(uploadFileSuccessful(orderDetails));\n }\n\n const path = generatePath(routes.AGREEMENT, { id });\n navigate(path);\n };\n\n const onSubmit = async (data) => {\n data.has_login = +data.has_login;\n data.is_paid = +data.is_paid;\n if (!watchHasLogin) {\n data.app_login = \"\";\n data.app_password = \"\";\n }\n const payload = Object.keys(data).reduce((acc, key) => {\n if (key !== \"app_filename\") {\n acc[key] = data[key];\n }\n return acc;\n }, {});\n\n if (fileUploader.current?.resumable.files.length) {\n await dispatch(\n postApplicationInfo({\n id,\n data: payload\n })\n );\n\n uploadFile();\n\n return;\n }\n\n await dispatch(\n postApplicationInfo({\n id,\n data: payload\n })\n );\n\n const path = generatePath(routes.AGREEMENT, { id });\n navigate(path);\n };\n\n return (\n
\n
\n
Application details
\n *\"\n errors={errors}\n placeholder=\"Application name\"\n {...register(\"application_name\")}\n />\n \n
    \n
  1. \n Go to the Google Play Console:{\" \"}\n \n https://play.google.com/console/\n \n
  2. \n
  3. \n Go to «All apps»\n
  4. \n
  5. \n Find your application's package name under the\n application's name\n
  6. \n
\n
\n }\n errors={errors}\n label=\"Package name *\"\n placeholder=\"Package name\"\n {...register(\"package_name\")}\n />\n \n
\n \n {watchHasLogin && (\n
\n
Login credentials
\n
\n Provide a set of valid credentials that we can use for testing\n purposes. The credentials shared will be securely handled and\n exclusively used for assessment purposes.\n
\n \n \n
\n )}\n \n {watchIsPaid && (\n
\n
APK file
\n
\n If your application is a paid app or hasn’t been released on the\n Google Play Store, please upload the APK file directly.\n
\n setIsFileLoading(true)}\n onFileUploadPause={() => setIsFileLoading(false)}\n onAfterFileSuccess={onFileUploadSuccess}\n onAfterUploadCanceled={() => setIsFileLoading(false)}\n onAfterFileError={() => {\n setIsFileLoading(false);\n }}\n control={control}\n onRemoveFile={() => setIsFileLoading(false)}\n />\n
\n )}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n );\n};\n\nApplicationInfoForm.propTypes = {\n predefinedValues: PropTypes.object\n};\n\nexport default ApplicationInfoForm;\n","import React, { useMemo } from \"react\";\nimport { decode } from \"html-entities\";\nimport { useSelector } from \"react-redux\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport ApplicationInfoForm from \"./ApplicationInfoForm\";\n\nconst ApplicationInfo = () => {\n const order = useSelector(getOrderDetails);\n\n const predefinedValues = useMemo(\n () => ({\n application_name: decode(order?.application_name),\n package_name: decode(order?.package_name),\n has_login: order?.has_login,\n is_not_relized: order?.is_not_relized,\n is_paid: order?.is_paid,\n app_login: order?.app_login_decrypted,\n app_password: order?.app_password_decrypted,\n app_filename: order?.app_filename\n }),\n [order]\n );\n\n if (!order) {\n return null;\n }\n\n return ;\n};\n\nexport default ApplicationInfo;\n","import ApplicationInfo from \"./ApplicationInfo\";\n\nexport default ApplicationInfo;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport { useParams, generatePath, useNavigate } from \"react-router-dom\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { PropTypes } from \"prop-types\";\nimport \"./OrderVerification.scss\";\nimport { routes } from \"@/constants\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getOrderDetails, getIsOrderPaid } from \"@/store/order/order.reducer\";\nimport {\n OrderActions,\n resendOtpCode,\n sendVerificationInfoAuto\n} from \"@/store/order/order.actions\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\n\nconst OrderVerification = ({ skipLink }) => {\n const navigate = useNavigate();\n const isLoading = useSelector(\n (state) =>\n isInProcess(state, OrderActions.RESEND_OTP_CODE) ||\n isInProcess(state, OrderActions.SEND_VERIFICATION_INFO_AUTO)\n );\n const isPaidOrder = useSelector(getIsOrderPaid);\n\n const dispatch = useDispatch();\n const { id } = useParams();\n const order = useSelector(getOrderDetails);\n\n const handleNext = async () => {\n await dispatch(\n sendVerificationInfoAuto({ id, is_manual_verification: false })\n );\n await dispatch(resendOtpCode(id));\n\n navigate(\n generatePath(routes.OTP_CONFIRMATION, {\n id\n })\n );\n };\n\n return (\n
\n
\n
Automatic verification
\n
\n
\n We will send a verifcation email to the developer contact email that you\n indicated on the application’s Google Play page to verify your\n authority.\n
\n
\n
{order?.developer_email}
\n
\n
\n
\n {skipLink && !isPaidOrder && (\n
\n \n
\n )}\n
\n \n
\n
\n
\n
\n );\n};\n\nOrderVerification.propTypes = {\n skipLink: PropTypes.string\n};\n\nexport default OrderVerification;\n","import React from \"react\";\nimport { useParams, generatePath, useNavigate } from \"react-router-dom\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { PropTypes } from \"prop-types\";\nimport \"./OrderVerification.scss\";\nimport { routes } from \"@/constants\";\nimport {\n OrderActions,\n sendVerificationInfoManual\n} from \"@/store/order/order.actions\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport { getIsOrderPaid } from \"@/store/order/order.reducer\";\n\nconst ManualVerification = ({ backLink }) => {\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.SEND_VERIFICATION_INFO_MANUAL)\n );\n const dispatch = useDispatch();\n const { id } = useParams();\n const navigate = useNavigate();\n const isPaidOrder = useSelector(getIsOrderPaid);\n\n const handleContinue = async () => {\n await dispatch(\n sendVerificationInfoManual({ id, is_manual_verification: true })\n );\n\n navigate(\n generatePath(isPaidOrder ? routes.PROJECT_PROGRESS : routes.AGREEMENT, {\n id\n })\n );\n };\n\n return (\n
\n
\n
Manual verification
\n
\n
\n We will contact you to the email address you provided and will manually\n work with you to verify your authority over the application. Note that\n it will take more time.\n
\n
\n
\n {backLink && !isPaidOrder && (\n
\n \n
\n )}\n
\n \n
\n
\n
\n
\n );\n};\n\nManualVerification.propTypes = {\n backLink: PropTypes.string\n};\n\nexport default ManualVerification;\n","function makeTypeChecker(tabsRole){return function(element){return!!element.type&&element.type.tabsRole===tabsRole}}export var isTab=makeTypeChecker(\"Tab\");export var isTabList=makeTypeChecker(\"TabList\");export var isTabPanel=makeTypeChecker(\"TabPanel\");","import{Children,cloneElement}from\"react\";import{isTabPanel,isTab,isTabList}from\"./elementTypes\";function isTabChild(child){return isTab(child)||isTabList(child)||isTabPanel(child)}export function deepMap(children,callback){return Children.map(children,function(child){if(child===null)return null;if(isTabChild(child)){return callback(child)}if(child.props&&child.props.children&&typeof child.props.children===\"object\"){return cloneElement(child,Object.assign({},child.props,{children:deepMap(child.props.children,callback)}))}return child})}export function deepForEach(children,callback){return Children.forEach(children,function(child){if(child===null)return;if(isTab(child)||isTabPanel(child)){callback(child)}else if(child.props&&child.props.children&&typeof child.props.children===\"object\"){if(isTabList(child))callback(child);deepForEach(child.props.children,callback)}})}","import{deepForEach}from\"./childrenDeepMap\";import{isTab,isTabList,isTabPanel}from\"./elementTypes\";export function childrenPropType(props,propName,componentName){var error;var tabsCount=0;var panelsCount=0;var tabListFound=false;var listTabs=[];var children=props[propName];deepForEach(children,function(child){if(isTabList(child)){if(child.props&&child.props.children&&typeof child.props.children===\"object\"){deepForEach(child.props.children,function(listChild){return listTabs.push(listChild)})}if(tabListFound){error=new Error(\"Found multiple 'TabList' components inside 'Tabs'. Only one is allowed.\")}tabListFound=true}if(isTab(child)){if(!tabListFound||listTabs.indexOf(child)===-1){error=new Error(\"Found a 'Tab' component outside of the 'TabList' component. 'Tab' components \"+\"have to be inside the 'TabList' component.\")}tabsCount++}else if(isTabPanel(child)){panelsCount++}});if(!error&&tabsCount!==panelsCount){error=new Error(\"There should be an equal number of 'Tab' and 'TabPanel' in `\"+componentName+\"`. \"+(\"Received \"+tabsCount+\" 'Tab' and \"+panelsCount+\" 'TabPanel'.\"))}return error}export function onSelectPropType(props,propName,componentName,location,propFullName){var prop=props[propName];var name=propFullName||propName;var error=null;if(prop&&typeof prop!==\"function\"){error=new Error(\"Invalid \"+location+\" `\"+name+\"` of type `\"+typeof prop+\"` supplied \"+(\"to `\"+componentName+\"`, expected `function`.\"))}else if(props.selectedIndex!=null&&prop==null){error=new Error(\"The \"+location+\" `\"+name+\"` is marked as required in `\"+componentName+\"`, but \"+\"its value is `undefined` or `null`.\\n\"+\"`onSelect` is required when `selectedIndex` is also set. Not doing so will \"+\"make the tabs not do anything, as `selectedIndex` indicates that you want to \"+\"handle the selected tab yourself.\\n\"+\"If you only want to set the inital tab replace `selectedIndex` with `defaultIndex`.\")}return error}export function selectedIndexPropType(props,propName,componentName,location,propFullName){var prop=props[propName];var name=propFullName||propName;var error=null;if(prop!=null&&typeof prop!==\"number\"){error=new Error(\"Invalid \"+location+\" `\"+name+\"` of type `\"+typeof prop+\"` supplied to \"+(\"`\"+componentName+\"`, expected `number`.\"))}else if(props.defaultIndex!=null&&prop!=null){return new Error(\"The \"+location+\" `\"+name+\"` cannot be used together with `defaultIndex` \"+(\"in `\"+componentName+\"`.\\n\")+(\"Either remove `\"+name+\"` to let `\"+componentName+\"` handle the selected \")+\"tab internally or remove `defaultIndex` to handle it yourself.\")}return error}","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t=0)continue;target[key]=source[key]}return target}import PropTypes from\"prop-types\";import React,{cloneElement,useRef,useId}from\"react\";import cx from\"clsx\";import{childrenPropType}from\"../helpers/propTypes\";import{getTabsCount as getTabsCountHelper}from\"../helpers/count\";import{deepMap}from\"../helpers/childrenDeepMap\";import{isTabList,isTabPanel,isTab}from\"../helpers/elementTypes\";function isNode(node){return node&&\"getAttribute\"in node}function isTabNode(node){return isNode(node)&&node.getAttribute(\"data-rttab\")}function isTabDisabled(node){return isNode(node)&&node.getAttribute(\"aria-disabled\")===\"true\"}var canUseActiveElement;function determineCanUseActiveElement(environment){var env=environment||(typeof window!==\"undefined\"?window:undefined);try{canUseActiveElement=!!(typeof env!==\"undefined\"&&env.document&&env.document.activeElement)}catch(e){canUseActiveElement=false}}var defaultProps={className:\"react-tabs\",focus:false};var propTypes=process.env.NODE_ENV!==\"production\"?{children:childrenPropType,direction:PropTypes.oneOf([\"rtl\",\"ltr\"]),className:PropTypes.oneOfType([PropTypes.string,PropTypes.array,PropTypes.object]),disabledTabClassName:PropTypes.string,disableUpDownKeys:PropTypes.bool,domRef:PropTypes.func,focus:PropTypes.bool,forceRenderTabPanel:PropTypes.bool,onSelect:PropTypes.func.isRequired,selectedIndex:PropTypes.number.isRequired,selectedTabClassName:PropTypes.string,selectedTabPanelClassName:PropTypes.string,environment:PropTypes.object}:{};var UncontrolledTabs=function UncontrolledTabs(props){var tabNodes=useRef([]);var tabIds=useRef([]);var _ref=useRef();function setSelected(index,event){if(index<0||index>=getTabsCount())return;var onSelect=props.onSelect,selectedIndex=props.selectedIndex;onSelect(index,selectedIndex,event)}function getNextTab(index){var count=getTabsCount();for(var i=index+1;iindex){if(!isTabDisabled(getTab(i))){return i}}return index}function getFirstTab(){var count=getTabsCount();for(var i=0;i=0)continue;target[key]=source[key]}return target}import PropTypes from\"prop-types\";import React from\"react\";import cx from\"clsx\";var defaultProps={className:\"react-tabs__tab-list\"};var propTypes=process.env.NODE_ENV!==\"production\"?{children:PropTypes.oneOfType([PropTypes.object,PropTypes.array]),className:PropTypes.oneOfType([PropTypes.string,PropTypes.array,PropTypes.object])}:{};var TabList=function TabList(props){var children=props.children,className=props.className,attributes=_objectWithoutPropertiesLoose(props,_excluded);return React.createElement(\"ul\",Object.assign({},attributes,{className:cx(className),role:\"tablist\"}),children)};TabList.tabsRole=\"TabList\";TabList.propTypes=process.env.NODE_ENV!==\"production\"?propTypes:{};TabList.defaultProps=defaultProps;export default TabList;","var _excluded=[\"children\",\"className\",\"disabled\",\"disabledClassName\",\"focus\",\"id\",\"selected\",\"selectedClassName\",\"tabIndex\",\"tabRef\"];function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i=0)continue;target[key]=source[key]}return target}import PropTypes from\"prop-types\";import React,{useEffect,useRef}from\"react\";import cx from\"clsx\";var DEFAULT_CLASS=\"react-tabs__tab\";var defaultProps={className:DEFAULT_CLASS,disabledClassName:DEFAULT_CLASS+\"--disabled\",focus:false,id:null,selected:false,selectedClassName:DEFAULT_CLASS+\"--selected\"};var propTypes=process.env.NODE_ENV!==\"production\"?{children:PropTypes.oneOfType([PropTypes.array,PropTypes.object,PropTypes.string]),className:PropTypes.oneOfType([PropTypes.string,PropTypes.array,PropTypes.object]),disabled:PropTypes.bool,disabledClassName:PropTypes.string,focus:PropTypes.bool,id:PropTypes.string,selected:PropTypes.bool,selectedClassName:PropTypes.string,tabIndex:PropTypes.string,tabRef:PropTypes.func}:{};var Tab=function Tab(props){var _cx;var nodeRef=useRef();var children=props.children,className=props.className,disabled=props.disabled,disabledClassName=props.disabledClassName,focus=props.focus,id=props.id,selected=props.selected,selectedClassName=props.selectedClassName,tabIndex=props.tabIndex,tabRef=props.tabRef,attributes=_objectWithoutPropertiesLoose(props,_excluded);useEffect(function(){if(selected&&focus){nodeRef.current.focus()}},[selected,focus]);return React.createElement(\"li\",Object.assign({},attributes,{className:cx(className,(_cx={},_cx[selectedClassName]=selected,_cx[disabledClassName]=disabled,_cx)),ref:function ref(node){nodeRef.current=node;if(tabRef)tabRef(node)},role:\"tab\",id:\"tab\"+id,\"aria-selected\":selected?\"true\":\"false\",\"aria-disabled\":disabled?\"true\":\"false\",\"aria-controls\":\"panel\"+id,tabIndex:tabIndex||(selected?\"0\":null),\"data-rttab\":true}),children)};Tab.propTypes=process.env.NODE_ENV!==\"production\"?propTypes:{};Tab.tabsRole=\"Tab\";Tab.defaultProps=defaultProps;export default Tab;","var _excluded=[\"children\",\"className\",\"forceRender\",\"id\",\"selected\",\"selectedClassName\"];function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i=0)continue;target[key]=source[key]}return target}import PropTypes from\"prop-types\";import React from\"react\";import cx from\"clsx\";var DEFAULT_CLASS=\"react-tabs__tab-panel\";var defaultProps={className:DEFAULT_CLASS,forceRender:false,selectedClassName:DEFAULT_CLASS+\"--selected\"};var propTypes=process.env.NODE_ENV!==\"production\"?{children:PropTypes.node,className:PropTypes.oneOfType([PropTypes.string,PropTypes.array,PropTypes.object]),forceRender:PropTypes.bool,id:PropTypes.string,selected:PropTypes.bool,selectedClassName:PropTypes.string}:{};var TabPanel=function TabPanel(props){var _cx;var children=props.children,className=props.className,forceRender=props.forceRender,id=props.id,selected=props.selected,selectedClassName=props.selectedClassName,attributes=_objectWithoutPropertiesLoose(props,_excluded);return React.createElement(\"div\",Object.assign({},attributes,{className:cx(className,(_cx={},_cx[selectedClassName]=selected,_cx)),role:\"tabpanel\",id:\"panel\"+id,\"aria-labelledby\":\"tab\"+id}),forceRender||selected?children:null)};TabPanel.tabsRole=\"TabPanel\";TabPanel.propTypes=process.env.NODE_ENV!==\"production\"?propTypes:{};TabPanel.defaultProps=defaultProps;export default TabPanel;","export{default as Tabs}from\"./components/Tabs\";export{default as TabList}from\"./components/TabList\";export{default as Tab}from\"./components/Tab\";export{default as TabPanel}from\"./components/TabPanel\";","import React from \"react\";\nimport { ContactTypes } from \"@/constants\";\nimport { useSelector } from \"react-redux\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { Tab, TabList, Tabs } from \"react-tabs\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\n\nconst OrderTabs = ({ children, asTabs }) => {\n const order = useSelector(getOrderDetails);\n\n if (asTabs) {\n return (\n \n \n Organization\n Individual\n \n {children}\n \n );\n }\n\n return (\n
\n
\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n Organization\n \n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n Individual\n \n
\n
{children}
\n
\n );\n};\n\nOrderTabs.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.node)\n ]).isRequired,\n asTabs: PropTypes.bool\n};\n\nexport default OrderTabs;\n","import OrderTabs from \"./OrderTabs\";\n\nexport default OrderTabs;\n","import React, { useEffect } from \"react\";\nimport { generatePath, useParams } from \"react-router-dom\";\nimport \"./OrderVerification.scss\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getIsAutomaticVerification } from \"@/store/order/order.reducer\";\nimport { getOrderDetailsById } from \"@/store/order/order.actions\";\nimport AutomaticVerification from \"@/components/OrderSteps/OrderVerification/AutomaticVerification\";\nimport ManualVerification from \"@/components/OrderSteps/OrderVerification/ManualVerification\";\nimport OrderTabs from \"@/components/OrderTabs\";\nimport { routes } from \"@/constants\";\n\nconst OrderVerification = () => {\n const dispatch = useDispatch();\n const { id } = useParams();\n const isAutomatic = useSelector(getIsAutomaticVerification);\n\n useEffect(() => {\n if (id) {\n dispatch(getOrderDetailsById(id));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n return (\n \n {isAutomatic && (\n \n )}\n \n \n );\n};\n\nexport default OrderVerification;\n","import OrderVerification from \"./OrderVerification\";\n\nexport default OrderVerification;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect } from \"react\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport Checkbox from \"@/components/Checkbox\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport \"./Agreement.scss\";\nimport {\n getOrderDetailsById,\n OrderActions,\n postAgreement\n} from \"@/store/order/order.actions\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\n\nconst schema = yup.object({\n agree: yup.bool().oneOf([true], \"Field must be checked\")\n});\n\nconst Agreement = () => {\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.POST_AGREEMENT)\n );\n const dispatch = useDispatch();\n const { id } = useParams();\n const navigate = useNavigate();\n const {\n register,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n useEffect(() => {\n if (id) {\n dispatch(getOrderDetailsById(id));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n const onSubmit = async ({ agree }) => {\n await dispatch(postAgreement({ id, agree }));\n const path = generatePath(routes.PROJECT_DETAILS, { id });\n navigate(path);\n };\n\n return (\n
\n
\n

\n PLEASE READ THIS AGREEMENT CAREFULLY AS IT GOVERNS YOUR USE OF THE\n SERVICES (AS DEFINED BELOW), UNLESS WE HAVE EXECUTED A SEPARATE\n WRITTEN AGREEMENT WITH YOU FOR THAT PURPOSE. BY CLICKING ON THE “I\n AGREE” OR SIMILAR BUTTON OR BY UTILIZING THE SERVICES, YOU ACCEPT ALL\n THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU ARE ENTERING INTO\n THIS AGREEMENT ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU\n REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE COMPANY OR\n OTHER LEGAL ENTITY TO THIS AGREEMENT. WE MAY MODIFY THIS AGREEMENT\n FROM TIME TO TIME, SUBJECT TO SECTION (CHANGES TO THIS AGREEMENT).\n YOUR CONTINUED USE OF THE SERVICES FOLLOWING THE POSTING OF CHANGES\n CONSTITUTES AGREEMENT TO AND ACCEPTANCE OF THESE CHANGES.\n

\n

\n Services: Company will conduct a Mobile Application Security\n Assessment (MASA). Company will identify application design and\n implementation flaws from both authenticated and unauthenticated\n perspectives. Company will identify potential vulnerabilities in\n application(s) using the Open Web Application Security Project (OWASP)\n Mobile Application Security Verification Standard (MASVS). In\n accordance with the OWASP Mobile Security Testing Guide (MSTG).\n Company will use manual and automated testing to assess the in-scope\n web application and underlying architecture against the following\n controls:\n

\n
    \n
  • \n \n V1: Architecture, Design and Threat Modeling Requirements\n \n
  • \n
  • \n V2: Data Storage and Privacy Requirements\n
  • \n
  • \n V3: Cryptography Requirements\n
  • \n
  • \n \n V4: Authentication and Session Management Requirements\n \n
  • \n
  • \n V5: Network Communication Requirements\n
  • \n
  • \n V6: Platform Interaction Requirements\n
  • \n
  • \n V7: Code Quality and Build Setting Requirements\n
  • \n
  • \n V8: Resilience Requirements\n
  • \n
\n

\n The purpose of this assessment is to validate whether the in-scope\n application meets or exceeds the MASA guidelines as laid out above and\n should not be read as a comprehensive penetration test or maturity\n assessment.\n

\n

\n Client understands that security testing may emulate tactics used by\n outside attackers with and without knowledge of specific applications,\n and with malicious intent, however, no such tactic shall intentionally\n interrupt services without notice to client. Company will use\n reasonable, industry-standard precautions to prevent or minimize any\n risks to the application or underlying architecture that may be\n associated with such testing. Client understands that it is their sole\n responsibility to arrange for complete backups of application data and\n to plan for system redundancy as applicable. Company shall be held\n harmless for impacts to performance of the application during the\n testing period.\n

\n

\n IN NO EVENT SHALL EITHER PARTY BE LIABLE, WHETHER IN CONTRACT, TORT OR\n OTHERWISE, FOR ANY INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR\n INDIRECT DAMAGES, LOSSES, EXPENSES OR COSTS OF ANY KIND COSTS OF\n PROCUREMENT OF SUBSTITUTE OR REPLACEMENT GOODS OR SERVICES, LOST\n BUSINESS PROFITS OR REVENUE OR LOST OR CORRUPTED DATA ARISING OUT OF\n THIS AGREEMENT OR USE OF THE SERVICES OR DELIVERABLES, EVEN IF ADVISED\n OF THE POSSIBILITY.\n

\n

\n THE COMPANY’S TOTAL LIABILITY UNDER THIS AGREEMENT SHALL BE LIMITED TO\n THE FEES PAID BY CLIENT FOR THE SERVICES HEREUNDER. NOTHING IN THIS\n AGREEMENT SHALL LIMIT THE CLIENT’S LIABILITY FOR ANY DAMAGE THAT\n CANNOT BE EXCLUDED BY LAW.\n

\n

\n TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, COMPANY’S TOTAL\n CUMULATIVE LIABILITY TO CUSTOMER OR ANY THIRD PARTY UNDER THIS\n AGREEMENT, FROM ALL CAUSES OF ACTION AND ALL THEORIES OF LIABILITY,\n WILL BE LIMITED TO AND WILL NOT EXCEED THE FEES ACTUALLY PAID FOR THE\n MASA TEST.\n

\n

\n Governing Law. You agree that all matters relating to your access to\n or use of the Services, including all disputes, will be governed by\n the laws of the United States and by the laws of the State of\n Washington without regard to its conflicts of laws provisions. You\n agree to the personal jurisdiction by and venue in the state and\n federal courts in King County, Washington, and waive any objection to\n such jurisdiction or venue. Any claim under these Terms of Use must be\n brought within one (1) year after the cause of action arises, or such\n claim or cause of action is barred. Claims made under the separate\n terms and conditions of purchase for goods and services are not\n subject to this limitation. No recovery may be sought or received for\n damages other than out-of-pocket expenses, except that the prevailing\n party will be entitled to costs and attorneys’ fees. In the event of\n any controversy or dispute between arising out of or in connection\n with your use of the Site, the parties shall attempt, promptly and in\n good faith, to resolve any such dispute. If we are unable to resolve\n any such dispute within a reasonable time (not to exceed thirty (30)\n days), then either party may submit such controversy or dispute to\n mediation. If the dispute cannot be resolved through mediation, then\n the parties shall be free to pursue any right or remedy available to\n them under applicable law.\n

\n

\n CLIENT AGREES THAT REMEDIES, OBLIGATIONS AND WARRANTIES HEREIN ARE\n EXCLUSIVE AND IN LIEU OF ANY OTHER REPRESENTATION, REMEDY OR WARRANTY\n INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTY OF MERCHANTABILITY\n OR FITNESS FOR A PARTICULAR PURPOSE.\n

\n
\n {/*
\n \n Open full terms of use\n \n
*/}\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n );\n};\n\nexport default Agreement;\n","import Agreement from \"./Agreement\";\n\nexport default Agreement;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport \"./RadioButton.scss\";\nimport ErrorMessage from \"@/components/ErrorMessage\";\n\n// eslint-disable-next-line react/display-name\nconst RadioButton = React.forwardRef(\n (\n {\n text,\n value,\n render,\n onChange,\n onBlur,\n errors,\n isDefault,\n isCustomButton,\n name,\n isChecked\n },\n ref\n ) => {\n return (\n \n \n \n {render ? (\n render({\n value,\n text,\n hasError: !!errors[name]\n })\n ) : (\n {text}\n )}\n \n \n \n );\n }\n);\n\nRadioButton.defaultProps = {\n errors: {},\n render: null,\n isDefault: false\n};\n\nRadioButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n errors: PropTypes.object,\n name: PropTypes.string.isRequired,\n isDefault: PropTypes.bool,\n isCustomButton: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n value: PropTypes.oneOfType([\n PropTypes.string.isRequired,\n PropTypes.number.isRequired,\n PropTypes.bool.isRequired\n ]),\n render: PropTypes.func,\n isChecked: PropTypes.bool\n};\n\nexport default RadioButton;\n","import RadioButton from \"./RadioButton\";\n\nexport default RadioButton;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport \"./PurchasePlanCard.scss\";\nimport PropTypes from \"prop-types\";\nimport cn from \"classnames\";\n\nconst PurchasePlanCard = ({\n text,\n active,\n price,\n hasError,\n options,\n className,\n selectedBadge\n}) => {\n return (\n \n {selectedBadge && (\n
{selectedBadge}
\n )}\n
\n

{text}

\n $ {price}\n
\n {options && (\n
    \n {options.map((option) => (\n
  • \n {option}\n
  • \n ))}\n
\n )}\n \n );\n};\n\nPurchasePlanCard.defaultProps = {\n hasError: false,\n active: false\n};\n\nPurchasePlanCard.propTypes = {\n options: PropTypes.array,\n text: PropTypes.string.isRequired,\n price: PropTypes.number.isRequired,\n hasError: PropTypes.bool,\n active: PropTypes.bool,\n className: PropTypes.string,\n selectedBadge: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\n};\n\nexport default PurchasePlanCard;\n","import PurchasePlanCard from \"./PurchasePlanCard\";\n\nexport default PurchasePlanCard;\n","/* eslint-disable no-console */\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n createSearchParams,\n generatePath,\n useNavigate,\n useParams\n} from \"react-router-dom\";\nimport OrderTabs from \"@/components/OrderTabs\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport RadioButton from \"@/components/RadioButton\";\nimport PurchasePlanCard from \"@/components/PurchasePlanCard\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\nimport { routes } from \"@/constants\";\n\nimport { getOrderProducts } from \"@/store/order/order.reducer\";\nimport {\n createPayment,\n fetchOrderProducts,\n OrderActions\n} from \"@/store/order/order.actions\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\n\nconst schema = yup.object({\n product_id: yup.string().nullable().required(\"Required\")\n});\n\nconst OrderCart = () => {\n const dispatch = useDispatch();\n const orderProducts = useSelector(getOrderProducts);\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.CREATE_PAYMENT)\n );\n const navigate = useNavigate();\n const { id } = useParams();\n const {\n register,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n useEffect(() => {\n dispatch(fetchOrderProducts());\n // eslint-disable-next-line\n }, []);\n\n const onSubmit = async (data) => {\n try {\n const productIdInt = parseInt(data.product_id, 10);\n const productById = orderProducts.find((p) => p.id === productIdInt);\n const res = await dispatch(\n createPayment({ id, product_id: productById.id })\n );\n\n const params = `?${createSearchParams({\n ...data,\n client_secret: res.client_secret\n })}`;\n\n const path = generatePath(routes.ORDER_PAYMENT, {\n id\n });\n navigate({\n pathname: path,\n search: params\n });\n } catch (error) {\n console.log(\"Error / Create payment failed\");\n }\n };\n\n return (\n \n
\n
\n {orderProducts.length ? (\n orderProducts?.map((product) => (\n (\n k.text)}\n />\n )}\n />\n ))\n ) : (\n \n )}\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default OrderCart;\n","import OrderCart from \"./OrderCart\";\n\nexport default OrderCart;\n","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.34.0\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n}; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useMemo, useState } from \"react\";\nimport \"./CheckoutForm.scss\";\nimport {\n PaymentElement,\n useElements,\n useStripe\n} from \"@stripe/react-stripe-js\";\nimport PropTypes from \"prop-types\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { generatePath, useParams, useSearchParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { useSelector } from \"react-redux\";\nimport { getProductById } from \"@/store/order/order.reducer\";\n\nfunction CheckoutForm({ clientSecret }) {\n const { id } = useParams();\n const stripe = useStripe();\n const elements = useElements();\n const [searchParams] = useSearchParams();\n\n const selectedProduct = useSelector((state) =>\n getProductById(state, parseInt(searchParams.get(\"product_id\"), 10))\n );\n\n const [message, setMessage] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n\n const paymentRedirectURL = useMemo(() => {\n const redirectURL = String(\n process.env.REACT_APP_STRIPE_PAYMENT_REDIRECT_URL\n );\n\n return redirectURL.replaceAll(\"{id}\", id);\n }, [id]);\n\n useEffect(() => {\n if (!stripe) {\n return;\n }\n\n // const secret = new URLSearchParams(window.location.search).get(\n // \"payment_intent_client_secret\"\n // );\n\n if (!clientSecret) {\n return;\n }\n\n stripe.retrievePaymentIntent(clientSecret).then(({ paymentIntent }) => {\n switch (paymentIntent?.status) {\n case \"succeeded\":\n setMessage({\n text: \"Payment succeeded!\",\n type: \"success\"\n });\n break;\n case \"processing\":\n setMessage({\n text: \"Your payment is processing.\",\n type: \"neutral\"\n });\n break;\n case \"requires_payment_method\":\n break;\n default:\n setMessage({\n text: \"Something went wrong.\",\n type: \"error\"\n });\n break;\n }\n });\n }, [clientSecret, stripe]);\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n\n if (!stripe || !elements) {\n // Stripe.js has not yet loaded.\n // Make sure to disable form submission until Stripe.js has loaded.\n return;\n }\n\n setIsLoading(true);\n\n const { error } = await stripe.confirmPayment({\n elements,\n confirmParams: {\n // Make sure to change this to your payment completion page\n return_url: paymentRedirectURL\n }\n });\n\n if (error.type === \"card_error\" || error.type === \"validation_error\") {\n setMessage({\n text: error.message,\n type: \"error\"\n });\n } else {\n setMessage({\n text: \"An unexpected error occurred.\",\n type: \"error\"\n });\n }\n\n setIsLoading(false);\n };\n\n return (\n
\n \n \n {/* Show any error or success messages */}\n {message && (\n
\n \n
\n )}\n
\n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n );\n}\n\nCheckoutForm.propTypes = {\n clientSecret: PropTypes.string\n};\n\nexport default CheckoutForm;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n generatePath,\n Navigate,\n useParams,\n useSearchParams\n} from \"react-router-dom\";\nimport OrderTabs from \"@/components/OrderTabs\";\nimport PurchasePlanCard from \"@/components/PurchasePlanCard\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\nimport { routes } from \"@/constants\";\nimport { Elements } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport { getOrderProducts, getProductById } from \"@/store/order/order.reducer\";\nimport { fetchOrderProducts } from \"@/store/order/order.actions\";\nimport CheckoutForm from \"./CheckoutForm\";\nimport \"./OrderPayment.scss\";\n\nconst stripe = loadStripe(process.env.REACT_APP_STRIPE_KEY);\n\nconst OrderPayment = () => {\n const dispatch = useDispatch();\n const { id } = useParams();\n const [searchParams] = useSearchParams();\n const orderProducts = useSelector(getOrderProducts);\n\n const clientSecret = searchParams.get(\"client_secret\");\n const selectedProduct = useSelector((state) =>\n getProductById(state, parseInt(searchParams.get(\"product_id\"), 10))\n );\n\n useEffect(() => {\n if (!orderProducts?.length) {\n dispatch(fetchOrderProducts());\n }\n // eslint-disable-next-line\n }, [orderProducts]);\n\n if (!orderProducts?.length) {\n return null;\n }\n\n if (!selectedProduct || !clientSecret) {\n return ;\n }\n\n return (\n \n
\n
\n k.text)}\n />\n
\n
\n {clientSecret && stripe ? (\n \n \n \n ) : (\n \n )}\n
\n
\n
\n );\n};\n\nexport default OrderPayment;\n","import OrderPayment from \"./OrderPayment\";\n\nexport default OrderPayment;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\n// import OrderTabs from \"@/components/OrderTabs\";\nimport { ButtonLink } from \"@/components/Button\";\nimport { generatePath, useParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\n\nimport \"./OrderPaymentStatus.scss\";\n\nconst OrderPaymentStatus = () => {\n const { id } = useParams();\n\n return (\n
\n
\n

\n Your payment was successful\n

\n
\n
\n

\n Now, you can check your status at the order history list\n

\n
\n
\n \n
\n
\n );\n};\n\nexport default OrderPaymentStatus;\n","import OrderPaymentStatus from \"./OrderPaymentStatus\";\n\nexport default OrderPaymentStatus;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport \"./PaymentTotalInfo.scss\";\n\nfunction PaymentTotalInfo({\n title,\n amount,\n totalAmount,\n processing,\n subtotal\n}) {\n return (\n
\n {title && (\n
\n
\n
{title}
\n
${amount}
\n
\n
\n )}\n {subtotal && (\n
\n
\n
Subtotal
\n
${amount}
\n
\n
\n )}\n
\n {processing && (\n
\n
Processing Fee
\n
${processing}
\n
\n )}\n {totalAmount && (\n
\n
Total
\n
${totalAmount}
\n
\n )}\n
\n
\n );\n}\n\nPaymentTotalInfo.propTypes = {\n title: PropTypes.string,\n amount: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n totalAmount: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n processing: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n subtotal: PropTypes.bool\n};\n\nexport default PaymentTotalInfo;\n","import PaymentTotalInfo from \"./PaymentTotalInfo\";\n\nexport default PaymentTotalInfo;\n","import React from \"react\";\nimport { PropTypes } from \"prop-types\";\nimport { generatePath, useParams, useNavigate } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Button from \"@/components/Button\";\nimport InputField from \"@/components/InputField\";\nimport { routes } from \"@/constants\";\nimport { useForm } from \"react-hook-form\";\nimport yup from \"@/utils/yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { postInvoice, OrderActions } from \"@/store/order/order.actions\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport PaymentTotalInfo from \"@/components/OrderStepsCasa/PaymentTotalInfo\";\nimport PlacesAutocompleteControl from \"@/components/PlacesAutocompleteControl\";\nimport Checkbox from \"@/components/Checkbox\";\nimport numeral from \"numeral\";\n\nconst schema = yup.object({\n order_email: yup.string().nullable().max(255).email().required(),\n order_address: yup.object().nullable().required(),\n order_memo: yup.string().nullable().max(255),\n order_purchase: yup.boolean().nullable()\n});\n\nconst Invoice = ({ selectedPlan }) => {\n const { id } = useParams();\n const {\n register,\n control,\n formState: { errors },\n handleSubmit\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n const navigate = useNavigate();\n const dispatch = useDispatch();\n\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.POST_INVOICE)\n );\n\n const onSubmit = async (data) => {\n data.order_google_place_id = data.order_address.value.place_id;\n data.order_address = data.order_address.label;\n data.product_id = selectedPlan.id;\n\n await dispatch(postInvoice({ id, data }));\n\n const path = generatePath(routes.ORDER_SUCCESS_INVOICE, { id });\n navigate(path);\n };\n\n return (\n
\n
Invoicing details
\n *\"\n errors={errors}\n placeholder=\"example@mail.com\"\n {...register(\"order_email\")}\n />\n *\"\n placeholder=\"Start typing the address\"\n errors={errors}\n />\n \n \n {selectedPlan && (\n \n )}\n
\n
\n
\n \n
\n
\n
\n \n );\n};\n\nInvoice.propTypes = {\n selectedPlan: PropTypes.object\n};\n\nexport default Invoice;\n","import Invoice from \"./Invoice\";\n\nexport default Invoice;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useMemo, useState } from \"react\";\nimport \"./CheckoutForm.scss\";\nimport {\n PaymentElement,\n useElements,\n useStripe\n} from \"@stripe/react-stripe-js\";\nimport PropTypes from \"prop-types\";\nimport Button from \"@/components/Button\";\nimport { useParams } from \"react-router-dom\";\nimport AlertMessage from \"@/components/AlertMessage\";\n\nfunction CheckoutForm({ clientSecret, amount }) {\n const { id } = useParams();\n const stripe = useStripe();\n const elements = useElements();\n\n const [message, setMessage] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n\n const paymentRedirectURL = useMemo(() => {\n const redirectURL = String(\n process.env.REACT_APP_STRIPE_PAYMENT_REDIRECT_URL\n );\n\n return redirectURL.replaceAll(\"{id}\", id);\n }, [id]);\n\n useEffect(() => {\n if (!stripe) {\n return;\n }\n\n if (!clientSecret) {\n return;\n }\n\n stripe.retrievePaymentIntent(clientSecret).then(({ paymentIntent }) => {\n switch (paymentIntent?.status) {\n case \"succeeded\":\n setMessage({\n text: \"Payment succeeded!\",\n type: \"success\"\n });\n break;\n case \"processing\":\n setMessage({\n text: \"Your payment is processing.\",\n type: \"neutral\"\n });\n break;\n case \"requires_payment_method\":\n break;\n default:\n setMessage({\n text: \"Something went wrong.\",\n type: \"error\"\n });\n break;\n }\n });\n }, [clientSecret, stripe]);\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n\n if (!stripe || !elements) {\n // Stripe.js has not yet loaded.\n // Make sure to disable form submission until Stripe.js has loaded.\n return;\n }\n\n setIsLoading(true);\n\n const { error } = await stripe.confirmPayment({\n elements,\n confirmParams: {\n // Make sure to change this to your payment completion page\n return_url: paymentRedirectURL\n }\n });\n\n if (error.type === \"card_error\" || error.type === \"validation_error\") {\n setMessage({\n text: error.message,\n type: \"error\"\n });\n } else {\n setMessage({\n text: \"An unexpected error occurred.\",\n type: \"error\"\n });\n }\n\n setIsLoading(false);\n };\n\n return (\n
\n \n \n {/* Show any error or success messages */}\n {message && (\n
\n \n
\n )}\n
\n \n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n );\n}\n\nCheckoutForm.propTypes = {\n clientSecret: PropTypes.string,\n productId: PropTypes.string,\n amount: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};\n\nexport default CheckoutForm;\n","import CheckoutForm from \"./CheckoutForm\";\n\nexport default CheckoutForm;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from \"react\";\nimport { PropTypes } from \"prop-types\";\nimport { useParams, useSearchParams } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\nimport { createPayment } from \"@/store/order/order.actions\";\nimport { Elements } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\nimport CheckoutForm from \"@/components/OrderSteps/CheckoutForm\";\nimport PaymentTotalInfo from \"@/components/OrderStepsCasa/PaymentTotalInfo\";\nimport numeral from \"numeral\";\nimport \"./OnlinePayment.scss\";\n\nconst stripe = loadStripe(process.env.REACT_APP_STRIPE_KEY);\n\nconst OnlinePayment = ({ selectedPlan }) => {\n const { id } = useParams();\n const dispatch = useDispatch();\n const [searchParams] = useSearchParams();\n const productId = searchParams.get(\"product_id\");\n const [clientSecret, setClientSecret] = useState();\n const [totalAmount, setTotalAmount] = useState();\n const [processingFee, setProcessingFee] = useState();\n\n useEffect(() => {\n const processing = (selectedPlan.amount_total - selectedPlan.amount) / 100;\n const totalAmountFormatted = numeral(\n selectedPlan.amount_total / 100\n ).format(\"0,0.00\");\n\n setProcessingFee(numeral(processing).format(\"0,0.00\"));\n setTotalAmount(totalAmountFormatted);\n\n (async () => {\n try {\n const res = await dispatch(\n createPayment({ id, product_id: selectedPlan.id })\n );\n\n setClientSecret(res.client_secret);\n } catch (err) {\n console.log(\"Error / Create payment failed\");\n }\n })();\n // eslint-disable-next-line\n }, [id, selectedPlan]);\n\n return (\n
\n
\n
\n {clientSecret && stripe && totalAmount ? (\n \n \n \n ) : (\n \n )}\n
\n {clientSecret && selectedPlan && totalAmount && (\n \n )}\n
\n
\n );\n};\n\nOnlinePayment.propTypes = {\n selectedPlan: PropTypes.object\n};\n\nexport default OnlinePayment;\n","import OnlinePayment from \"./OnlinePayment\";\n\nexport default OnlinePayment;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable no-console */\nimport React, { useState, useEffect, useMemo, useCallback } from \"react\";\nimport { useParams, useSearchParams } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Invoice from \"@/components/OrderSteps/Invoice\";\nimport OnlinePayment from \"@/components/OrderSteps/OnlinePayment\";\nimport { getOrderProducts } from \"@/store/order/order.reducer\";\nimport { fetchOrderProducts } from \"@/store/order/order.actions\";\nimport cn from \"classnames\";\nimport \"./PaymentType.scss\";\n\nconst PaymentType = () => {\n const { id } = useParams();\n const dispatch = useDispatch();\n const [searchParams] = useSearchParams();\n const [selectedPayment, setSelectedPayment] = useState();\n const [isInvoice, setIsInvoice] = useState(false);\n const list = useMemo(\n () => [\n {\n id: \"online\",\n title: \"Online Payment\",\n isActive: true\n },\n {\n id: \"invoice\",\n title: \"Invoice\"\n }\n ],\n []\n );\n const orderProducts = useSelector(getOrderProducts);\n const productId = searchParams.get(\"product_id\");\n const [selectedPlan, setSelectedPlan] = useState();\n\n useEffect(() => {\n if (!orderProducts?.length) {\n dispatch(fetchOrderProducts());\n }\n // eslint-disable-next-line\n }, [orderProducts]);\n\n const handleChoosePayment = useCallback((pId) => {\n setSelectedPayment(pId);\n\n switch (pId) {\n case \"online\":\n setIsInvoice(false);\n break;\n case \"invoice\":\n setIsInvoice(true);\n break;\n default:\n break;\n }\n }, []);\n\n useEffect(() => {\n setSelectedPayment(list[0].id);\n handleChoosePayment(list[0].id);\n // eslint-disable-next-line\n }, [list, handleChoosePayment, id]);\n\n useEffect(() => {\n setSelectedPlan(\n orderProducts.find((p) => p.id === parseInt(productId, 10))\n );\n }, [orderProducts, productId]);\n\n return (\n
\n
\n
\n {list.length &&\n list?.map((item) => (\n handleChoosePayment(item.id)}>\n
\n {item.title && (\n
{item.title}
\n )}\n
\n \n ))}\n
\n {selectedPlan && (\n
\n {isInvoice ? (\n \n ) : (\n \n )}\n
\n )}\n
\n
\n );\n};\n\nexport default PaymentType;\n","import PaymentType from \"./PaymentType\";\n\nexport default PaymentType;\n","export { default as OrderCreation } from \"./OrderCreation\";\nexport { default as ApplicationInfo } from \"./ApplicationInfo\";\nexport { default as OrderVerification } from \"./OrderVerification\";\nexport { default as Agreement } from \"./Agreement\";\nexport { default as OrderCart } from \"./OrderCart\";\nexport { default as OrderPayment } from \"./OrderPayment\";\nexport { default as OrderPaymentStatus } from \"./OrderPaymentStatus\";\nexport { default as PaymentType } from \"./PaymentType\";\n","import React, { useState } from \"react\";\nimport {\n useParams,\n generatePath,\n useSearchParams,\n useNavigate\n} from \"react-router-dom\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport \"./OrderVerification.scss\";\nimport { routes } from \"@/constants\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getIsOrderPaid, getOrderDetails } from \"@/store/order/order.reducer\";\nimport {\n OrderActions,\n resendOtpCode,\n verifyOtpCode\n} from \"@/store/order/order.actions\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport OrderTabs from \"@/components/OrderTabs\";\nimport InputField from \"@/components/InputField\";\nimport AlertMessage from \"@/components/AlertMessage\";\n\nconst OTPConfirmationSchema = yup.object({\n otp: yup.string().nullable().min(6).max(6).required()\n});\n\nconst OTPConfirmation = () => {\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const [resendEmailState, setResendEmailState] = useState(null);\n const isLoading = useSelector(\n (state) =>\n isInProcess(state, OrderActions.RESEND_OTP_CODE) ||\n isInProcess(state, OrderActions.VERIFY_OTP_CODE)\n );\n const dispatch = useDispatch();\n const { id } = useParams();\n const order = useSelector(getOrderDetails);\n const isPaidOrder = useSelector(getIsOrderPaid);\n\n const handleResendCode = async () => {\n setResendEmailState(null);\n\n try {\n await dispatch(resendOtpCode(id));\n setResendEmailState({\n type: \"success\",\n text: \"We’ve resent an email with password\"\n });\n } catch (e) {\n setResendEmailState({\n type: \"error\",\n text: \"Can't resend email with password\"\n });\n }\n };\n\n const {\n register,\n handleSubmit,\n setError,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(OTPConfirmationSchema)\n });\n\n const onSubmit = async ({ otp }) => {\n const otpUppercase = otp.toUpperCase();\n\n try {\n await dispatch(\n verifyOtpCode({\n id,\n otp: otpUppercase\n })\n );\n setSearchParams({\n status: \"success\"\n });\n } catch (e) {\n setError(\"otp\", {\n type: \"custom\",\n message: e.data?.otp?.join(\"\\n\") || \"Invalid code\"\n });\n setSearchParams({\n status: \"error\"\n });\n }\n };\n\n return (\n \n
\n {/*
*/}\n {/*
Automatic verification
*/}\n {/*
*/}\n
\n

\n We’ve sent a verifcation email to the contact email that you\n indicated on the package’s Google Play page to verify your\n authority.\n

\n
\n
\n
{order?.developer_email}
\n
\n {searchParams.get(\"status\") === \"success\" ? (\n <>\n
\n \n
\n\n
\n {!isPaidOrder && (\n navigate(-1)}\n type=\"button\"\n text=\"Back\"\n className=\"btn-link thin\"\n icon=\"back\"\n />\n )}\n \n navigate(\n generatePath(\n isPaidOrder ? routes.PROJECT_PROGRESS : routes.AGREEMENT,\n {\n id\n }\n )\n )\n }\n className=\"btn-default\"\n type=\"button\"\n text=\"Continue\"\n icon=\"forward\"\n />\n
\n \n ) : (\n <>\n
\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid,jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions */}\n \n Re-send letter?\n \n
\n
\n {resendEmailState && (\n \n )}\n
\n
\n \n
\n
\n \n
\n {!isPaidOrder && (\n
\n \n \n
\n )}\n \n )}\n
\n
\n );\n};\n\nexport default OTPConfirmation;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport purify from \"dompurify\";\nimport { PropTypes } from \"prop-types\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport \"./SuccessBox.scss\";\n\nconst SuccessBox = ({ title, subtitle, button }) => {\n return (\n
\n
\n
\n \n
\n {title &&
{title}
}\n {subtitle && (\n \n )}\n
\n {button && (\n
\n \n
\n )}\n
\n );\n};\n\nSuccessBox.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n button: PropTypes.object\n};\n\nexport default SuccessBox;\n","import SuccessfulPay from \"./SuccessBox\";\n\nexport default SuccessfulPay;\n","import React, { useEffect } from \"react\";\nimport {\n OrderCreation,\n ApplicationInfo,\n OrderVerification,\n Agreement,\n OrderCart,\n // OrderPayment,\n PaymentType\n // OrderPaymentStatus\n} from \"@/components/OrderSteps\";\nimport { Routes, Route, useParams, Outlet, Navigate } from \"react-router-dom\";\nimport { DrawerLayout } from \"@/layouts\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { getOrderDetailsById } from \"@/store/order/order.actions\";\nimport OTPConfirmation from \"@/components/OrderSteps/OrderVerification/OTPConfirmation\";\nimport SuccessBox from \"@/components/SuccessBox\";\nimport { routes } from \"@/constants\";\n\nconst DetailsSupplier = () => {\n const dispatch = useDispatch();\n const { id } = useParams();\n const orderDetails = useSelector(getOrderDetails);\n\n useEffect(() => {\n if (id) {\n dispatch(getOrderDetailsById(id));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n if (id && !orderDetails) {\n return null;\n }\n\n return ;\n};\n\nconst OrderPage = () => {\n return (\n \n }>\n }>\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n {/* } /> */}\n } />\n \n }\n />\n \n }\n />\n \n \n \n );\n};\n\nexport default OrderPage;\n","import OrderPage from \"./OrderPage\";\n\nexport default OrderPage;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport Button from \"@/components/Button\";\nimport { Auth } from \"aws-amplify\";\nimport { FederatedLoginProviders } from \"@/constants\";\n\nimport \"./FederalProvidersRow.scss\";\nimport { AppleLogo, GoogleIcon } from \"@/icons\";\n\nconst FederalProvidersRow = () => {\n // const onFacebookSignIn = async () => {\n // await Auth.federatedSignIn({\n // provider: FederatedLoginProviders.FACEBOOK\n // });\n // };\n\n const onGoogleSignIn = async () => {\n await Auth.federatedSignIn({\n provider: FederatedLoginProviders.GOOGLE\n });\n };\n\n const onAppleSignIn = async () => {\n await Auth.federatedSignIn({\n provider: FederatedLoginProviders.APPLE\n });\n };\n\n return (\n
\n
\n {/* */}\n }\n onClick={onGoogleSignIn}\n />\n }\n onClick={onAppleSignIn}\n />\n {/* */}\n
\n
\n );\n};\n\nexport default FederalProvidersRow;\n","import FederalProvidersRow from \"./FederalProvidersRow\";\n\nexport default FederalProvidersRow;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport FederalProvidersRow from \"@/components/FederalProvidersRow\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AuthActions, login } from \"@/store/auth/auth.actions\";\nimport {\n createSearchParams,\n Link,\n useLocation,\n useNavigate\n} from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport InputPasswordField from \"@/components/InputPasswordField\";\nimport \"./LoginForm.scss\";\n\nconst loginSchema = yup.object({\n login: yup.string().nullable().max(255).email().required(),\n password: yup\n .string()\n .nullable()\n .min(8)\n .max(99)\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;_~`])\\S{8,99}$/,\n \"Not appropriate password format\"\n )\n .required()\n});\n\nconst LoginForm = () => {\n const [error, setError] = useState(false);\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.LOGIN)\n );\n const dispatch = useDispatch();\n const {\n handleSubmit,\n register,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(loginSchema)\n });\n const location = useLocation();\n const navigate = useNavigate();\n const from = location.state?.from?.pathname || routes.ROOT;\n\n const onSubmit = async (data) => {\n setError(null);\n try {\n const res = await dispatch(login(data));\n\n if (res.challenge) {\n const searchParams = `?${createSearchParams(res)}`;\n navigate({\n pathname: routes.MFA,\n search: searchParams,\n state: { from }\n });\n } else if (res?.token) {\n navigate(from, { replace: true });\n }\n // eslint-disable-next-line no-empty\n } catch (e) {\n setError(\"Login failed. Something went wrong.\");\n }\n };\n\n return (\n
\n
Welcome back!
\n
\n It’s great to see you 👋 Log in to your account below\n
\n \n
\n or continue with your email and password\n
\n
\n \n \n Forgot password?\n \n \n
\n
\n \n
\n {error && (\n
\n \n
\n )}\n
\n First time here? \n Get started\n
\n {/*
\n Signing up for a CASA account means your business does not connect with\n Russia and you agree to the \n Privacy Policy, \n Terms of Service.\n
*/}\n \n );\n};\n\nexport default LoginForm;\n","import LoginForm from \"./LoginForm\";\n\nexport default LoginForm;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from \"react\";\nimport { CheckCircleDisabledIcon, CheckCircleSuccessIcon } from \"@/icons\";\nimport \"./PasswordValidityRules.scss\";\nimport PropTypes from \"prop-types\";\n\nconst passwordRule1 = /(?=.*[0-9])/;\nconst passwordRule2 = /(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;_~`])/;\nconst passwordRule3 = /(?=.*[A-Z])/;\nconst passwordRule4 = /(?=.*[a-z])/;\n\nconst ValidityIcon = ({ isValid, ...props }) => {\n return isValid ? (\n \n ) : (\n \n );\n};\n\nValidityIcon.propTypes = {\n isValid: PropTypes.bool,\n className: PropTypes.string\n};\n\nconst PasswordValidityRules = ({ password }) => {\n const [isFirstValid, setIsFirstValid] = useState();\n const [isSecondValid, setIsSecondValid] = useState();\n const [isThirdValid, setIsThirdValid] = useState();\n const [isFourthValid, setIsFourthValid] = useState();\n\n useEffect(() => {\n setIsFirstValid(passwordRule1.test(password));\n setIsSecondValid(passwordRule2.test(password));\n setIsThirdValid(passwordRule3.test(password));\n setIsFourthValid(passwordRule4.test(password));\n }, [password]);\n\n return (\n
\n
\n
\n \n
\n \n Contains at least 1 number\n \n
\n
\n
\n \n
\n \n {/* eslint-disable-next-line react/no-unescaped-entities */}\n Contains at least 1 special character (^ $ * . [ ] {} ( ) ? - \" ! @ #\n {/* eslint-disable-next-line react/no-unescaped-entities */}% & / \\ ,{\" \"}\n {\"> <\"} ' : ; | _ ~ ` + =)\n \n
\n
\n
\n \n
\n \n Contains at least 1 uppercase letter\n \n
\n
\n
\n \n
\n \n Contains at least 1 lowercase letter\n \n
\n
\n );\n};\n\nPasswordValidityRules.propTypes = {\n password: PropTypes.string.isRequired\n};\n\nexport default PasswordValidityRules;\n","import PasswordValidityRules from \"./PasswordValidityRules\";\n\nexport default PasswordValidityRules;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { AuthActions, registerUser } from \"@/store/auth/auth.actions\";\nimport { getRegisterErrorData } from \"@/store/auth/auth.reducer\";\nimport PropTypes from \"prop-types\";\nimport FederalProvidersRow from \"@/components/FederalProvidersRow\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport InputPasswordField from \"@/components/InputPasswordField\";\nimport PasswordValidityRules from \"@/components/PasswordValidityRules\";\nimport \"./RegisterForm.scss\";\n\nconst registerSchema = yup.object({\n email: yup.string().nullable().max(255).email().required(),\n password: yup\n .string()\n .nullable()\n .min(8)\n .max(99)\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;_~`])\\S{8,99}$/,\n \"Not appropriate password format\"\n )\n .required(),\n password_confirmation: yup\n .string()\n .nullable()\n .oneOf([yup.ref(\"password\"), null], \"Passwords must match\")\n});\n\nconst RegisterForm = ({ onAfterSubmit }) => {\n const [isFocused, setIsFocused] = useState(false);\n const dispatch = useDispatch();\n const error = useSelector(getRegisterErrorData);\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.REGISTER)\n );\n\n const {\n handleSubmit,\n register,\n watch,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(registerSchema)\n });\n\n const passwordWatch = watch(\"password\", \"\");\n\n const onSubmit = async (data) => {\n try {\n await dispatch(registerUser(data));\n\n if (onAfterSubmit) {\n onAfterSubmit(data.email);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {}\n };\n\n return (\n
\n
Hi there!
\n
Sign up with your socials
\n \n
\n or register with email and password\n
\n
\n \n setIsFocused(true)}\n {...register(\"password\")}\n />\n
\n {isFocused && }\n
\n \n
\n
\n \n
\n {error?.data?.message && (\n
\n \n
\n )}\n
\n Already have an account? \n Sign in here\n
\n
\n When you sign up for an account on the website, you are confirming that\n your business has no connections with Russia, and you are also agreeing\n to our \n Privacy Policy and \n Terms of Service\n
\n \n );\n};\n\nRegisterForm.propTypes = {\n onAfterSubmit: PropTypes.func\n};\n\nexport default RegisterForm;\n","import React, { useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AuthActions, confirmEmailCode } from \"@/store/auth/auth.actions\";\nimport PropTypes from \"prop-types\";\nimport { useSearchParams } from \"react-router-dom\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport \"./RegisterForm.scss\";\n\nconst codeConfirmationSchema = yup.object({\n confirmation_code: yup.string().max(255).required()\n});\n\nconst CodeConfirmationForm = ({ onAfterSubmit }) => {\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.CONFIRM_EMAIL_CODE)\n );\n\n const [feedback, setFeedback] = useState(null);\n const dispatch = useDispatch();\n const [searchParams] = useSearchParams();\n\n const {\n register,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(codeConfirmationSchema),\n defaultValues: {\n confirmation_code: \"\"\n }\n });\n\n // eslint-disable-next-line camelcase\n const onSubmit = async ({ confirmation_code }) => {\n setFeedback(null);\n\n try {\n const email = searchParams.get(\"email\") ?? \"\";\n await dispatch(\n confirmEmailCode({\n // eslint-disable-next-line camelcase\n confirmation_code,\n email\n })\n );\n\n setFeedback({ type: \"success\", text: \"Registration successful.\" });\n\n if (onAfterSubmit) {\n setTimeout(() => {\n onAfterSubmit();\n }, 2 * 1000);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {\n setFeedback({\n type: \"error\",\n text: e?.data?.message || \"Confirmation failed. Something went wrong.\"\n });\n }\n };\n\n return (\n
\n
\n
Hi there!
\n
\n Please fill in confirmation code sent to your email\n
\n
\n
\n \n
\n
\n \n
\n {feedback && (\n
\n \n
\n )}\n
\n );\n};\n\nCodeConfirmationForm.propTypes = {\n onAfterSubmit: PropTypes.func\n};\n\nexport default CodeConfirmationForm;\n","import React from \"react\";\nimport {\n createSearchParams,\n useNavigate,\n Routes,\n Route\n} from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport RegisterForm from \"./RegisterForm\";\nimport CodeConfirmationForm from \"./CodeConfirmationForm\";\n\nconst RegisterForms = () => {\n const navigate = useNavigate();\n\n const onAfterRegisterSubmit = (email) => {\n const params = `?${createSearchParams({ email })}`;\n navigate({\n pathname: routes.REGISTER_CONFIRMATION,\n search: params\n });\n };\n\n const onAfterCodeConfirmationSubmit = () => {\n navigate(routes.LOGIN);\n };\n\n return (\n \n }\n />\n \n }\n />\n \n );\n};\n\nexport default RegisterForms;\n","import RegisterForms from \"./RegisterForms\";\n\nexport default RegisterForms;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport PropTypes from \"prop-types\";\nimport { routes } from \"@/constants\";\nimport { Link } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AuthActions, sendResetCode } from \"@/store/auth/auth.actions\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport \"./ForgotPasswordForm.scss\";\n\nconst emailAddressSchema = yup.object({\n email: yup.string().nullable().max(255).email().required()\n});\n\nconst EmailForm = ({ onAfterSubmit }) => {\n const dispatch = useDispatch();\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.SEND_RESET_CODE)\n );\n const [feedback, setFeedback] = useState(null);\n const {\n register,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(emailAddressSchema)\n });\n\n const onSubmit = async (data) => {\n setFeedback(null);\n try {\n await dispatch(sendResetCode(data.email));\n setFeedback({\n type: \"success\",\n text: \"We’ve send an email with the confirmation code\"\n });\n\n if (onAfterSubmit) {\n setTimeout(() => {\n onAfterSubmit(data.email);\n }, 2 * 1000);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {\n setFeedback({\n type: \"error\",\n text: e?.data?.message || \"Something went wrong.\"\n });\n }\n };\n\n return (\n
\n
\n
Forgot password?
\n
\n Fill in your email and we’ll send you a link to reset your password\n
\n
\n {feedback && (\n
\n \n
\n )}\n
\n \n
\n
\n \n
\n
\n Take me back to \n Login page\n
\n
\n );\n};\n\nEmailForm.propTypes = {\n onAfterSubmit: PropTypes.func\n};\n\nexport default EmailForm;\n","import React, { useState } from \"react\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport PropTypes from \"prop-types\";\nimport { routes } from \"@/constants\";\nimport AlertMessage from \"@/components/AlertMessage\";\nimport { Navigate, useSearchParams, Link } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AuthActions, resetPassword } from \"@/store/auth/auth.actions\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport PasswordValidityRules from \"@/components/PasswordValidityRules\";\n\nconst resetPasswordFormSchema = yup.object({\n code: yup.string().nullable().max(255).required(),\n password: yup\n .string()\n .min(8)\n .max(99)\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[\\^$*.[\\]{}()?\\-\"!@#%&/,><':;_~`])\\S{8,99}$/,\n \"Not appropriate password format\"\n )\n .required(),\n password_confirmation: yup\n .string()\n .oneOf([yup.ref(\"password\"), null], \"Passwords must match\")\n});\n\nconst ResetPasswordForm = ({ onAfterSubmit }) => {\n const dispatch = useDispatch();\n const [isFocused, setIsFocused] = useState(false);\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.RESET_PASSWORD)\n );\n const [feedback, setFeedback] = useState(null);\n const {\n register,\n watch,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(resetPasswordFormSchema)\n });\n const passwordWatch = watch(\"password\", \"\");\n\n const [searchParams] = useSearchParams();\n\n const onSubmit = async (data) => {\n setFeedback(null);\n try {\n const email = searchParams.get(\"email\") ?? \"\";\n\n await dispatch(resetPassword({ ...data, email }));\n\n if (onAfterSubmit) {\n onAfterSubmit({ ...data, email });\n }\n // eslint-disable-next-line no-empty\n } catch (e) {\n setFeedback({\n type: \"error\",\n text: e?.data?.message || \"Reset password failed. Something went wrong.\"\n });\n }\n };\n\n if (!searchParams.get(\"email\")) {\n return ;\n }\n\n return (\n
\n
\n
Reset your password
\n
\n Please fill in confirmation code sent to your email and type a new\n password\n
\n
\n {feedback && (\n
\n \n
\n )}\n
\n \n
\n
\n setIsFocused(true)}\n label=\"New password\"\n errors={errors}\n {...register(\"password\")}\n />\n {isFocused && }\n
\n
\n \n
\n
\n \n
\n
\n Take me back to \n Forgot password\n
\n
\n );\n};\n\nResetPasswordForm.propTypes = {\n onAfterSubmit: PropTypes.func\n};\n\nexport default ResetPasswordForm;\n","import React from \"react\";\nimport { ButtonLink } from \"@/components/Button\";\nimport { routes } from \"@/constants\";\n\nconst ResetPasswordSuccess = () => {\n return (\n
\n
\n
Password changed
\n
\n Your password changed successfully.\n
\n
\n
\n \n
\n
\n );\n};\n\nexport default ResetPasswordSuccess;\n","import React from \"react\";\nimport {\n Routes,\n Route,\n createSearchParams,\n useNavigate\n} from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport EmailForm from \"./EmailForm\";\nimport ResetPasswordForm from \"./ResetPasswordForm\";\nimport ResetPasswordSuccess from \"./ResetPasswordSuccess\";\n\nconst ForgotPasswordFlow = () => {\n const navigate = useNavigate();\n\n const onEmailFormSubmit = (email) => {\n const params = `?${createSearchParams({ email })}`;\n navigate({\n pathname: routes.RESET_PASSWORD,\n search: params\n });\n };\n\n const onResetPasswordSubmit = () => {\n navigate(routes.RESET_PASSWORD_SUCCESS);\n };\n\n return (\n \n } />\n }\n />\n } />\n \n );\n};\n\nexport default ForgotPasswordFlow;\n","import ForgotPasswordFlow from \"./ForgotPasswordFlow\";\n\nexport default ForgotPasswordFlow;\n","import { useEffect } from \"react\";\nimport { Auth } from \"aws-amplify\";\nimport { useDispatch } from \"react-redux\";\nimport { loginUsingSocial, validateToken } from \"@/store/auth/auth.actions\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\n\nconst ExternalLoginHandler = () => {\n const dispatch = useDispatch();\n const location = useLocation();\n const navigate = useNavigate();\n const from = location.state?.from?.pathname || routes.ROOT;\n\n useEffect(() => {\n (async () => {\n try {\n const details = await Auth.currentAuthenticatedUser({\n bypassCache: false\n });\n const {\n authenticationFlowType,\n signInUserSession: {\n accessToken: { jwtToken: accessToken },\n idToken: { jwtToken: idToken }\n }\n } = details;\n\n await dispatch(\n loginUsingSocial({ authenticationFlowType, accessToken, idToken })\n );\n await dispatch(validateToken());\n navigate(from, { replace: true });\n } catch (err) {\n navigate(routes.ROOT);\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n return null;\n};\n\nexport default ExternalLoginHandler;\n","import ExternalLoginHandler from \"./ExternalLoginHandler\";\n\nexport default ExternalLoginHandler;\n","import React from \"react\";\nimport { routes, lsKeys } from \"@/constants\";\nimport {\n Navigate,\n useLocation,\n useNavigate,\n useSearchParams\n} from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport { AuthActions, respondToAuthChallenge } from \"@/store/auth/auth.actions\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\n\nconst schema = yup.object({\n code: yup.string().nullable().min(6).max(6).required()\n});\n\nconst RequiredMFA = () => {\n const [searhParams] = useSearchParams();\n const dispatch = useDispatch();\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.RESPOND_TO_AUTH_CHALLENGE)\n );\n const navigate = useNavigate();\n const location = useLocation();\n const from = location.state?.from?.pathname || routes.ROOT;\n\n const {\n register,\n setValue,\n handleSubmit,\n setError,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n const onSubmit = async (data) => {\n try {\n const { code } = data;\n const session = searhParams.get(\"session\");\n\n await dispatch(\n respondToAuthChallenge({\n code,\n session\n })\n );\n\n localStorage.setItem(lsKeys.MFA_SESSION, true);\n navigate(from, { replace: true });\n } catch (error) {\n setError(\"code\", {\n type: \"custom\",\n message:\n error.data?.code?.join(\"\\n\") || error.data?.message || \"Invalid code\"\n });\n // if (error.data?.message) {\n // dispatch(validateToken());\n // }\n }\n };\n\n if (!searhParams.has(\"session\")) {\n return ;\n }\n\n return (\n
\n
\n
\n

\n Multi-Factor Authentication\n

\n

\n Type the 6-digit code from your authenticator application:\n

\n \n
\n
\n \n
\n
\n
\n );\n};\n\nexport default RequiredMFA;\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n associateMFASoftwareToken,\n AuthActions,\n removeMFASetupDetails,\n verifyMFASoftwareToken\n} from \"@/store/auth/auth.actions\";\nimport { ExternalLinks, routes, StatusCodes } from \"@/constants\";\nimport { getMFASetupDetails } from \"@/store/auth/auth.reducer\";\nimport {\n Navigate,\n useLocation,\n useNavigate,\n useSearchParams\n} from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport Button from \"@/components/Button\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\n\nconst schema = yup.object({\n code: yup.string().nullable().min(6).max(6).required()\n});\n\nconst SetupMFA = () => {\n const [searchParams] = useSearchParams();\n const dispatch = useDispatch();\n const setupDetails = useSelector(getMFASetupDetails);\n const navigate = useNavigate();\n const location = useLocation();\n const from = location.state?.from?.pathname || routes.ROOT;\n\n const session = searchParams.get(\"session\");\n\n const isLoading = useSelector((state) =>\n isInProcess(state, AuthActions.VERIFY_MFA_SOFTWARE_TOKEN)\n );\n\n const {\n register,\n setValue,\n handleSubmit,\n setError,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n const onSubmit = async (data) => {\n try {\n const { code } = data;\n const res = await dispatch(\n verifyMFASoftwareToken({\n code,\n session: setupDetails.session\n })\n );\n\n if (res?.token) {\n navigate(from, { replace: true });\n } else {\n navigate(routes.MFA_SETUP_SUCCESS, { replace: true });\n }\n } catch (error) {\n setError(\"code\", {\n type: \"custom\",\n message:\n error.data?.code?.join(\"\\n\") || error.data?.message || \"Invalid code\"\n });\n setTimeout(() => {\n navigate(routes.LOGIN);\n }, 2000);\n\n // if (error.data?.message) {\n // dispatch(validateToken());\n // }\n }\n };\n\n useEffect(() => {\n if (session) {\n (async () => {\n try {\n await dispatch(\n associateMFASoftwareToken({\n session\n })\n );\n } catch (e) {\n if (e.status === StatusCodes._400) {\n navigate(routes.LOGIN, { replace: true });\n }\n }\n })();\n }\n\n return () => {\n dispatch(removeMFASetupDetails());\n };\n // eslint-disable-next-line\n }, [session]);\n\n if (!session) {\n return ;\n }\n\n if (!setupDetails) {\n return null;\n }\n\n return (\n
\n

Multi-Factor Authentication

\n

\n Secure your account by adding multi-factor authentication. Follow the\n instructions below to complete the setup. You will be asked to provide a\n one-time code next time you login.\n

\n
\n
\n

\n {/* eslint-disable-next-line */}\n 1. Please download{\" \"}\n \n Google Authenticator\n {\" \"}\n ,{\" \"}\n \n Microsoft Authenticator\n {\" \"}\n or use your preferred MFA application from your phone's store.\n

\n
\n
\n

\n 2. Scan the QR code below or enter key manually using the\n application:\n

\n\n
\n \n
\n
\n
Secret:
\n
{setupDetails.secret_code}
\n
\n
\n
\n
\n

\n 3. Type the 6-digit code from the authenticator application to\n verify your setup:\n

\n \n
\n \n \n
\n
\n );\n};\n\nexport default SetupMFA;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport RequiredMFA from \"@/components/MFA/RequiredMFA\";\nimport { Navigate, useLocation, useSearchParams } from \"react-router-dom\";\nimport { MFAChallengeTypes, routes } from \"@/constants\";\nimport SetupMFA from \"./SetupMFA\";\nimport \"./mfa.scss\";\n\nconst MFA = () => {\n const [searchParams] = useSearchParams();\n const location = useLocation();\n const from = location.state?.from?.pathname || routes.ROOT;\n\n if (!searchParams.has(\"challenge\")) {\n return ;\n }\n const challenge = searchParams.get(\"challenge\");\n\n if (challenge === MFAChallengeTypes.MFA_SETUP) {\n return ;\n }\n\n if (challenge === MFAChallengeTypes.MFA_REQUIRED) {\n return ;\n }\n\n return null;\n};\n\nexport default MFA;\n","import MFA from \"./MFA\";\n\nexport default MFA;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect } from \"react\";\nimport { ButtonLink } from \"@/components/Button\";\nimport { routes } from \"@/constants\";\n\nimport \"./mfaSucess.scss\";\nimport { useDispatch } from \"react-redux\";\nimport { removeMFASetupDetails } from \"@/store/auth/auth.actions\";\n\nconst SetupMFASuccess = () => {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(removeMFASetupDetails());\n // eslint-disable-next-line\n }, []);\n\n return (\n
\n

Multi-Factor Authentication

\n

\n You’ve successfully enabled multi-factor authentication for your\n account. You will be asked to provide an OTP code next time you login\n into the app.\n

\n
\n \n
\n
\n );\n};\n\nexport default SetupMFASuccess;\n","import React from \"react\";\nimport { Navigate, Route, Routes } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { AsideLayout } from \"@/layouts\";\nimport LoginForm from \"@/components/LoginForm\";\nimport RegisterForms from \"@/components/RegisterForms\";\nimport ForgotPasswordFlow from \"@/components/ForgotPasswordFlow\";\nimport ExternalLoginHandler from \"@/components/ExternalLoginHandler\";\nimport MFA from \"@/components/MFA\";\nimport SetupMFASuccess from \"@/components/MFA/SetupMFASuccess\";\n\nconst AuthPage = () => {\n return (\n \n }>\n } />\n } />\n } />\n } />\n } />\n } />\n \n } />\n \n );\n};\n\nexport default AuthPage;\n","import AuthPage from \"./AuthPage\";\n\nexport default AuthPage;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\n\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n\n setValue(updater);\n }\n\n return [value, safeSetState];\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useNextFrame from './useNextFrame';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null); // =========================== Dom Node ===========================\n\n function getDomElement() {\n return getElement();\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var currentActive = activeRef.current;\n var canEnd;\n\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []); // Trigger `onVisibleChanged`\n\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n } // Auto inject ref if child node not have `ref` props\n\n\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _motionChildren = motionChildren,\n originNodeRef = _motionChildren.ref;\n\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\n\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n\n _this.setState({\n keyEntities: nextKeyEntities\n });\n\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), children);\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n } // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/* eslint-disable no-underscore-dangle */\n\n/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport classnames from 'classnames';\nvar PanelContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classnames;\n\n var prefixCls = props.prefixCls,\n forceRender = props.forceRender,\n className = props.className,\n style = props.style,\n children = props.children,\n isActive = props.isActive,\n role = props.role;\n\n var _React$useState = React.useState(isActive || forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n rendered = _React$useState2[0],\n setRendered = _React$useState2[1];\n\n React.useEffect(function () {\n if (forceRender || isActive) {\n setRendered(true);\n }\n }, [forceRender, isActive]);\n\n if (!rendered) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: classnames(\"\".concat(prefixCls, \"-content\"), (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-active\"), isActive), _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-inactive\"), !isActive), _classnames), className),\n style: style,\n role: role\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content-box\")\n }, children));\n});\nPanelContent.displayName = 'PanelContent';\nexport default PanelContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\n/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport shallowEqual from 'shallowequal';\nimport PanelContent from './PanelContent';\n\nvar CollapsePanel = /*#__PURE__*/function (_React$Component) {\n _inherits(CollapsePanel, _React$Component);\n\n var _super = _createSuper(CollapsePanel);\n\n function CollapsePanel() {\n var _this;\n\n _classCallCheck(this, CollapsePanel);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onItemClick = function () {\n var _this$props = _this.props,\n onItemClick = _this$props.onItemClick,\n panelKey = _this$props.panelKey;\n\n if (typeof onItemClick === 'function') {\n onItemClick(panelKey);\n }\n };\n\n _this.handleKeyPress = function (e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n _this.onItemClick();\n }\n };\n\n _this.renderIcon = function () {\n var _this$props2 = _this.props,\n showArrow = _this$props2.showArrow,\n expandIcon = _this$props2.expandIcon,\n prefixCls = _this$props2.prefixCls,\n collapsible = _this$props2.collapsible;\n\n if (!showArrow) {\n return null;\n }\n\n var iconNode = typeof expandIcon === 'function' ? expandIcon(_this.props) : /*#__PURE__*/React.createElement(\"i\", {\n className: \"arrow\"\n });\n return iconNode && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-expand-icon\"),\n onClick: collapsible === 'header' ? _this.onItemClick : null\n }, iconNode);\n };\n\n _this.renderTitle = function () {\n var _this$props3 = _this.props,\n header = _this$props3.header,\n prefixCls = _this$props3.prefixCls,\n collapsible = _this$props3.collapsible;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-header-text\"),\n onClick: collapsible === 'header' ? _this.onItemClick : null\n }, header);\n };\n\n return _this;\n }\n\n _createClass(CollapsePanel, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !shallowEqual(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2;\n\n var _this$props4 = this.props,\n className = _this$props4.className,\n id = _this$props4.id,\n style = _this$props4.style,\n prefixCls = _this$props4.prefixCls,\n headerClass = _this$props4.headerClass,\n children = _this$props4.children,\n isActive = _this$props4.isActive,\n destroyInactivePanel = _this$props4.destroyInactivePanel,\n accordion = _this$props4.accordion,\n forceRender = _this$props4.forceRender,\n openMotion = _this$props4.openMotion,\n extra = _this$props4.extra,\n collapsible = _this$props4.collapsible;\n var disabled = collapsible === 'disabled';\n var collapsibleHeader = collapsible === 'header';\n var itemCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-active\"), isActive), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-disabled\"), disabled), _classNames), className);\n var headerCls = classNames(\"\".concat(prefixCls, \"-header\"), (_classNames2 = {}, _defineProperty(_classNames2, headerClass, headerClass), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-header-collapsible-only\"), collapsibleHeader), _classNames2));\n /** header 节点属性 */\n\n var headerProps = {\n className: headerCls,\n 'aria-expanded': isActive,\n 'aria-disabled': disabled,\n onKeyPress: this.handleKeyPress\n };\n\n if (!collapsibleHeader) {\n headerProps.onClick = this.onItemClick;\n headerProps.role = accordion ? 'tab' : 'button';\n headerProps.tabIndex = disabled ? -1 : 0;\n }\n\n var ifExtraExist = extra !== null && extra !== undefined && typeof extra !== 'boolean';\n return /*#__PURE__*/React.createElement(\"div\", {\n className: itemCls,\n style: style,\n id: id\n }, /*#__PURE__*/React.createElement(\"div\", headerProps, this.renderIcon(), this.renderTitle(), ifExtraExist && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: isActive,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n }, openMotion, {\n forceRender: forceRender,\n removeOnLeave: destroyInactivePanel\n }), function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(PanelContent, {\n ref: ref,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n isActive: isActive,\n forceRender: forceRender,\n role: accordion ? 'tabpanel' : null\n }, children);\n }));\n }\n }]);\n\n return CollapsePanel;\n}(React.Component);\n\nCollapsePanel.defaultProps = {\n showArrow: true,\n isActive: false,\n onItemClick: function onItemClick() {},\n headerClass: '',\n forceRender: false\n};\nexport default CollapsePanel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport CollapsePanel from './Panel';\n\nfunction getActiveKeysArray(activeKey) {\n var currentActiveKey = activeKey;\n\n if (!Array.isArray(currentActiveKey)) {\n var activeKeyType = _typeof(currentActiveKey);\n\n currentActiveKey = activeKeyType === 'number' || activeKeyType === 'string' ? [currentActiveKey] : [];\n }\n\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\n\nvar Collapse = /*#__PURE__*/function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse(_props) {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n _this = _super.call(this, _props);\n\n _this.onClickItem = function (key) {\n var activeKey = _this.state.activeKey;\n\n if (_this.props.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = _toConsumableArray(activeKey);\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n\n _this.setActiveKey(activeKey);\n };\n\n _this.getNewChild = function (child, index) {\n if (!child) return null;\n var activeKey = _this.state.activeKey;\n var _this$props = _this.props,\n prefixCls = _this$props.prefixCls,\n openMotion = _this$props.openMotion,\n accordion = _this$props.accordion,\n rootDestroyInactivePanel = _this$props.destroyInactivePanel,\n expandIcon = _this$props.expandIcon,\n collapsible = _this$props.collapsible; // If there is no key provide, use the panel order as default key\n\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n destroyInactivePanel = _child$props.destroyInactivePanel,\n childCollapsible = _child$props.collapsible;\n var isActive = false;\n\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n var mergeCollapsible = childCollapsible !== null && childCollapsible !== void 0 ? childCollapsible : collapsible;\n var props = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel: destroyInactivePanel !== null && destroyInactivePanel !== void 0 ? destroyInactivePanel : rootDestroyInactivePanel,\n openMotion: openMotion,\n accordion: accordion,\n children: child.props.children,\n onItemClick: mergeCollapsible === 'disabled' ? null : _this.onClickItem,\n expandIcon: expandIcon,\n collapsible: mergeCollapsible\n }; // https://github.com/ant-design/ant-design/issues/20479\n\n if (typeof child.type === 'string') {\n return child;\n }\n\n Object.keys(props).forEach(function (propName) {\n if (typeof props[propName] === 'undefined') {\n delete props[propName];\n }\n });\n return /*#__PURE__*/React.cloneElement(child, props);\n };\n\n _this.getItems = function () {\n var children = _this.props.children;\n return toArray(children).map(_this.getNewChild);\n };\n\n _this.setActiveKey = function (activeKey) {\n if (!('activeKey' in _this.props)) {\n _this.setState({\n activeKey: activeKey\n });\n }\n\n _this.props.onChange(_this.props.accordion ? activeKey[0] : activeKey);\n };\n\n var _activeKey = _props.activeKey,\n defaultActiveKey = _props.defaultActiveKey;\n var currentActiveKey = defaultActiveKey;\n\n if ('activeKey' in _props) {\n currentActiveKey = _activeKey;\n }\n\n _this.state = {\n activeKey: getActiveKeysArray(currentActiveKey)\n };\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n style = _this$props2.style,\n accordion = _this$props2.accordion;\n var collapseClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, className, !!className), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: collapseClassName,\n style: style,\n role: accordion ? 'tablist' : null\n }, this.getItems());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n var newState = {};\n\n if ('activeKey' in nextProps) {\n newState.activeKey = getActiveKeysArray(nextProps.activeKey);\n }\n\n return newState;\n }\n }]);\n\n return Collapse;\n}(React.Component);\n\nCollapse.defaultProps = {\n prefixCls: 'rc-collapse',\n onChange: function onChange() {},\n accordion: false,\n destroyInactivePanel: false\n};\nCollapse.Panel = CollapsePanel;\nexport default Collapse;","import Collapse from './Collapse';\nexport default Collapse;\nvar Panel = Collapse.Panel;\nexport { Panel };","const getCollapsedHeight = () => ({ height: 0, opacity: 0 });\nconst getRealHeight = (node) => ({ height: node.scrollHeight, opacity: 1 });\nconst getCurrentHeight = (node) => ({ height: node.offsetHeight });\nconst skipOpacityTransition = (_, event) => event.propertyName === \"height\";\n\nconst collapseMotion = {\n motionName: \"rc-collapse-motion\",\n onEnterStart: getCollapsedHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500,\n leavedClassName: \"rc-collapse-content-hidden\"\n};\n\nexport default collapseMotion;\n","// extracted by mini-css-extract-plugin\nexport default {};","import { ApiClient } from \"@/services/api\";\nimport { RequestConstants } from \"@/constants\";\n\nclass ThirdPartyService extends ApiClient {\n getCountriesAndStates() {\n return this.apiClient.get(\"https://restcountries.com/v2/all\", {\n params: {\n fields: \"name,alpha2Code\"\n }\n });\n }\n\n async downloadFile({ url, filename, contentType }) {\n try {\n const data = await this.apiClient.get(url, {\n url,\n timeout: RequestConstants.FILE_REQUESTS_TIMEOUT_IN_SECONDS,\n responseType: \"arraybuffer\",\n headers: {\n \"Content-Type\": contentType\n }\n });\n\n const blob = new Blob([data], { type: contentType });\n\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n window.navigator.msSaveOrOpenBlob(blob, filename);\n } else {\n const windowUrl = window.URL || window.webkitURL;\n const href = windowUrl.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.setAttribute(\"download\", filename);\n a.setAttribute(\"href\", href);\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n return data;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"Failed to download file\");\n\n return e;\n }\n }\n}\n\nexport default new ThirdPartyService();\n","// eslint-disable-next-line\nimport cn from \"classnames\";\nimport { MinusIcon, PlusIcon } from \"@/icons\";\nimport Button from \"@/components/Button\";\nimport { TabletDesktop, Mobile } from \"@/components/Responsive\";\nimport React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ThirdPartyService from \"@/services/ThirdPartyService\";\n\n// eslint-disable-next-line react/prop-types\nconst PanelHeader = ({\n active,\n title,\n description,\n icon,\n hasButton = true,\n report,\n onClick,\n buttonText\n}) => {\n const [isLoading, setIsLoading] = useState(false);\n const downloadReport = (_report) => async (event) => {\n event.stopPropagation();\n setIsLoading(true);\n try {\n await ThirdPartyService.downloadFile({\n url: _report.api_url,\n filename: _report.file_name,\n contentType: _report.content_type\n });\n setIsLoading(false);\n } catch (e) {\n setIsLoading(false);\n }\n };\n\n return (\n
\n
\n
{icon}
\n
\n
{title}
\n
{description}
\n
\n \n {report && (\n
\n \n
\n )}\n {hasButton && (\n
\n \n
\n )}\n
\n
\n
\n \n {report && (\n \n )}\n {hasButton && (\n \n )}\n \n {!active ? (\n {}}\n text={}\n />\n ) : (\n {}}\n text={}\n />\n )}\n
\n
\n );\n};\n\nPanelHeader.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])\n .isRequired,\n report: PropTypes.object,\n active: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n buttonText: PropTypes.string,\n hasButton: PropTypes.bool\n};\n\nexport default PanelHeader;\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport purify from \"dompurify\";\nimport {\n CheckCircleSuccessIcon,\n CircleWarningIcon,\n MoreInfoIcon,\n MoreInfoSuccessIcon\n} from \"@/icons\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsMoreInfoAccepted,\n getMoreOrderInfoText\n} from \"@/store/order/order.reducer\";\n\nexport const AdditionalInfoPanelHeader = ({ active }) => {\n const isMoreInfoAccepted = useSelector(getIsMoreInfoAccepted);\n return (\n : \n }\n active={active}\n hasButton={false}\n />\n );\n};\n\nAdditionalInfoPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\n// eslint-disable-next-line\nexport const AdditionalInfoPanelBody = ({ orderDetails }) => {\n const moreInfoItem = useSelector(getMoreOrderInfoText);\n const isMoreInfoAccepted = useSelector(getIsMoreInfoAccepted);\n\n return (\n
\n
\n {isMoreInfoAccepted ? : }\n
\n
\n
\n {isMoreInfoAccepted\n ? \"We have all info we need\"\n : \"Provide more information\"}\n
\n {isMoreInfoAccepted ? (\n
\n We will start the assessment soon\n
\n ) : (\n \n )}\n
\n
\n );\n};\n\nAdditionalInfoPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst DEFAULT_TEXT = \"-\";\n\nconst OptionalTextField = ({ tag, text, ...props }) => {\n return React.createElement(tag || \"span\", props, text || DEFAULT_TEXT);\n};\n\nOptionalTextField.defaultProps = {\n text: DEFAULT_TEXT\n};\n\nOptionalTextField.propTypes = {\n text: PropTypes.string,\n tag: PropTypes.string,\n className: PropTypes.string\n};\n\nexport default OptionalTextField;\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport { CheckCircleSuccessIcon, CircleWarningIcon } from \"@/icons\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsAppInfoFilled,\n getIsOrderPaidOrVerified\n} from \"@/store/order/order.reducer\";\nimport OptionalTextField from \"@/components/ProjectProgress/components/OptionalTextField\";\n\nexport const ApplicationInfoPanelHeader = ({ active }) => {\n const { id } = useParams();\n const navigate = useNavigate();\n const isAppInfoFilled = useSelector(getIsAppInfoFilled);\n const isPaidOrVerified = useSelector(getIsOrderPaidOrVerified);\n const onAppInfoClick = () => {\n navigate(\n generatePath(routes.ORDER_APPLICATION_INFO, {\n id\n })\n );\n };\n\n return (\n : \n }\n active={active}\n hasButton={!isPaidOrVerified}\n buttonText=\"Update\"\n onClick={onAppInfoClick}\n />\n );\n};\n\nApplicationInfoPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\nexport const ApplicationInfoPanelBody = ({ orderDetails }) => {\n return (\n
\n
\n
Application information
\n
\n Package name\n \n
\n
\n App name\n \n
\n
\n
\n
Sign-in Information
\n
\n Email\n \n
\n
\n Password\n \n
\n
\n
\n
APK file
\n
\n Filename\n \n
\n
\n
\n );\n};\n\nApplicationInfoPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleWarningIcon,\n VerificationAbsentIcon,\n VerificationSuccessIcon\n} from \"@/icons\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsDevAndAppInfoFilled,\n getIsOrderVerified\n} from \"@/store/order/order.reducer\";\n\nexport const VerificationPanelHeader = ({ active }) => {\n const isVerifiedOrder = useSelector(getIsOrderVerified);\n const isDevAndAppInfoFilled = useSelector(getIsDevAndAppInfoFilled);\n const { id } = useParams();\n const navigate = useNavigate();\n const onVerifyClick = () => {\n navigate(\n generatePath(routes.ORDER_VERIFY, {\n id\n })\n );\n };\n\n return (\n : \n }\n hasButton={\n // eslint-disable-next-line no-nested-ternary\n isDevAndAppInfoFilled ? !isVerifiedOrder : false\n }\n active={active}\n buttonText=\"Verify\"\n onClick={onVerifyClick}\n />\n );\n};\n\nVerificationPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\n// eslint-disable-next-line\nexport const VerificationPanelBody = ({ orderDetails }) => {\n const isVerifiedOrder = useSelector(getIsOrderVerified);\n\n return (\n
\n
\n {isVerifiedOrder ? (\n \n ) : (\n \n )}\n
\n
\n
\n {isVerifiedOrder\n ? \"Successfully verified\"\n : \"Verify ownership of the application\"}\n
\n
\n {isVerifiedOrder\n ? \"You have successfully verified ownership of the application\"\n : \"We need to assess your authority over the application to start the assessment\"}\n
\n
\n
\n );\n};\n\nVerificationPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleWarningIcon,\n PaymentAbsentIcon,\n PaymentSuccessIcon\n} from \"@/icons\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsDevAndAppInfoFilled,\n getIsOrderPaid\n} from \"@/store/order/order.reducer\";\n\nexport const PaymentPanelHeader = ({ active }) => {\n const isPaidOrder = useSelector(getIsOrderPaid);\n const isDevAndAppInfoFilled = useSelector(getIsDevAndAppInfoFilled);\n const { id } = useParams();\n const navigate = useNavigate();\n const onPaymentClick = () => {\n navigate(\n generatePath(routes.AGREEMENT, {\n id\n })\n );\n };\n\n return (\n : }\n active={active}\n hasButton={isDevAndAppInfoFilled ? !isPaidOrder : false}\n buttonText=\"Pay\"\n onClick={onPaymentClick}\n />\n );\n};\n\nPaymentPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\n// eslint-disable-next-line\nexport const PaymentPanelBody = ({ orderDetails }) => {\n const isPaidOrder = useSelector(getIsOrderPaid);\n\n return (\n
\n
\n {isPaidOrder ? : }\n
\n
\n
\n {isPaidOrder\n ? \"Successfully paid\"\n : \"Choose assessment type and place an order\"}\n
\n
\n {isPaidOrder\n ? \"You can find your receipt on email\"\n : \"To begin the assessment process, please choose if you need express or regular testing and finish your order.\"}\n
\n
\n
\n );\n};\n\nPaymentPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport {\n AssessmentProgressIcon,\n AssessmentSuccessIcon,\n CheckCircleDisabledIcon,\n CheckCircleSuccessIcon,\n CircleWarningIcon\n} from \"@/icons\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsAssessmentInProgress,\n getIsAssessmentSuccessful\n} from \"@/store/order/order.reducer\";\n\nexport const AssessmentPanelHeader = ({ active }) => {\n const isAssessmentInProgress = useSelector(getIsAssessmentInProgress);\n const isAssessmentSuccessful = useSelector(getIsAssessmentSuccessful);\n\n return (\n \n ) : isAssessmentInProgress ? (\n \n ) : (\n \n )\n }\n active={active}\n hasButton={false}\n />\n );\n};\n\nAssessmentPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\n// eslint-disable-next-line\nexport const AssessmentPanelBody = ({ orderDetails }) => {\n const isAssessmentSuccessful = useSelector(getIsAssessmentSuccessful);\n\n return (\n
\n
\n {isAssessmentSuccessful ? (\n \n ) : (\n \n )}\n
\n
\n
\n What will the assessment include?\n
\n
\n The scope of the assessment consists of client-side security,\n authentication to the backend/cloud service, and connectivity to the\n backend/cloud service looking at general security and some privacy\n best practices. You can read more about the checks at the Mobile\n AppSec Verification Standard’s page.\n
\n
\n
\n );\n};\n\nAssessmentPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import {\n CheckCircleDisabledIcon,\n CheckCircleSuccessIcon,\n CircleWarningIcon,\n FixIcon\n} from \"@/icons\";\nimport React, { useMemo, useRef, useState } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport { useForm } from \"react-hook-form\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport yup from \"@/utils/yup\";\nimport RadioButton from \"@/components/RadioButton\";\nimport Button from \"@/components/Button\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n getIsCurrentStatusMitigationsNeeded,\n getIsMitigationsNeeded,\n getIsMitigationsNeededSuccessful,\n getLastMitigationsNeededItem\n} from \"@/store/order/order.reducer\";\nimport {\n OrderActions,\n fetchMitigationsRecheck,\n uploadFileSuccessful\n} from \"@/store/order/order.actions\";\nimport { useParams } from \"react-router-dom\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport ResumableFileUploader from \"@/components/ResumableFileUploader\";\nimport { MAX_APK_FILE_SIZE_IN_MEGABYTES } from \"@/constants\";\n\nexport const MitigationsHeader = ({ active }) => {\n const isMitigationsSuccessful = useSelector(getIsMitigationsNeededSuccessful);\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n return (\n \n ) : isMitigationsNeeded ? (\n \n ) : (\n \n )\n }\n report={isMitigationsNeeded?.report}\n active={active}\n hasButton={false}\n />\n );\n};\n\nMitigationsHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\nconst schema = yup.object({\n is_recheck: yup.string().nullable().oneOf([\"1\", \"0\"]).required(),\n app_filename: yup\n .mixed()\n .nullable()\n .when(\"is_recheck\", {\n is: \"0\",\n then: yup\n .mixed()\n .nullable()\n .test(\"ifString\", \"Required\", (value) => {\n if (typeof value === \"string\") {\n return !!value;\n }\n\n return true;\n })\n .test(\n \"size\",\n `Size of file can't be larger than ${MAX_APK_FILE_SIZE_IN_MEGABYTES} Mb`,\n (value) => {\n if (typeof value === \"string\") {\n return true;\n }\n // eslint-disable-next-line no-unsafe-optional-chaining\n const sizeMB = value?.size / 1024 / 1024;\n return sizeMB <= MAX_APK_FILE_SIZE_IN_MEGABYTES;\n }\n )\n .test(\"type\", \"Only .apk file format is allowed\", (value) => {\n if (typeof value === \"string\") {\n return !!value;\n }\n\n return (\n value?.type === \"application/vnd.android.package-archive\" ||\n value?.type === \"application/octet-stream\" ||\n value?.name.endsWith(\".apk\")\n );\n })\n })\n});\n\nconst MitigationsForm = () => {\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.FETCH_MITIGATIONS_RECHECK)\n );\n const dispatch = useDispatch();\n const { id } = useParams();\n const {\n register,\n handleSubmit,\n setValue,\n resetField,\n watch,\n control,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema)\n });\n\n const fileUploader = useRef();\n\n const [isFileLoading, setIsFileLoading] = useState(false);\n\n const isRecheckWatch = watch(\"is_recheck\");\n\n const fileUploadURL = useMemo(() => {\n return `${process.env.REACT_APP_API_URL}/api/v1/order/${id}/mitigations-needed/file`;\n }, [id]);\n\n const onFileUploadSuccess = (_file, orderDetails) => {\n setIsFileLoading(false);\n\n dispatch(uploadFileSuccessful(orderDetails));\n };\n\n const onSubmit = async () => {\n if (isRecheckWatch === \"0\") {\n if (fileUploader.current?.resumable.files.length) {\n fileUploader.current?.startUploading();\n }\n } else {\n await dispatch(fetchMitigationsRecheck({ id }));\n }\n };\n\n return (\n
\n
\n \n \n
\n\n {isRecheckWatch === \"0\" && (\n
\n setIsFileLoading(false)}\n onFileProgress={() => setIsFileLoading(true)}\n onAfterFileSuccess={onFileUploadSuccess}\n onAfterFileError={() => {\n setIsFileLoading(false);\n }}\n control={control}\n />\n
\n )}\n\n \n \n );\n};\n\n// eslint-disable-next-line\nexport const MitigationsBody = ({ orderDetails }) => {\n const isCurrentStatusMitigations = useSelector(\n getIsCurrentStatusMitigationsNeeded\n );\n\n const lastMitigationsItem = useSelector(getLastMitigationsNeededItem);\n\n return (\n
\n
\n
\n \n
\n
\n
\n
Outstanding items
\n
\n {lastMitigationsItem ? (\n \n ) : (\n
\n Download your current report with the identified\n vulnerabilities and misconfigurations, as well as mitigation\n strategies\n
\n )}\n
\n
\n {isCurrentStatusMitigations &&\n !lastMitigationsItem.is_application_recheck_sended && (\n
\n \n
\n )}\n
\n
\n
\n );\n};\n\nMitigationsBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","import PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport purify from \"dompurify\";\nimport {\n AssessmentSuccessIcon,\n CheckCircleDisabledIcon,\n CheckCircleSuccessIcon,\n CrossRedIcon\n} from \"@/icons\";\nimport React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getAssessmentCompletedDetails,\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully\n} from \"@/store/order/order.reducer\";\n\nexport const AssessmentCompletedPanelHeader = ({ active }) => {\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isAssessmentSuccessful = useSelector(getIsOrderFinalizedSuccessfully);\n\n const orderIcon = useMemo(() => {\n if (isAssessmentUnsuccessful) {\n return ;\n }\n\n if (isAssessmentSuccessful) {\n return ;\n }\n\n return ;\n }, [isAssessmentSuccessful, isAssessmentUnsuccessful]);\n\n return (\n \n );\n};\n\nAssessmentCompletedPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\nexport const AssessmentCompletedPanelBody = () => {\n const assessmentCompletedDetails = useSelector(getAssessmentCompletedDetails);\n\n return (\n
\n
\n
\n \n
\n
\n
Completion details
\n {assessmentCompletedDetails && (\n
\n \n
\n )}\n
\n
\n
\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport PanelHeader from \"@/components/ProjectProgress/components/PanelHeader\";\nimport { CheckCircleSuccessIcon, CircleWarningIcon } from \"@/icons\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\nimport { ContactTypes, routes } from \"@/constants\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsDeveloperInfoFilled,\n getIsOrderPaidOrVerified\n} from \"@/store/order/order.reducer\";\nimport OptionalTextField from \"@/components/ProjectProgress/components/OptionalTextField\";\n\nexport const DeveloperInfoPanelHeader = ({ active }) => {\n const { id } = useParams();\n const isPaidOrVerified = useSelector(getIsOrderPaidOrVerified);\n const isDevInfoFilled = useSelector(getIsDeveloperInfoFilled);\n const navigate = useNavigate();\n const onInfoDeveloperClick = () => {\n navigate(\n generatePath(routes.ORDER_BY_ID, {\n id\n })\n );\n };\n\n return (\n : \n }\n active={active}\n hasButton={!isPaidOrVerified}\n buttonText=\"Update\"\n onClick={onInfoDeveloperClick}\n />\n );\n};\n\nDeveloperInfoPanelHeader.propTypes = {\n active: PropTypes.bool.isRequired\n};\n\nexport const DeveloperInfoPanelBody = ({ orderDetails }) => (\n
\n
\n
General information
\n
\n Developer name\n \n
\n {orderDetails.organization_name && (\n
\n Company name\n \n
\n )}\n
\n
\n
\n {orderDetails.contact_type === ContactTypes.ORGANIZATION\n ? \"Organization address\"\n : \"Address\"}\n
\n
\n {/* s */}\n \n
\n
\n
\n
Contacts
\n
\n Contact name\n \n
\n
\n Contact title\n \n
\n
\n Contact e-mail address\n \n
\n
\n Contact phone number\n \n
\n
\n
\n);\n\nDeveloperInfoPanelBody.propTypes = {\n orderDetails: PropTypes.object.isRequired\n};\n","/* eslint-disable import/extensions */\nimport React, { useEffect, useState } from \"react\";\nimport \"./ProjectProgress.scss\";\nimport { useParams } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getOrderDetailsById } from \"@/store/order/order.actions\";\nimport {\n getAssessmentCompletedDetails,\n getMoreOrderInfoText,\n getOrderDetails\n} from \"@/store/order/order.reducer\";\nimport Collapse, { Panel } from \"rc-collapse\";\nimport motion from \"@/utils/motionUtil.js\";\nimport \"rc-collapse/assets/index.css\";\nimport {\n AdditionalInfoPanelHeader,\n AdditionalInfoPanelBody\n} from \"@/components/ProjectProgress/components/AdditionalInfoPanel\";\nimport {\n ApplicationInfoPanelHeader,\n ApplicationInfoPanelBody\n} from \"@/components/ProjectProgress/components/ApplicationInfoPanel\";\nimport {\n VerificationPanelHeader,\n VerificationPanelBody\n} from \"@/components/ProjectProgress/components/VerificationPanel\";\nimport {\n PaymentPanelBody,\n PaymentPanelHeader\n} from \"@/components/ProjectProgress/components/PaymentPanel\";\nimport {\n AssessmentPanelBody,\n AssessmentPanelHeader\n} from \"@/components/ProjectProgress/components/AssessmentPanel\";\nimport {\n MitigationsBody,\n MitigationsHeader\n} from \"@/components/ProjectProgress/components/MitigationsPanel\";\nimport {\n AssessmentCompletedPanelBody,\n AssessmentCompletedPanelHeader\n} from \"@/components/ProjectProgress/components/AssessmentCompletedPanel\";\nimport {\n DeveloperInfoPanelBody,\n DeveloperInfoPanelHeader\n} from \"@/components/ProjectProgress/components/DeveloperInfoPanel\";\n\nfunction random() {\n return parseInt((Math.random() * 10).toString(), 10) + 1;\n}\n\nconst ProjectProgress = () => {\n const orderDetails = useSelector(getOrderDetails);\n const moreInfoItem = useSelector(getMoreOrderInfoText);\n const assessmentCompleted = useSelector(getAssessmentCompletedDetails);\n const { id } = useParams();\n const dispatch = useDispatch();\n\n const [state, setState] = useState({\n time: random(),\n accordion: false,\n activeKey: [],\n collapsible: undefined\n });\n\n const onChange = (activeKey) => {\n setState((prev) => ({\n ...prev,\n activeKey\n }));\n };\n\n useEffect(() => {\n if (id) {\n dispatch(getOrderDetailsById(id));\n }\n // eslint-disable-next-line\n }, [id]);\n\n useEffect(() => {\n if (assessmentCompleted) {\n setState((prev) => ({\n ...prev,\n activeKey: [\"7\"]\n }));\n }\n }, [assessmentCompleted]);\n\n if (!orderDetails) {\n return null;\n }\n\n return (\n
\n {orderDetails.package_name && (\n

{orderDetails.package_name}

\n )}\n
\n \n \n }\n headerClass=\"panel-header\">\n \n \n \n }\n headerClass=\"panel-header\">\n \n \n \n }\n headerClass=\"panel-header\">\n \n \n \n }\n headerClass=\"panel-header\">\n \n \n {moreInfoItem && (\n \n }\n headerClass=\"panel-header\">\n \n \n )}\n \n }\n headerClass=\"panel-header\">\n \n \n \n }\n headerClass=\"panel-header\">\n \n \n \n }\n headerClass=\"panel-header\">\n \n \n \n
\n
\n );\n};\n\nexport default ProjectProgress;\n","import ProjectProgress from \"./ProjectProgress\";\n\nexport default ProjectProgress;\n","import React from \"react\";\n// eslint-disable-next-line\nimport Button from \"@/components/Button\";\nimport { TabletDesktop, Mobile } from \"@/components/Responsive\";\nimport PropTypes from \"prop-types\";\n\nconst PanelHeader = ({\n title,\n description,\n icon,\n hasButton = true,\n onClick,\n buttonText,\n children\n}) => {\n return (\n
\n
\n
\n \n
{icon}
\n

{title}

\n
\n
{description}
\n \n {hasButton && (\n
\n \n
\n )}\n
\n
\n {hasButton && (\n
\n \n \n \n
\n )}\n
\n {children && (\n
{children}
\n )}\n
\n );\n};\n\nPanelHeader.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])\n .isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n buttonText: PropTypes.string,\n hasButton: PropTypes.bool,\n children: PropTypes.node\n};\n\nexport default PanelHeader;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch } from \"react-redux\";\nimport { generatePath, useNavigate } from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport PhoneField from \"@/components/PhoneField\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport { CheckCircleSuccessIcon } from \"@/icons\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { routes } from \"@/constants\";\nimport { clearOrderDetails } from \"@/store/order/order.actions\";\nimport { Mobile } from \"@/components/Responsive\";\nimport cn from \"classnames\";\n\nexport const CompanyDetailsNavItem = ({ tabIndex, handleTabNavClick }) => {\n return (\n handleTabNavClick(\"company-details\")}\n type=\"button\">\n \n Company details\n \n );\n};\n\nconst CompanyDetails = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const { control } = useForm();\n const dispatch = useDispatch();\n const navigate = useNavigate();\n\n const {\n id,\n application_name,\n organization_name,\n organization_website,\n address,\n contact_name,\n contact_email,\n contact_phone,\n status: { code },\n previously_worked,\n nylas_google_api\n } = orderDetails;\n\n const onCompanyDetailsClick = async () => {\n await dispatch(clearOrderDetails());\n\n navigate(generatePath(routes.ORDER_CASA_BY_ID, { id }));\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"company-details\" && (\n
\n }\n hasButton={code === OrderStatuses.CREATED && !application_name}\n buttonText=\"Continue\"\n onClick={onCompanyDetailsClick}\n />\n
\n
\n
Company details
\n {organization_name && (\n *\"\n name=\"organization_name\"\n readonlyValue={organization_name}\n />\n )}\n {organization_website && (\n *\"\n name=\"organization_website\"\n readonlyValue={organization_website}\n />\n )}\n {address && (\n *\"\n name=\"address\"\n readonlyValue={address}\n />\n )}\n
\n
\n
Point of contact
\n {contact_name && (\n *\"\n readonlyValue={contact_name}\n name=\"contact_name\"\n />\n )}\n {contact_email && (\n *\"\n readonlyValue={contact_email}\n name=\"contact_email\"\n />\n )}\n {contact_phone && (\n *\"\n />\n )}\n *\"\n readonlyValue={previously_worked ? \"Yes\" : \"No\"}\n name=\"previously_worked\"\n />\n *\"\n readonlyValue={nylas_google_api ? \"Yes\" : \"No\"}\n name=\"nylas_google_api\"\n />\n
\n
\n
\n )}\n \n );\n};\n\nCompanyDetails.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nCompanyDetailsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default CompanyDetails;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate } from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CheckCircleDisabledIcon,\n FileIcon\n} from \"@/icons\";\nimport { Mobile } from \"@/components/Responsive\";\nimport cn from \"classnames\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { routes } from \"@/constants\";\n\nexport const TestingDetailsNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const { application_name } = orderDetails;\n\n return (\n handleTabNavClick(\"testing-details\")}>\n {application_name ? (\n \n ) : (\n \n )}\n Testing details\n \n );\n};\n\nconst TestingDetails = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const navigate = useNavigate();\n const {\n id,\n status: { code },\n tier,\n application_name,\n application_url,\n gcp_project,\n has_login,\n app_login,\n app_password,\n due_date,\n app_filename,\n app_size,\n src_filename,\n src_size,\n number_endpoints,\n number_repositories,\n loc_sloc,\n cyclomatic_complexity,\n halstead_difficulty,\n halstead_length,\n halstead_calculated_length,\n halstead_volume,\n halstead_effort,\n halstead_vocabulary,\n custom_metrics,\n code_churn,\n code_coverage,\n code_dependencies,\n code_reuse,\n maintainability_index,\n your_metrics_code_quality\n } = orderDetails;\n\n const getTierTitle = (tierVal) => {\n switch (tierVal) {\n case \"Tier 2\":\n return \"CASA Tier 2 (Lab Tested - Lab Verified)\";\n case \"Tier 3\":\n return \"CASA Tier 3 (Lab Tested - Lab Verified)\";\n default:\n return \" \";\n }\n };\n\n const renderFileView = (fileName, fileSize) => {\n return (\n
\n
\n \n
\n
\n {fileName && (\n
{fileName}
\n )}\n {fileSize && (\n
{fileSize}
\n )}\n
\n
\n );\n };\n\n const onTestingDetailsClick = () => {\n navigate(generatePath(routes.ORDER_CASA_APPLICATION_INFO, { id }));\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"testing-details\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={code === OrderStatuses.CREATED}\n buttonText=\"Continue\"\n onClick={onTestingDetailsClick}\n />\n
\n
\n
Application details
\n {application_name && (\n *\"\n name=\"application_name\"\n readonlyValue={application_name}\n />\n )}\n {application_url && (\n *\"\n name=\"application_url\"\n readonlyValue={application_url}\n />\n )}\n {gcp_project && (\n \n )}\n {has_login && (\n <>\n
\n Application has login functionality\n
\n {app_login && (\n \n )}\n {app_password && (\n \n )}\n \n )}\n
\n {(tier || due_date || app_filename) && (\n
\n
Assessment details
\n {tier && (\n *\"\n readonlyValue={getTierTitle(tier)}\n name={tier}\n />\n )}\n {due_date && (\n \n )}\n {app_filename && (\n
\n
\n Screenshot of email received from Google regarding\n assessment (due date and assigned tier must be clearly\n visible)\n
\n {renderFileView(app_filename, app_size)}\n
\n )}\n
\n )}\n {src_filename && (\n
\n
Source code details
\n {renderFileView(src_filename, src_size)}\n
\n )}\n {(number_endpoints ||\n number_repositories ||\n loc_sloc ||\n cyclomatic_complexity ||\n halstead_difficulty ||\n halstead_length ||\n halstead_calculated_length ||\n halstead_volume ||\n halstead_effort ||\n halstead_vocabulary ||\n custom_metrics) && (\n
\n
\n Code complexity measurements\n
\n {number_endpoints && (\n \n )}\n {number_repositories && (\n \n )}\n {loc_sloc && (\n \n )}\n {cyclomatic_complexity && (\n \n )}\n {halstead_difficulty && (\n \n )}\n {halstead_length && (\n \n )}\n {halstead_calculated_length && (\n \n )}\n {halstead_volume && (\n \n )}\n {halstead_effort && (\n \n )}\n {halstead_vocabulary && (\n \n )}\n {custom_metrics && (\n \n )}\n
\n )}\n {(code_churn ||\n code_coverage ||\n code_dependencies ||\n code_reuse ||\n maintainability_index ||\n your_metrics_code_quality) && (\n
\n
\n Code quality measurements\n
\n {code_churn && (\n \n )}\n {code_coverage && (\n \n )}\n {code_dependencies && (\n \n )}\n {code_reuse && (\n \n )}\n {maintainability_index && (\n \n )}\n {your_metrics_code_quality && (\n \n )}\n
\n )}\n
\n
\n )}\n \n );\n};\n\nTestingDetails.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nTestingDetailsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default TestingDetails;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useEffect, useState } from \"react\";\nimport purify from \"dompurify\";\nimport PropTypes from \"prop-types\";\nimport {\n generatePath,\n useParams,\n createSearchParams,\n useNavigate\n} from \"react-router-dom\";\nimport Button from \"@/components/Button\";\nimport { routes } from \"@/constants\";\nimport cn from \"classnames\";\nimport \"./PaymentChooser.scss\";\n\nconst PaymentChooser = ({ orderDetails, products }) => {\n const { id } = useParams();\n const navigate = useNavigate();\n const [selectedPlan, setSelectedPlan] = useState();\n const recommendedPlan = 1;\n const recommendedPlanCasa = orderDetails\n ? orderDetails.plane.filter(\n (plan) => plan.product.name.toLowerCase() === \"standard\"\n )\n : null;\n const [sortedPlans, setSortedPlans] = useState();\n\n useEffect(() => {\n if (orderDetails) {\n setSortedPlans(\n orderDetails.plane.slice().sort((a, b) => {\n return b.price - a.price;\n })\n );\n\n if (recommendedPlanCasa && recommendedPlanCasa.length) {\n setSelectedPlan(recommendedPlanCasa[0].product_id);\n }\n if (orderDetails.plane.length === 1) {\n setSelectedPlan(orderDetails.plane[0].product_id);\n }\n }\n\n if (products) {\n if (products[recommendedPlan]) {\n setSelectedPlan(products[recommendedPlan].id);\n }\n if (products.length === 1) {\n setSelectedPlan(products[0].id);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleContinue = () => {\n const path = generatePath(\n orderDetails ? routes.ORDER_CASA_AGREEMENT : routes.ORDER_PAYMENT,\n { id }\n );\n const params = `?${createSearchParams({ product_id: selectedPlan })}`;\n\n navigate({\n pathname: path,\n search: params\n });\n };\n\n const handleChoosePlan = (planId) => {\n setSelectedPlan(planId);\n };\n\n return (\n
\n {/* CASA */}\n {orderDetails && sortedPlans && (\n \n {sortedPlans.map((item) => (\n
\n handleChoosePlan(item.product_id)}>\n {recommendedPlanCasa[0] &&\n recommendedPlanCasa[0].product.name === item.product.name && (\n
\n Recommended for you\n
\n )}\n
\n {item.product.name}\n
\n {item.product.description && (\n
    \n {[item.product.description].map((option) => (\n \n ))}\n
\n )}\n
\n
\n ${item.price / 100}\n
\n \n
\n
\n
\n ))}\n \n )}\n\n {/* MASA */}\n {products && (\n \n {products.map((item, index) => (\n \n handleChoosePlan(item.id)}>\n {recommendedPlan === index && (\n
\n Recommended for you\n
\n )}\n
{item.name}
\n {item.description && (\n
    \n {item.description.map((option) => (\n \n ))}\n
\n )}\n
\n
\n ${item.amount / 100}\n
\n \n
\n \n \n ))}\n \n )}\n \n );\n};\n\nPaymentChooser.propTypes = {\n orderDetails: PropTypes.object,\n products: PropTypes.array\n};\n\nexport default PaymentChooser;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport PaymentChooser from \"@/components/ProjectDetails/components/PaymentChooser\";\nimport { Mobile } from \"@/components/Responsive\";\n\nexport const PricingOptionsNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const {\n payed_at,\n plane,\n status: { code }\n } = orderDetails;\n\n return (\n handleTabNavClick(\"pricing-options\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n code === OrderStatuses.CONFIRMING_PURCHASE_ORDER && !payed_at ? (\n \n ) : payed_at ? (\n \n ) : (\n \n )\n }\n Pricing options\n \n );\n};\n\nconst PricingOptions = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const {\n status: { code },\n payed_at,\n plane\n } = orderDetails;\n\n return (\n <>\n \n \n \n {tabIndex === \"pricing-options\" && (\n
\n {code === OrderStatuses.CONFIRMING_PURCHASE_ORDER ||\n code === OrderStatuses.PURCHASE_ORDER_CONFIRMED ? (\n \n ) : code === OrderStatuses.CONFIRMING_PURCHASE_ORDER ? (\n \n ) : (\n \n )\n }\n hasButton={false}\n />\n ) : (\n <>\n \n ) : code === OrderStatuses.INVOICE_PROCESSING ? (\n \n ) : (\n \n )\n }\n hasButton={false}\n />\n {plane && plane.length !== 0 && !payed_at && (\n
\n \n
\n )}\n \n )}\n
\n )}\n \n );\n};\n\nPricingOptions.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nPricingOptionsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default PricingOptions;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsAssessmentInProgress,\n getIsAssessmentSuccessful\n} from \"@/store/order/order.reducer\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { Mobile } from \"@/components/Responsive\";\nimport AnimationImage from \"@/components/AnimationImage\";\n\nexport const AssessmentNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const isAssessmentInProgress = useSelector(getIsAssessmentInProgress);\n const isAssessmentSuccessful = useSelector(getIsAssessmentSuccessful);\n const {\n status: { code }\n } = orderDetails;\n const scheduled = code === OrderStatuses.SCHEDULED;\n\n return (\n handleTabNavClick(\"assessment\")}>\n {code === OrderStatuses.ASSESSMENT_IN_PROGRESS || scheduled ? (\n \n ) : (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>\n {isAssessmentSuccessful ? (\n \n ) : (\n \n )}\n \n )}\n Assessment\n \n );\n};\n\nconst Assessment = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const {\n status: { code }\n } = orderDetails;\n\n return (\n <>\n \n \n \n {tabIndex === \"assessment\" && (\n
\n {\n // eslint-disable-next-line no-nested-ternary\n code === OrderStatuses.ASSESSMENT_IN_PROGRESS ? (\n <>\n }\n hasButton={false}\n />\n
\n
\n
\n \n
\n
\n
\n What will the assessment include?\n
\n
\n The CASA focuses on safeguarding data, ensuring robust\n authentication mechanisms, implementing secure\n cryptography practices, and maintaining a secure\n application architecture and design. The assessment\n critically evaluates the protection of sensitive data,\n secure coding practices, and the effective management of\n sessions and access controls.\n
\n
\n
\n
\n \n ) : code === OrderStatuses.SCHEDULED ? (\n <>\n }\n hasButton={false}\n />\n
\n
\n
\n \n
\n
\n
\n What will the assessment include?\n
\n
\n The CASA focuses on safeguarding data, ensuring robust\n authentication mechanisms, implementing secure\n cryptography practices, and maintaining a secure\n application architecture and design. The assessment\n critically evaluates the protection of sensitive data,\n secure coding practices, and the effective management of\n sessions and access controls.\n
\n
\n
\n
\n \n ) : (\n }\n hasButton={false}\n />\n )\n }\n
\n )}\n \n );\n};\n\nAssessment.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nAssessmentNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default Assessment;\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n getIsMitigationsNeeded,\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully,\n getIsVerifyingMitigations\n} from \"@/store/order/order.reducer\";\nimport {\n OrderActions,\n postReadyForRevalidationCasa\n} from \"@/store/order/order.actions\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport Button from \"@/components/Button\";\nimport ServicePopup from \"@/components/ServicePopup\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { Mobile } from \"@/components/Responsive\";\n\nexport const RemediationNavItem = ({ tabIndex, handleTabNavClick }) => {\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isVerifyingMitigations = useSelector(getIsVerifyingMitigations);\n\n return (\n handleTabNavClick(\"remediation\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n isAssessmentSuccessfulFinalized || isAssessmentUnsuccessful ? (\n \n ) : // eslint-disable-next-line no-nested-ternary\n isMitigationsNeeded ? (\n \n ) : isVerifyingMitigations ? (\n \n ) : (\n \n )\n }\n Remediation\n \n );\n};\n\nconst Remediation = ({\n orderDetails,\n downloadReport,\n tabIndex,\n handleTabNavClick,\n isLoading\n}) => {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n const { id } = orderDetails;\n const [showRevalidationModal, setShowRevalidationModal] = useState(false);\n const [isLoadingRevalidation, setIsLoadingRevalidation] = useState(false);\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isVerifyingMitigations = useSelector(getIsVerifyingMitigations);\n\n const openRevalidationModal = () => {\n setShowRevalidationModal(true);\n };\n\n const closeRevalidationModal = () => {\n setShowRevalidationModal(false);\n };\n\n const handleReadyForRevalidation = async () => {\n setIsLoadingRevalidation(true);\n await dispatch(postReadyForRevalidationCasa(id));\n\n setIsLoadingRevalidation(false);\n navigate(0);\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"remediation\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={false}>\n <>\n \n \n \n \n {showRevalidationModal && (\n \n )}\n
\n )}\n \n );\n};\n\nRemediation.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n downloadReport: PropTypes.func,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n isLoading: PropTypes.bool\n};\n\nRemediationNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default Remediation;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully\n} from \"@/store/order/order.reducer\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport Button from \"@/components/Button\";\nimport {\n CheckCircleSuccessIcon,\n CrossRedIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { Mobile } from \"@/components/Responsive\";\n\nexport const ResultsNavItem = ({ tabIndex, handleTabNavClick }) => {\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n\n return (\n handleTabNavClick(\"results\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n isAssessmentSuccessfulFinalized ? (\n \n ) : isAssessmentUnsuccessful ? (\n \n ) : (\n \n )\n }\n Results\n \n );\n};\n\nconst Results = ({\n downloadReport,\n tabIndex,\n handleTabNavClick,\n isLoading,\n isLoadingReportAdd\n}) => {\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n\n return (\n <>\n \n \n \n {tabIndex === \"results\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={false}>\n <>\n {isAssessmentSuccessfulFinalized?.report && (\n \n )}\n {isAssessmentSuccessfulFinalized?.report_additional && (\n \n )}\n {isAssessmentUnsuccessful && (\n \n )}\n \n \n
\n )}\n \n );\n};\n\nResults.propTypes = {\n downloadReport: PropTypes.func,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n isLoading: PropTypes.bool,\n isLoadingReportAdd: PropTypes.bool\n};\n\nResultsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default Results;\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { TrashInvertedIcon } from \"@/icons\";\nimport { routes } from \"@/constants\";\nimport {\n OrderActions,\n postRemoveProjectCasa\n} from \"@/store/order/order.actions\";\nimport {\n getIsMitigationsNeeded,\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully\n} from \"@/store/order/order.reducer\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport ServicePopup from \"@/components/ServicePopup\";\nimport ThirdPartyService from \"@/services/ThirdPartyService\";\nimport { TabletMd, TabletDesktop, Mobile } from \"@/components/Responsive\";\nimport { useMediaQuery } from \"react-responsive\";\nimport CompanyDetails, { CompanyDetailsNavItem } from \"./CompanyDetails\";\nimport TestingDetails, { TestingDetailsNavItem } from \"./TestingDetails\";\nimport PricingOptions, { PricingOptionsNavItem } from \"./PricingOptions\";\nimport Assessment, { AssessmentNavItem } from \"./Assessment\";\nimport Remediation, { RemediationNavItem } from \"./Remediation\";\nimport Results, { ResultsNavItem } from \"./Results\";\n\nconst ProjectDetailsCasa = ({ orderDetails, infoWidget }) => {\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const [tabIndex, setTabIndex] = useState();\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingReportAdd, setIsLoadingReportAdd] = useState(false);\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\n\n const {\n id,\n application_name,\n status: { code },\n payed_at\n } = orderDetails;\n const assessmentState =\n code === OrderStatuses.SCHEDULED ||\n code === OrderStatuses.ASSESSMENT_IN_PROGRESS;\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isPricingOptions =\n code === OrderStatuses.AWAITING_PAYMENT ||\n code === OrderStatuses.CONFIRMING_PURCHASE_ORDER ||\n code === OrderStatuses.QUOTE_READY ||\n payed_at;\n\n useEffect(() => {\n if (!isMobile && !tabIndex) {\n setTabIndex(\"company-details\");\n\n if (application_name) {\n setTabIndex(\"testing-details\");\n }\n if (isPricingOptions) {\n setTabIndex(\"pricing-options\");\n }\n if (assessmentState) {\n setTabIndex(\"assessment\");\n }\n if (isMitigationsNeeded) {\n setTabIndex(\"remediation\");\n }\n if (isAssessmentSuccessfulFinalized || isAssessmentUnsuccessful) {\n setTabIndex(\"results\");\n }\n }\n }, [\n isMobile,\n tabIndex,\n application_name,\n isPricingOptions,\n assessmentState,\n isMitigationsNeeded,\n isAssessmentSuccessfulFinalized,\n isAssessmentUnsuccessful\n ]);\n\n const openDeleteModal = () => {\n setShowDeleteModal(true);\n };\n\n const closeDeleteModal = () => {\n setShowDeleteModal(false);\n };\n\n const handleDeleteProject = async () => {\n await dispatch(postRemoveProjectCasa(id));\n\n closeDeleteModal();\n navigate(routes.ROOT);\n window.location.reload();\n };\n\n const downloadReport = (_report, additional) => async (event) => {\n event.stopPropagation();\n if (additional) {\n setIsLoadingReportAdd(true);\n } else {\n setIsLoading(true);\n }\n try {\n await ThirdPartyService.downloadFile({\n url: _report.api_url,\n filename: _report.file_name,\n contentType: _report.content_type\n });\n\n if (additional) {\n setIsLoadingReportAdd(false);\n } else {\n setIsLoading(false);\n }\n } catch (e) {\n if (additional) {\n setIsLoadingReportAdd(false);\n } else {\n setIsLoading(false);\n }\n }\n };\n\n const handleTabNavClick = (index) => {\n if (tabIndex === index && isMobile) {\n setTabIndex(\"\");\n } else {\n setTabIndex(index);\n }\n };\n\n const renderDeleteProject = () => {\n return (\n (code === OrderStatuses.CREATED || code === OrderStatuses.SCOPING) && (\n \n \n Delete project\n \n )\n );\n };\n\n return (\n
\n \n
\n
\n \n \n \n \n \n \n
\n {renderDeleteProject()}\n
\n
\n
\n \n\n \n\n \n\n \n\n \n\n \n\n {renderDeleteProject()}\n\n {infoWidget && (\n \n
{infoWidget}
\n
\n )}\n
\n {showDeleteModal && (\n \n )}\n
\n );\n};\n\nProjectDetailsCasa.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n infoWidget: PropTypes.node\n};\n\nexport default ProjectDetailsCasa;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { generatePath, useNavigate } from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport PhoneField from \"@/components/PhoneField\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport { CheckCircleSuccessIcon, CircleWarningIcon } from \"@/icons\";\nimport { routes } from \"@/constants\";\nimport { getIsDeveloperInfoFilled } from \"@/store/order/order.reducer\";\nimport { clearOrderDetails } from \"@/store/order/order.actions\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { Mobile } from \"@/components/Responsive\";\nimport cn from \"classnames\";\n\nexport const CompanyDetailsNavItem = ({ tabIndex, handleTabNavClick }) => {\n return (\n handleTabNavClick(\"company-details\")}\n type=\"button\">\n \n Company details\n \n );\n};\n\nconst CompanyDetails = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const { control } = useForm();\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const isDevInfoFilled = useSelector(getIsDeveloperInfoFilled);\n\n const {\n id,\n organization_name,\n developer_name,\n address,\n contact_name,\n contact_title,\n contact_email,\n contact_phone,\n status: { code }\n } = orderDetails;\n\n const onCompanyDetailsClick = async () => {\n await dispatch(clearOrderDetails());\n\n navigate(\n generatePath(routes.ORDER_BY_ID, {\n id\n })\n );\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"company-details\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={\n code === OrderStatuses.CREATED ||\n code === OrderStatuses.PENDING_EMAIL_VERIFICATION\n }\n buttonText=\"Update\"\n onClick={onCompanyDetailsClick}\n />\n
\n
\n
Company details
\n {developer_name && (\n *\"\n name=\"developer_name\"\n readonlyValue={developer_name}\n />\n )}\n {organization_name && (\n *\"\n name=\"organization_name\"\n readonlyValue={organization_name}\n />\n )}\n {address && (\n *\"\n name=\"address\"\n readonlyValue={address}\n />\n )}\n
\n
\n
Point of contact
\n {contact_name && (\n *\"\n name=\"contact_name\"\n readonlyValue={contact_name}\n />\n )}\n {contact_title && (\n *\"\n name=\"contact_title\"\n readonlyValue={contact_title}\n />\n )}\n {contact_email && (\n *\"\n name=\"contact_email\"\n readonlyValue={contact_email}\n />\n )}\n {contact_phone && (\n *\"\n />\n )}\n
\n
\n
\n )}\n \n );\n};\n\nCompanyDetails.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nCompanyDetailsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default CompanyDetails;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { generatePath, useNavigate } from \"react-router-dom\";\nimport InputField from \"@/components/InputField\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CheckCircleDisabledIcon,\n CircleWarningIcon\n} from \"@/icons\";\nimport apkFileIcon from \"@/assets/images/apk-file-icon.png\";\nimport { routes } from \"@/constants\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { Mobile } from \"@/components/Responsive\";\nimport cn from \"classnames\";\n\nexport const TestingDetailsNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const { application_name } = orderDetails;\n\n return (\n handleTabNavClick(\"testing-details\")}>\n {application_name ? (\n \n ) : (\n \n )}\n Testing details\n \n );\n};\n\nconst TestingDetails = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const navigate = useNavigate();\n\n const {\n id,\n application_name,\n package_name,\n has_login,\n app_login_decrypted,\n app_password_decrypted,\n app_filename,\n app_size,\n status: { code }\n } = orderDetails;\n\n const onTestingDetailsClick = () => {\n navigate(generatePath(routes.ORDER_APPLICATION_INFO, { id }));\n };\n\n const renderFileView = (fileName, fileSize) => {\n return (\n
\n
\n \n
\n
\n {fileName && (\n
{fileName}
\n )}\n {fileSize && (\n
{fileSize}
\n )}\n
\n
\n );\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"testing-details\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={\n code === OrderStatuses.CREATED ||\n code === OrderStatuses.PENDING_EMAIL_VERIFICATION\n }\n buttonText=\"Update\"\n onClick={onTestingDetailsClick}\n />\n
\n
\n
Application details
\n {package_name && (\n *\"\n name=\"package_name\"\n readonlyValue={package_name}\n />\n )}\n {application_name && (\n *\"\n name=\"application_name\"\n readonlyValue={application_name}\n />\n )}\n
\n {has_login && (\n
\n
Login Credentials
\n {app_login_decrypted && (\n *\"\n name=\"app_login_decrypted\"\n readonlyValue={app_login_decrypted}\n />\n )}\n {app_password_decrypted && (\n *\"\n name=\"app_password_decrypted\"\n readonlyValue={app_password_decrypted}\n hasPasswordShow\n />\n )}\n
\n )}\n {app_filename && (\n
\n
APK file
\n
\n {renderFileView(app_filename, app_size)}\n
\n
\n )}\n
\n
\n )}\n \n );\n};\n\nTestingDetails.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nTestingDetailsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default TestingDetails;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getOrderProducts } from \"@/store/order/order.reducer\";\nimport { fetchOrderProducts } from \"@/store/order/order.actions\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport PaymentChooser from \"@/components/ProjectDetails/components/PaymentChooser\";\nimport { Mobile } from \"@/components/Responsive\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\n\nexport const PricingOptionsNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const {\n payed_at,\n status: { code },\n order_email\n } = orderDetails;\n\n return (\n handleTabNavClick(\"pricing-options\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n code === OrderStatuses.INVOICE_PROCESSING && !payed_at ? (\n \n ) : payed_at || order_email ? (\n \n ) : (\n \n )\n }\n Pricing options\n \n );\n};\n\nconst PricingOptions = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const {\n status: { code },\n payed_at\n } = orderDetails;\n const orderProducts = useSelector(getOrderProducts);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(fetchOrderProducts());\n // eslint-disable-next-line\n }, []);\n\n return (\n <>\n \n \n \n {tabIndex === \"pricing-options\" && (\n
\n {code === OrderStatuses.INVOICE_PROCESSING ||\n code === OrderStatuses.INVOICE_DETAILS_CONFIRMED ? (\n \n ) : (\n \n )\n }\n hasButton={false}\n />\n ) : (\n <>\n \n ) : (\n \n )\n }\n hasButton={false}\n />\n {code !== OrderStatuses.INVOICE_PROCESSING && !payed_at && (\n
\n {orderProducts.length ? (\n \n ) : (\n \n )}\n
\n )}\n \n )}\n
\n )}\n \n );\n};\n\nPricingOptions.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nPricingOptionsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default PricingOptions;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsAssessmentInProgress,\n getIsAssessmentSuccessful\n} from \"@/store/order/order.reducer\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { Mobile } from \"@/components/Responsive\";\nimport AnimationImage from \"@/components/AnimationImage\";\n\nexport const AssessmentNavItem = ({\n tabIndex,\n handleTabNavClick,\n orderDetails\n}) => {\n const isAssessmentInProgress = useSelector(getIsAssessmentInProgress);\n const isAssessmentSuccessful = useSelector(getIsAssessmentSuccessful);\n const {\n status: { code }\n } = orderDetails;\n const scheduled = code === OrderStatuses.SCHEDULED;\n\n return (\n handleTabNavClick(\"assessment\")}>\n {code === OrderStatuses.ASSESSMENT_IN_PROGRESS || scheduled ? (\n \n ) : (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>\n {isAssessmentSuccessful ? (\n \n ) : (\n \n )}\n \n )}\n Assessment\n \n );\n};\n\nconst Assessment = ({ orderDetails, tabIndex, handleTabNavClick }) => {\n const {\n status: { code }\n } = orderDetails;\n\n return (\n <>\n \n \n \n {tabIndex === \"assessment\" && (\n
\n {\n // eslint-disable-next-line no-nested-ternary\n code === OrderStatuses.ASSESSMENT_IN_PROGRESS ? (\n <>\n }\n hasButton={false}\n />\n
\n
\n
\n \n
\n
\n
\n What will the assessment include?\n
\n
\n The MASA assessment aims to validate a mobile\n application`s security posture in alignment with the\n OWASP MASVS Level 1 standards, focusing on crucial\n security aspects.Through MASA, developers can bolster\n their application`s defenses, enhance consumer\n confidence, and demonstrate a commitment to security and\n data privacy.\n
\n
\n
\n
\n \n ) : code === OrderStatuses.SCHEDULED ? (\n <>\n }\n hasButton={false}\n />\n
\n
\n
\n \n
\n
\n
\n What will the assessment include?\n
\n
\n The MASA assessment aims to validate a mobile\n application`s security posture in alignment with the\n OWASP MASVS Level 1 standards, focusing on crucial\n security aspects.Through MASA, developers can bolster\n their application`s defenses, enhance consumer\n confidence, and demonstrate a commitment to security and\n data privacy.\n
\n
\n
\n
\n \n ) : (\n }\n hasButton={false}\n />\n )\n }\n
\n )}\n \n );\n};\n\nAssessment.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nAssessmentNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n orderDetails: PropTypes.object.isRequired\n};\n\nexport default Assessment;\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n getIsMitigationsNeeded,\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully,\n getIsVerifyingMitigations\n} from \"@/store/order/order.reducer\";\nimport {\n OrderActions,\n postReadyForRevalidation\n} from \"@/store/order/order.actions\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport Button from \"@/components/Button\";\nimport ServicePopup from \"@/components/ServicePopup\";\nimport {\n CheckCircleSuccessIcon,\n CircleProgressIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { Mobile } from \"@/components/Responsive\";\n\nexport const RemediationNavItem = ({ tabIndex, handleTabNavClick }) => {\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isVerifyingMitigations = useSelector(getIsVerifyingMitigations);\n\n return (\n handleTabNavClick(\"remediation\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n isAssessmentSuccessfulFinalized || isAssessmentUnsuccessful ? (\n \n ) : // eslint-disable-next-line no-nested-ternary\n isMitigationsNeeded ? (\n \n ) : isVerifyingMitigations ? (\n \n ) : (\n \n )\n }\n Remediation\n \n );\n};\n\nconst Remediation = ({\n orderDetails,\n downloadReport,\n tabIndex,\n handleTabNavClick,\n isLoading\n}) => {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n const { id } = orderDetails;\n const [showRevalidationModal, setShowRevalidationModal] = useState(false);\n const [isLoadingRevalidation, setIsLoadingRevalidation] = useState(false);\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n const isVerifyingMitigations = useSelector(getIsVerifyingMitigations);\n\n const openRevalidationModal = () => {\n setShowRevalidationModal(true);\n };\n\n const closeRevalidationModal = () => {\n setShowRevalidationModal(false);\n };\n\n const handleReadyForRevalidation = async () => {\n setIsLoadingRevalidation(true);\n await dispatch(postReadyForRevalidation(id));\n\n setIsLoadingRevalidation(false);\n navigate(0);\n };\n\n return (\n <>\n \n \n \n {tabIndex === \"remediation\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={false}>\n <>\n \n \n \n \n {showRevalidationModal && (\n \n )}\n
\n )}\n \n );\n};\n\nRemediation.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n downloadReport: PropTypes.func,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n isLoading: PropTypes.bool\n};\n\nRemediationNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default Remediation;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useSelector } from \"react-redux\";\nimport {\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully\n} from \"@/store/order/order.reducer\";\nimport PanelHeader from \"@/components/ProjectDetails/components/PanelHeader\";\nimport Button from \"@/components/Button\";\nimport {\n CheckCircleSuccessIcon,\n CrossRedIcon,\n CheckCircleDisabledIcon\n} from \"@/icons\";\nimport cn from \"classnames\";\nimport { Mobile } from \"@/components/Responsive\";\n\nexport const ResultsNavItem = ({ tabIndex, handleTabNavClick }) => {\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n\n return (\n handleTabNavClick(\"results\")}>\n {\n // eslint-disable-next-line no-nested-ternary\n isAssessmentSuccessfulFinalized ? (\n \n ) : isAssessmentUnsuccessful ? (\n \n ) : (\n \n )\n }\n Results\n \n );\n};\n\nconst Results = ({\n downloadReport,\n tabIndex,\n handleTabNavClick,\n isLoading,\n isLoadingReportAdd\n}) => {\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n\n return (\n <>\n \n \n \n {tabIndex === \"results\" && (\n
\n \n ) : (\n \n )\n }\n hasButton={false}>\n <>\n {isAssessmentSuccessfulFinalized?.report && (\n \n )}\n {isAssessmentSuccessfulFinalized?.report_additional && (\n \n )}\n {isAssessmentUnsuccessful && (\n \n )}\n \n \n
\n )}\n \n );\n};\n\nResults.propTypes = {\n downloadReport: PropTypes.func,\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func,\n isLoading: PropTypes.bool,\n isLoadingReportAdd: PropTypes.bool\n};\n\nResultsNavItem.propTypes = {\n tabIndex: PropTypes.string,\n handleTabNavClick: PropTypes.func\n};\n\nexport default Results;\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n OrderActions,\n postRemoveProjectMasa\n} from \"@/store/order/order.actions\";\nimport {\n getIsMitigationsNeeded,\n getIsOrderFinalizedSuccessfully,\n getIsOrderFinalizedUnsuccessfully\n} from \"@/store/order/order.reducer\";\nimport { routes } from \"@/constants\";\nimport { TrashInvertedIcon } from \"@/icons\";\nimport \"rc-collapse/assets/index.css\";\nimport ServicePopup from \"@/components/ServicePopup\";\nimport ThirdPartyService from \"@/services/ThirdPartyService\";\nimport { OrderStatuses } from \"@/constants/orderStatuses\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { TabletMd, TabletDesktop, Mobile } from \"@/components/Responsive\";\nimport CompanyDetails, { CompanyDetailsNavItem } from \"./CompanyDetails\";\nimport TestingDetails, { TestingDetailsNavItem } from \"./TestingDetails\";\nimport PricingOptions, { PricingOptionsNavItem } from \"./PricingOptions\";\nimport Assessment, { AssessmentNavItem } from \"./Assessment\";\nimport Remediation, { RemediationNavItem } from \"./Remediation\";\nimport Results, { ResultsNavItem } from \"./Results\";\n\nconst ProjectDetailsMasa = ({ orderDetails, infoWidget }) => {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n const [tabIndex, setTabIndex] = useState();\n const [showDeleteModal, setShowDeleteModal] = useState(false);\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\n const isMitigationsNeeded = useSelector(getIsMitigationsNeeded);\n const [isLoading, setIsLoading] = useState(false);\n const [isLoadingReportAdd, setIsLoadingReportAdd] = useState(false);\n const isAssessmentSuccessfulFinalized = useSelector(\n getIsOrderFinalizedSuccessfully\n );\n const isAssessmentUnsuccessful = useSelector(\n getIsOrderFinalizedUnsuccessfully\n );\n\n const {\n id,\n application_name,\n status: { code },\n payed_at\n } = orderDetails;\n const assessmentState =\n code === OrderStatuses.SCHEDULED ||\n code === OrderStatuses.ASSESSMENT_IN_PROGRESS;\n const isPricingOptions =\n code === OrderStatuses.AWAITING_PAYMENT ||\n code === OrderStatuses.INVOICE_PROCESSING ||\n payed_at;\n\n useEffect(() => {\n if (!isMobile && !tabIndex) {\n setTabIndex(\"company-details\");\n if (application_name) {\n setTabIndex(\"testing-details\");\n }\n if (isPricingOptions) {\n setTabIndex(\"pricing-options\");\n }\n if (assessmentState) {\n setTabIndex(\"assessment\");\n }\n if (isMitigationsNeeded) {\n setTabIndex(\"remediation\");\n }\n if (isAssessmentSuccessfulFinalized || isAssessmentUnsuccessful) {\n setTabIndex(\"results\");\n }\n }\n }, [\n isMobile,\n tabIndex,\n application_name,\n isPricingOptions,\n assessmentState,\n isMitigationsNeeded,\n isAssessmentSuccessfulFinalized,\n isAssessmentUnsuccessful\n ]);\n\n const openDeleteModal = () => {\n setShowDeleteModal(true);\n };\n\n const closeDeleteModal = () => {\n setShowDeleteModal(false);\n };\n\n const handleDeleteProject = async () => {\n await dispatch(postRemoveProjectMasa(id));\n\n closeDeleteModal();\n navigate(routes.ROOT);\n window.location.reload();\n };\n\n const handleTabNavClick = (index) => {\n if (tabIndex === index && isMobile) {\n setTabIndex(\"\");\n } else {\n setTabIndex(index);\n }\n };\n\n const downloadReport = (_report, additional) => async (event) => {\n event.stopPropagation();\n if (additional) {\n setIsLoadingReportAdd(true);\n } else {\n setIsLoading(true);\n }\n try {\n await ThirdPartyService.downloadFile({\n url: _report.api_url,\n filename: _report.file_name,\n contentType: _report.content_type\n });\n\n if (additional) {\n setIsLoadingReportAdd(false);\n } else {\n setIsLoading(false);\n }\n } catch (e) {\n if (additional) {\n setIsLoadingReportAdd(false);\n } else {\n setIsLoading(false);\n }\n }\n };\n\n const renderDeleteProject = () => {\n return (\n (code === OrderStatuses.CREATED ||\n code === OrderStatuses.PENDING_EMAIL_VERIFICATION) && (\n \n \n Delete project\n \n )\n );\n };\n\n return (\n
\n \n
\n
\n \n \n \n \n \n \n
\n {renderDeleteProject()}\n
\n
\n
\n \n \n \n \n\n \n\n \n\n {renderDeleteProject()}\n\n {infoWidget && (\n \n
{infoWidget}
\n
\n )}\n
\n {showDeleteModal && (\n \n )}\n
\n );\n};\n\nProjectDetailsMasa.propTypes = {\n orderDetails: PropTypes.object.isRequired,\n infoWidget: PropTypes.node\n};\n\nexport default ProjectDetailsMasa;\n","// extracted by mini-css-extract-plugin\nexport default {};","import React, { useEffect, useState } from \"react\";\nimport purify from \"dompurify\";\nimport { useParams, useNavigate } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { routes } from \"@/constants\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport {\n OrderActions,\n getOrderCasaDetailsById,\n getOrderDetailsById\n} from \"@/store/order/order.actions\";\nimport CircleSpinner from \"@/components/CircleSpinner\";\nimport InfoImage from \"@/assets/images/info.gif\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport ProjectDetailsCasa from \"@/components/ProjectDetails/components/ProjectDetailsCasa\";\nimport ProjectDetailsMasa from \"@/components/ProjectDetails/components/ProjectDetailsMasa\";\nimport cn from \"classnames\";\nimport { ClassNameByStatus } from \"@/constants/orderStatuses\";\nimport { Lg } from \"@/components/Responsive\";\nimport \"./ProjectDetails.scss\";\n\nconst ProjectDetails = () => {\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const { id } = useParams();\n const orderDetails = useSelector(getOrderDetails);\n const [projectName, setProjectName] = useState();\n const [title, setTitle] = useState(\"-\");\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.GET_ORDER_DETAILS_BY_ID)\n );\n\n useEffect(() => {\n (async () => {\n try {\n const casaDetails = await dispatch(getOrderCasaDetailsById(id));\n\n if (!casaDetails) {\n dispatch(getOrderDetailsById(id));\n }\n } catch (err) {\n navigate(routes.ROOT);\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (orderDetails && orderDetails.service_name === \"casa\") {\n setProjectName(\"casa\");\n setTitle(\n orderDetails.application_name ||\n `${orderDetails.organization_name}’s application`\n );\n }\n if (orderDetails && orderDetails.service_name === \"masa\") {\n setProjectName(\"masa\");\n setTitle(\n orderDetails.package_name ||\n `${\n orderDetails.organization_name || orderDetails.developer_name\n }’s application`\n );\n }\n }, [orderDetails]);\n\n if (isLoading) {\n return (\n
\n
\n \n
\n
\n );\n }\n\n if (id && !orderDetails) {\n return null;\n }\n\n const {\n status: { code, name }\n } = orderDetails;\n\n const renderInfoWidget = () => {\n return (\n
\n
\n {projectName === \"casa\" && }\n {projectName === \"masa\" && (\n \n )}\n
\n
\n
\n {projectName === \"casa\" && \"See the full picture\"}\n {projectName === \"masa\" &&\n \"Want a comprehensive assessment of your application?\"}\n
\n
\n {projectName === \"casa\" &&\n \"Gain holistic insights with our comprehensive assessment. Get a discount for a pentest with your CASA validation.\"}\n {projectName === \"masa\" &&\n \"Contact us today and get a discount for a pentest with your CASA verification\"}\n
\n
\n \n Contact us\n \n
\n
\n
\n );\n };\n\n return (\n
\n
\n
\n
\n \n
\n {projectName === \"casa\" &&\n \"Cloud Application Security Assessment\"}\n {projectName === \"masa\" &&\n \"Mobile Application Security Assessment\"}\n
\n
\n
\n {name && (\n \n {name}\n
\n )}\n
\n
\n {projectName === \"casa\" && (\n \n )}\n {projectName === \"masa\" && (\n \n )}\n
\n \n
{renderInfoWidget()}
\n
\n \n );\n};\n\nexport default ProjectDetails;\n","import ProjectDetails from \"./ProjectDetails\";\n\nexport default ProjectDetails;\n","// extracted by mini-css-extract-plugin\nexport default {};","/* eslint-disable react/no-array-index-key */\n/* eslint-disable import/extensions */\nimport React, { useState } from \"react\";\nimport purify from \"dompurify\";\nimport Collapse, { Panel } from \"rc-collapse\";\nimport AnimationImage from \"@/components/AnimationImage\";\nimport GcpProjectNumberImage from \"@/assets/images/faq/GCP_Project_Number.png\";\nimport GcpOAuthRestrictedScopesImage from \"@/assets/images/faq/GCP-OAuth-restricted-scopes.png\";\nimport FixAllCWEImage from \"@/assets/images/faq/fix_all_CWE.png\";\nimport { routes, routeTitles } from \"@/constants\";\nimport motion from \"@/utils/motionUtil.js\";\nimport \"rc-collapse/assets/index.css\";\nimport \"./Faq.scss\";\n\nconst Faq = () => {\n const [comingSoon] = useState(true);\n const list = [\n {\n title: \"Cloud Application Security Assessment\",\n list: [\n {\n title: \"Where can I find the GCP Project number?\",\n text: `

To determine your project's number, do the following:\n
1. Open the Cloud project in Google Cloud.\n
2. At the top-right, click More > Project settings.\n
3. View Project number in the resulting Settings panel. The Project number consists only of digits.

\n \"\"`\n },\n {\n title: \"Where can I find the GCP OAuth restricted scopes?\",\n text: `

Go to your Google Cloud Platform and follow directions below:

\n \"\"`\n },\n {\n title:\n \"What is the purpose of whitelisting Leviathan’s IPs on my Web Application Firewall (WAF)?\",\n text: `

Web Application Firewalls (WAFs) are crucial components in securing online applications. They act as diligent gatekeepers, filtering incoming traffic to ward off malicious attacks. However, while WAFs are proficient in delaying potential breaches, they aren’t invincible fortresses.

\n

It’s essential to understand that even the most robust WAFs can be circumvented with sufficient time and expertise - and in our extensive experience, we have successfully navigated through various WAFs. But this isn't a testament to their inefficiency; rather, it highlights that security is a multi-layered endeavor, where WAFs are one of many lines of defence.

\n

When conducting security assessments, the focus is not solely on testing the fortitude of your firewall but examining the integrity and resilience of the application it protects. This is in line with the requirements laid down by industry giants like Google and auditing standards like SOC, which emphasize the imperative need for a comprehensive security review of the application residing behind the WAF.

\n

To facilitate a smooth, efficient, and thorough assessment process, whitelisting our IPs is necessary. Without whitelisting, our team would indeed engage substantial time and resources to bypass the WAF, inevitably leading to extended timelines and additional costs. Whitelisting allows us to directly evaluate your application’s security, providing you with insightful, valuable feedback without unnecessary delays and expenses.

\n

In a nutshell, whitelisting streamlines the assessment process, ensuring you receive timely, accurate insights into your application’s security posture, while your WAF continues its vital role in your broader security strategy.

`\n },\n {\n title: \"Should CAPTCHA be disabled during the assessment?\",\n text: `

Disabling CAPTCHA is necessary for the duration of the assessment. CAPTCHA functions as a security measure designed to determine whether the user is human. While it is effective in blocking automated bots, it also prevents our assessment tools from efficiently analyzing and testing your application.

\n

Preferably, the assessment should be conducted on a staging environment that mirrors the production environment. This approach allows for a comprehensive and realistic evaluation without directly impacting the live application.

\n

By temporarily turning off CAPTCHA, you ensure a smoother, uninterrupted testing process, allowing our system to thoroughly evaluate your application's security measures. Please remember to reactivate CAPTCHA as soon as the assessment period concludes to maintain your site's protection.

`\n },\n {\n title: \"How should I securely store Google data and tokens?\",\n text: `

OAuth tokens and user data from restricted scopes must be encrypted at rest and the keys and key material have to be managed appropriately (e.g., stored in a hardware security module or equivalent-strength key management system).

\n

\n 1. Encryption at rest:
\n Google access, refresh tokens and user data obtained via Restricted scopes APIs must be encrypted before being stored in the database. Database encryption does not meet this requirement.\n

\n

\n 2. Up-to-date ciphers:
\n Tokens must be encrypted with up-to-date encryption algorithm and encryption mode of operation, such as AES-256-GCM, before being written to a database or other storage.\n

\n

\n 3. Key management:
\n The encryption key must be stored in the HSM. Cloud providers offer easy-to-use HSM-enabled services: AWS KMS, AWS Secrets Manager, AWS Parameter Store, AWS CloudHSM, GCP Cloud HSM, Azure HSM. On-premise solutions should go with YubiHSM 2 or other dedicated hardware.\n

`\n },\n {\n title: \"How to comply with CASA requirements?\",\n text: `

To obtain a Letter of Validation, it's imperative to address and resolve all findings identified during the assessment, irrespective of their Common Weakness Enumeration (CWE) ratings and severity levels — this includes high, medium, low, and informational findings, as per App Defense Alliance's most recent stipulations.

\n

For more details, refer to this link.

\n \"\"`\n },\n {\n title: \"How much time do I have for remediation?\",\n text: \"

In addition to the deadline for certification from Google, we need to be sure that no significant changes have been made to the application. Therefore, we generally allow up to 2 months after initial testing to provide fixes for our verification.

\"\n },\n {\n title:\n \"How long does the Letter of Validation (LOV) take to generate?\",\n text: \"

It takes around 2 days to prepare a Letter of Validation and submit it to Google.

\"\n },\n {\n title:\n \"How long does it take for Google to process the submission of Letter of Validation (LOV)?\",\n text: `It usually takes up to 3 days for Google to process the request. Developers should expect a \"Request Granted\" confirmation from Google in the GCP Console and via CASA-related email.`\n }\n ]\n },\n {\n title: \"Cloud Application Security Assessment Tier 2\",\n list: [\n {\n title: \"Which source code directories need to be scanned?\",\n text: `

All repositories associated with the target application must be scanned for compliance with CASA requirements; even those that do not contain code that handles Google API restricted scopes.

\n

Please follow this link to review the application scanning guide.

`\n },\n {\n title:\n \"Is it possible to conduct the assessment without granting access to source code?\",\n text: `

Yes. In this case, you will need to perform a SAST scan yourself (FluidAttacks / semgrep) and provide reports for our review.

\n

FluidAttacks

\n

Instructions on how to run FluidAttacks against your application code can be found on the official CASA page: https://appdefensealliance.dev/casa/tier-2/ast-guide/static-scan (skip step 5 if you are running a report on a non Android code)

\n

semgrep

\n

We also approve semgrep scans, which covers all CASA Tier 2 source code checks and may be easier/faster to adjust and run. If you choose to run a semgrep scan, follow the instructions below:

\n
    \n
  • To use semgrep, you can either use docker or install semgrep directly.
  • \n
  • While running semgrep, ensure that the current directory is set to the root directory of the specific project sources.
  • \n
  • The output of the command will be saved to -o argument, in this case “semgrep-results.txt”.
  • \n
\n

\n The docker command looks like the following:\n
\n \n docker run --rm -v \"${PWD}:/src\" returntocorp/semgrep semgrep scan --config auto path/to/src/folder --\n \n

\n

\n Installation:\n
\n \n # For macOS\n brew install semgrep\n \n # For Ubuntu/WSL/Linux/macOS\n python3 -m pip install semgrep\n \n

\n

\n After installation run semgrep executing below command:\n
\n \n semgrep --config auto path/to/src/folder --json -o semgrep-report.json --no-git-ignore\n \n

\n

\n And then upload results to our shared folder.\n
\n (Taken from https://github.com/returntocorp/semgrep)\n

`\n },\n {\n title: \"How to complete a Self-Assessment Questionnaire?\",\n text: `

Based on the application type and valid certifications provided (by you), LSG will create a self-assessment questionnaire with the remaining CASA checks. You need to complete it by checking the requirements in column ‘Verification’ (F).

\n

If some of the CASA requirements are missing and are marked as ‘Not implemented’ (No) in column ‘Verification’ (F), we will add them to our final list of the identified vulnerabilities that you will need to address. Once they have been addressed, you will need to mark them as 'Remedied' in column (I).

\n

Please note that the questionnaire is part of the self-attestation and we do not check your answers using automated scanning or manual testing. Those requirements that are marked as ‘Remedied’ in column (I) will be indicated as resolved based on your statements. However, Google may request a completed questionnaire confirming certain requirements before/during the following year's audit.

`\n }\n ]\n },\n {\n title: \"Cloud Application Security Assessment Tier 3\",\n list: [\n {\n title:\n \"Is it possible to conduct the assessment without granting access to source code?\",\n text: \"

Access to all repositories related to the application in scope are mandatory for CASA Tier 3.

\"\n },\n {\n title:\n \"Our product is a part of a large application with multiple workspaces / extensions / add-ons. What parts of the application are in scope?\",\n text: `

The application, all related code repositories, and all extensions, add-ons and downstream applications - wherever data flows – fall under the scope of CASA Tier 3.

\n

*The exception is a marketplace application, which is a container only and runs on top of the workspace product.

`\n }\n ]\n }\n ];\n\n return (\n
\n
\n {comingSoon && (\n
\n
\n
Frequently Asked Question
\n
\n {list && (\n
\n {list.map((item) => (\n
\n
{item.title}
\n {item.list && (\n \n {item.list.map((listItem, index) => (\n \n \n \n ))}\n \n )}\n
\n ))}\n
\n )}\n
\n )}\n
\n
\n
\n \n
\n
Still have a question?
\n
\n Please, contact us via email \n \n hub@leviathansecurity.com\n \n
\n \n Contact us\n \n
\n
\n
\n
\n );\n};\n\nexport default Faq;\n","import Faq from \"./Faq\";\n\nexport default Faq;\n","import React, { useEffect } from \"react\";\nimport { Routes, Route, Navigate } from \"react-router-dom\";\nimport { routes } from \"@/constants\";\nimport ProjectTiles from \"@/components/ProjectTiles\";\nimport ProjectProgress from \"@/components/ProjectProgress\";\nimport ProjectDetails from \"@/components/ProjectDetails\";\nimport Faq from \"@/components/Faq\";\nimport Settings from \"@/components/Settings\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getAllOrders } from \"@/store/order/order.actions\";\nimport { getOrderList } from \"@/store/order/order.reducer\";\n\nconst RootPage = () => {\n const dispatch = useDispatch();\n const orderList = useSelector(getOrderList);\n\n useEffect(() => {\n dispatch(getAllOrders());\n }, [dispatch]);\n\n if (!orderList) {\n return null;\n }\n\n return (\n \n } />\n } />\n } />\n } />\n } />\n\n } />\n \n );\n};\n\nexport default RootPage;\n","import RootPage from \"./RootPage\";\n\nexport default RootPage;\n","/**\n * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { Amplify } from '../Amplify';\n/**\n * Provides a means to registering a service worker in the browser\n * and communicating with it via postMessage events.\n * https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/\n *\n * postMessage events are currently not supported in all browsers. See:\n * https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API\n *\n * At the minmum this class will register the service worker and listen\n * and attempt to dispatch messages on state change and record analytics\n * events based on the service worker lifecycle.\n */\nexport class ServiceWorkerClass {\n\t// The active service worker will be set once it is registered\n\tprivate _serviceWorker: ServiceWorker;\n\n\t// The service worker registration object\n\tprivate _registration: ServiceWorkerRegistration;\n\n\t// The application server public key for Push\n\t// https://web-push-codelab.glitch.me/\n\tprivate _publicKey: string;\n\n\t// push subscription\n\tprivate _subscription: PushSubscription;\n\n\t// The AWS Amplify logger\n\tprivate _logger: Logger = new Logger('ServiceWorker');\n\n\tconstructor() { }\n\n\t/**\n\t * Get the currently active service worker\n\t */\n\tget serviceWorker(): ServiceWorker {\n\t\treturn this._serviceWorker;\n\t}\n\n\t/**\n\t * Register the service-worker.js file in the browser\n\t * Make sure the service-worker.js is part of the build\n\t * for example with Angular, modify the angular-cli.json file\n\t * and add to \"assets\" array \"service-worker.js\"\n\t * @param {string} - (optional) Service worker file. Defaults to \"/service-worker.js\"\n\t * @param {string} - (optional) The service worker scope. Defaults to \"/\"\n\t * - API Doc: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register\n\t * @returns {Promise}\n\t *\t- resolve(ServiceWorkerRegistration)\n\t *\t- reject(Error)\n\t **/\n\tregister(filePath: string = '/service-worker.js', scope: string = '/') {\n\t\tthis._logger.debug(`registering ${filePath}`);\n\t\tthis._logger.debug(`registering service worker with scope ${scope}`);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (navigator && 'serviceWorker' in navigator) {\n\t\t\t\tnavigator.serviceWorker\n\t\t\t\t\t.register(filePath, {\n\t\t\t\t\t\tscope,\n\t\t\t\t\t})\n\t\t\t\t\t.then(registration => {\n\t\t\t\t\t\tif (registration.installing) {\n\t\t\t\t\t\t\tthis._serviceWorker = registration.installing;\n\t\t\t\t\t\t} else if (registration.waiting) {\n\t\t\t\t\t\t\tthis._serviceWorker = registration.waiting;\n\t\t\t\t\t\t} else if (registration.active) {\n\t\t\t\t\t\t\tthis._serviceWorker = registration.active;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._registration = registration;\n\t\t\t\t\t\tthis._setupListeners();\n\t\t\t\t\t\tthis._logger.debug(\n\t\t\t\t\t\t\t`Service Worker Registration Success: ${registration}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn resolve(registration);\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tthis._logger.debug(`Service Worker Registration Failed ${error}`);\n\t\t\t\t\t\treturn reject(error);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn reject(new Error('Service Worker not available'));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Enable web push notifications. If not subscribed, a new subscription will\n\t * be created and registered.\n\t * \tTest Push Server: https://web-push-codelab.glitch.me/\n\t * \tPush Server Libraries: https://github.com/web-push-libs/\n\t * \tAPI Doc: https://developers.google.com/web/fundamentals/codelabs/push-notifications/\n\t * @param publicKey\n\t * @returns {Promise}\n\t * \t- resolve(PushSubscription)\n\t * - reject(Error)\n\t */\n\tenablePush(publicKey: string) {\n\t\tif (!this._registration) throw new Error('Service Worker not registered');\n\t\tthis._publicKey = publicKey;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (browserOrNode().isBrowser) {\n\t\t\t\tthis._registration.pushManager.getSubscription().then(subscription => {\n\t\t\t\t\tif (subscription) {\n\t\t\t\t\t\tthis._subscription = subscription;\n\t\t\t\t\t\tthis._logger.debug(\n\t\t\t\t\t\t\t`User is subscribed to push: ${JSON.stringify(subscription)}`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(subscription);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._logger.debug(`User is NOT subscribed to push`);\n\t\t\t\t\t\treturn this._registration.pushManager\n\t\t\t\t\t\t\t.subscribe({\n\t\t\t\t\t\t\t\tuserVisibleOnly: true,\n\t\t\t\t\t\t\t\tapplicationServerKey: this._urlB64ToUint8Array(publicKey),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then(subscription => {\n\t\t\t\t\t\t\t\tthis._subscription = subscription;\n\t\t\t\t\t\t\t\tthis._logger.debug(\n\t\t\t\t\t\t\t\t\t`User subscribed: ${JSON.stringify(subscription)}`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tresolve(subscription);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\t\t\tthis._logger.error(error);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn reject(new Error('Service Worker not available'));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Convert a base64 encoded string to a Uint8 array for the push server key\n\t * @param base64String\n\t */\n\tprivate _urlB64ToUint8Array(base64String: string) {\n\t\tconst padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n\t\tconst base64 = (base64String + padding)\n\t\t\t.replace(/\\-/g, '+')\n\t\t\t.replace(/_/g, '/');\n\n\t\tconst rawData = window.atob(base64);\n\t\tconst outputArray = new Uint8Array(rawData.length);\n\n\t\tfor (let i = 0; i < rawData.length; ++i) {\n\t\t\toutputArray[i] = rawData.charCodeAt(i);\n\t\t}\n\t\treturn outputArray;\n\t}\n\n\t/**\n\t * Send a message to the service worker. The service worker needs\n\t * to implement `self.addEventListener('message') to handle the\n\t * message. This ***currently*** does not work in Safari or IE.\n\t * @param {object | string} - An arbitrary JSON object or string message to send to the service worker\n\t *\t- see: https://developer.mozilla.org/en-US/docs/Web/API/Transferable\n\t * @returns {Promise}\n\t **/\n\tsend(message: object | string) {\n\t\tif (this._serviceWorker) {\n\t\t\tthis._serviceWorker.postMessage(\n\t\t\t\ttypeof message === 'object' ? JSON.stringify(message) : message\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Listen for service worker state change and message events\n\t * https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state\n\t **/\n\t_setupListeners() {\n\t\tthis._serviceWorker.addEventListener('statechange', event => {\n\t\t\tconst currentState = this._serviceWorker.state;\n\t\t\tthis._logger.debug(`ServiceWorker statechange: ${currentState}`);\n\t\t\tif (Amplify.Analytics && typeof Amplify.Analytics.record === 'function') {\n\t\t\t\tAmplify.Analytics.record({\n\t\t\t\t\tname: 'ServiceWorker',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tstate: currentState,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tthis._serviceWorker.addEventListener('message', event => {\n\t\t\tthis._logger.debug(`ServiceWorker message event: ${event}`);\n\t\t});\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default ServiceWorkerClass;\n","/*\r\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\r\n * the License. A copy of the License is located at\r\n *\r\n * http://aws.amazon.com/apache2.0/\r\n *\r\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\r\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\r\n * and limitations under the License.\r\n */\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from '../types';\r\nimport { StorageHelper } from '@aws-amplify/core';\r\n/**\r\n * Default cache config\r\n */\r\nexport const defaultConfig: CacheConfig = {\r\n\tkeyPrefix: 'aws-amplify-cache',\r\n\tcapacityInBytes: 1048576, // 1MB\r\n\titemMaxSize: 210000, // about 200kb\r\n\tdefaultTTL: 259200000, // about 3 days\r\n\tdefaultPriority: 5,\r\n\twarningThreshold: 0.8,\r\n\t// the storage helper will check if localStorage exists,\r\n\t// if not, will use a in-memory object instead\r\n\tstorage: new StorageHelper().getStorage(),\r\n};\r\n\r\n/**\r\n * return the byte size of the string\r\n * @param str\r\n */\r\nexport function getByteLength(str: string): number {\r\n\tlet ret: number = 0;\r\n\tret = str.length;\r\n\r\n\tfor (let i = str.length; i >= 0; i -= 1) {\r\n\t\tconst charCode: number = str.charCodeAt(i);\r\n\t\tif (charCode > 0x7f && charCode <= 0x7ff) {\r\n\t\t\tret += 1;\r\n\t\t} else if (charCode > 0x7ff && charCode <= 0xffff) {\r\n\t\t\tret += 2;\r\n\t\t}\r\n\t\t// trail surrogate\r\n\t\tif (charCode >= 0xdc00 && charCode <= 0xdfff) {\r\n\t\t\ti -= 1;\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n/**\r\n * get current time\r\n */\r\nexport function getCurrTime(): number {\r\n\tconst currTime = new Date();\r\n\treturn currTime.getTime();\r\n}\r\n\r\n/**\r\n * check if passed value is an integer\r\n */\r\nexport function isInteger(value): boolean {\r\n\tif (Number.isInteger) {\r\n\t\treturn Number.isInteger(value);\r\n\t}\r\n\r\n\treturn _isInteger(value);\r\n}\r\n\r\nfunction _isInteger(value): boolean {\r\n\treturn (\r\n\t\ttypeof value === 'number' && isFinite(value) && Math.floor(value) === value\r\n\t);\r\n}\r\n\r\n/**\r\n * provide an object as the in-memory cache\r\n */\r\nlet store = {};\r\nexport class CacheObject {\r\n\tstatic clear(): void {\r\n\t\tstore = {};\r\n\t}\r\n\r\n\tstatic getItem(key: string): string | null {\r\n\t\treturn store[key] || null;\r\n\t}\r\n\r\n\tstatic setItem(key: string, value: string): void {\r\n\t\tstore[key] = value;\r\n\t}\r\n\r\n\tstatic removeItem(key: string): void {\r\n\t\tdelete store[key];\r\n\t}\r\n}\r\n","/*\r\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\r\n * the License. A copy of the License is located at\r\n *\r\n * http://aws.amazon.com/apache2.0/\r\n *\r\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\r\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\r\n * and limitations under the License.\r\n */\r\n\r\nimport { getCurrTime, getByteLength, defaultConfig, isInteger } from './Utils';\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from './types';\r\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\r\n\r\nconst logger = new Logger('StorageCache');\r\n\r\n/**\r\n * Initialization of the cache\r\n *\r\n */\r\nexport class StorageCache {\r\n\tprotected cacheCurSizeKey: string;\r\n\tprotected config: CacheConfig;\r\n\r\n\t/**\r\n\t * Initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config: CacheConfig) {\r\n\t\tthis.config = Object.assign({}, config);\r\n\t\tthis.cacheCurSizeKey = this.config.keyPrefix + 'CurSize';\r\n\t\tthis.checkConfig();\r\n\t}\r\n\r\n\tpublic getModuleName() {\r\n\t\treturn 'Cache';\r\n\t}\r\n\r\n\tprivate checkConfig(): void {\r\n\t\t// check configuration\r\n\t\tif (!isInteger(this.config.capacityInBytes)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.itemMaxSize)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultTTL)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultTTL. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultTTL = defaultConfig.defaultTTL;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultPriority)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (this.config.itemMaxSize > this.config.capacityInBytes) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tNumber(this.config.warningThreshold) > 1 ||\r\n\t\t\tNumber(this.config.warningThreshold) < 0\r\n\t\t) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.warningThreshold = defaultConfig.warningThreshold;\r\n\t\t}\r\n\t\t// set 5MB limit\r\n\t\tconst cacheLimit: number = 5 * 1024 * 1024;\r\n\t\tif (this.config.capacityInBytes > cacheLimit) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * produce a JSON object with meta-data and data value\r\n\t * @param value - the value of the item\r\n\t * @param options - optional, the specified meta-data\r\n\t *\r\n\t * @return - the item which has the meta-data and the value\r\n\t */\r\n\tprotected fillCacheItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions: CacheItemOptions\r\n\t): CacheItem {\r\n\t\tconst ret: CacheItem = {\r\n\t\t\tkey,\r\n\t\t\tdata: value,\r\n\t\t\ttimestamp: getCurrTime(),\r\n\t\t\tvisitedTime: getCurrTime(),\r\n\t\t\tpriority: options.priority,\r\n\t\t\texpires: options.expires,\r\n\t\t\ttype: typeof value,\r\n\t\t\tbyteSize: 0,\r\n\t\t};\r\n\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\r\n\t\t// for accurate size\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t/**\r\n\t * set cache with customized configuration\r\n\t * @param config - customized configuration\r\n\t *\r\n\t * @return - the current configuration\r\n\t */\r\n\tpublic configure(config?: CacheConfig): CacheConfig {\r\n\t\tif (!config) {\r\n\t\t\treturn this.config;\r\n\t\t}\r\n\t\tif (config.keyPrefix) {\r\n\t\t\tlogger.warn(`Don't try to configure keyPrefix!`);\r\n\t\t}\r\n\r\n\t\tthis.config = Object.assign({}, this.config, config, config.Cache);\r\n\t\tthis.checkConfig();\r\n\t\treturn this.config;\r\n\t}\r\n}\r\n\r\n/**\r\n * @deprecated use named import\r\n */\r\nexport default StorageCache;\r\n","/*\r\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\r\n * the License. A copy of the License is located at\r\n *\r\n * http://aws.amazon.com/apache2.0/\r\n *\r\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\r\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\r\n * and limitations under the License.\r\n */\r\n\r\nimport { defaultConfig, getCurrTime } from './Utils';\r\n\r\nimport { StorageCache } from './StorageCache';\r\nimport { ICache, CacheConfig, CacheItem, CacheItemOptions } from './types';\r\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\r\n\r\nconst logger = new Logger('Cache');\r\n\r\n/**\r\n * Customized storage based on the SessionStorage or LocalStorage with LRU implemented\r\n */\r\nexport class BrowserStorageCacheClass extends StorageCache implements ICache {\r\n\t/**\r\n\t * initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config?: CacheConfig) {\r\n\t\tconst cacheConfig = config\r\n\t\t\t? Object.assign({}, defaultConfig, config)\r\n\t\t\t: defaultConfig;\r\n\t\tsuper(cacheConfig);\r\n\t\tthis.config.storage = cacheConfig.storage;\r\n\t\tthis.getItem = this.getItem.bind(this);\r\n\t\tthis.setItem = this.setItem.bind(this);\r\n\t\tthis.removeItem = this.removeItem.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * decrease current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache size which needs to be decreased\r\n\t */\r\n\tprivate _decreaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize - amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * increase current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache szie which need to be increased\r\n\t */\r\n\tprivate _increaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize + amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * update the visited time if item has been visited\r\n\t *\r\n\t * @private\r\n\t * @param item - the item which need to be refreshed\r\n\t * @param prefixedKey - the key of the item\r\n\t *\r\n\t * @return the refreshed item\r\n\t */\r\n\tprivate _refreshItem(item: CacheItem, prefixedKey: string): CacheItem {\r\n\t\titem.visitedTime = getCurrTime();\r\n\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\treturn item;\r\n\t}\r\n\r\n\t/**\r\n\t * check wether item is expired\r\n\t *\r\n\t * @private\r\n\t * @param key - the key of the item\r\n\t *\r\n\t * @return true if the item is expired.\r\n\t */\r\n\tprivate _isExpired(key: string): boolean {\r\n\t\tconst text: string | null = this.config.storage.getItem(key);\r\n\t\tconst item: CacheItem = JSON.parse(text);\r\n\t\tif (getCurrTime() >= item.expires) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * delete item from cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param size - optional, the byte size of the item\r\n\t */\r\n\tprivate _removeItem(prefixedKey: string, size?: number): void {\r\n\t\tconst itemSize: number = size\r\n\t\t\t? size\r\n\t\t\t: JSON.parse(this.config.storage.getItem(prefixedKey)).byteSize;\r\n\t\tthis._decreaseCurSizeInBytes(itemSize);\r\n\t\t// remove the cache item\r\n\t\tthis.config.storage.removeItem(prefixedKey);\r\n\t}\r\n\r\n\t/**\r\n\t * put item into cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param itemData - the value of the item\r\n\t * @param itemSizeInBytes - the byte size of the item\r\n\t */\r\n\tprivate _setItem(prefixedKey: string, item: CacheItem): void {\r\n\t\t// update the cache size\r\n\t\tthis._increaseCurSizeInBytes(item.byteSize);\r\n\r\n\t\ttry {\r\n\t\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\t} catch (setItemErr) {\r\n\t\t\t// if failed, we need to rollback the cache size\r\n\t\t\tthis._decreaseCurSizeInBytes(item.byteSize);\r\n\t\t\tlogger.error(`Failed to set item ${setItemErr}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * total space needed when poping out items\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return total space needed\r\n\t */\r\n\tprivate _sizeToPop(itemSize: number): number {\r\n\t\tconst spaceItemNeed =\r\n\t\t\tthis.getCacheCurSize() + itemSize - this.config.capacityInBytes;\r\n\t\tconst cacheThresholdSpace =\r\n\t\t\t(1 - this.config.warningThreshold) * this.config.capacityInBytes;\r\n\t\treturn spaceItemNeed > cacheThresholdSpace\r\n\t\t\t? spaceItemNeed\r\n\t\t\t: cacheThresholdSpace;\r\n\t}\r\n\r\n\t/**\r\n\t * see whether cache is full\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return true if cache is full\r\n\t */\r\n\tprivate _isCacheFull(itemSize: number): boolean {\r\n\t\treturn itemSize + this.getCacheCurSize() > this.config.capacityInBytes;\r\n\t}\r\n\r\n\t/**\r\n\t * scan the storage and find out all the keys owned by this cache\r\n\t * also clean the expired keys while scanning\r\n\t *\r\n\t * @private\r\n\t *\r\n\t * @return array of keys\r\n\t */\r\n\tprivate _findValidKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tconst keyInCache: string[] = [];\r\n\t\t// get all keys in Storage\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tkeyInCache.push(this.config.storage.key(i));\r\n\t\t}\r\n\r\n\t\t// find those items which belong to our cache and also clean those expired items\r\n\t\tfor (let i = 0; i < keyInCache.length; i += 1) {\r\n\t\t\tconst key: string = keyInCache[i];\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tif (this._isExpired(key)) {\r\n\t\t\t\t\tthis._removeItem(key);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkeys.push(key);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * get all the items we have, sort them by their priority,\r\n\t * if priority is same, sort them by their last visited time\r\n\t * pop out items from the low priority (5 is the lowest)\r\n\t *\r\n\t * @private\r\n\t * @param keys - all the keys in this cache\r\n\t * @param sizeToPop - the total size of the items which needed to be poped out\r\n\t */\r\n\tprivate _popOutItems(keys: string[], sizeToPop: number): void {\r\n\t\tconst items: CacheItem[] = [];\r\n\t\tlet remainedSize: number = sizeToPop;\r\n\t\t// get the items from Storage\r\n\t\tfor (let i = 0; i < keys.length; i += 1) {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(keys[i]);\r\n\t\t\tif (val != null) {\r\n\t\t\t\tconst item: CacheItem = JSON.parse(val);\r\n\t\t\t\titems.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// first compare priority\r\n\t\t// then compare visited time\r\n\t\titems.sort((a, b) => {\r\n\t\t\tif (a.priority > b.priority) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else if (a.priority < b.priority) {\r\n\t\t\t\treturn 1;\r\n\t\t\t} else {\r\n\t\t\t\tif (a.visitedTime < b.visitedTime) {\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t} else return 1;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfor (let i = 0; i < items.length; i += 1) {\r\n\t\t\t// pop out items until we have enough room for new item\r\n\t\t\tthis._removeItem(items[i].key, items[i].byteSize);\r\n\t\t\tremainedSize -= items[i].byteSize;\r\n\t\t\tif (remainedSize <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set item into cache. You can put number, string, boolean or object.\r\n\t * The cache will first check whether has the same key.\r\n\t * If it has, it will delete the old item and then put the new item in\r\n\t * The cache will pop out items if it is full\r\n\t * You can specify the cache item options. The cache will abort and output a warning:\r\n\t * If the key is invalid\r\n\t * If the size of the item exceeds itemMaxSize.\r\n\t * If the value is undefined\r\n\t * If incorrect cache item configuration\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param value - the value of the item\r\n\t * @param {Object} [options] - optional, the specified meta-data\r\n\t */\r\n\tpublic setItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions?: CacheItemOptions\r\n\t): void {\r\n\t\tlogger.log(\r\n\t\t\t`Set item: key is ${key}, value is ${value} with options: ${options}`\r\n\t\t);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\t\t// invalid keys\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'undefined') {\r\n\t\t\tlogger.warn(`The value of item should not be undefined!`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst cacheItemOptions: CacheItemOptions = {\r\n\t\t\tpriority:\r\n\t\t\t\toptions && options.priority !== undefined\r\n\t\t\t\t\t? options.priority\r\n\t\t\t\t\t: this.config.defaultPriority,\r\n\t\t\texpires:\r\n\t\t\t\toptions && options.expires !== undefined\r\n\t\t\t\t\t? options.expires\r\n\t\t\t\t\t: this.config.defaultTTL + getCurrTime(),\r\n\t\t};\r\n\r\n\t\tif (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Invalid parameter: priority due to out or range. It should be within 1 and 5.`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst item: CacheItem = this.fillCacheItem(\r\n\t\t\tprefixedKey,\r\n\t\t\tvalue,\r\n\t\t\tcacheItemOptions\r\n\t\t);\r\n\r\n\t\t// check wether this item is too big;\r\n\t\tif (item.byteSize > this.config.itemMaxSize) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Item with key: ${key} you are trying to put into is too big!`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// first look into the storage, if it exists, delete it.\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\r\n\t\t\t// check whether the cache is full\r\n\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\tconst validKeys: string[] = this._findValidKeys();\r\n\t\t\t\t// check again and then pop out items\r\n\t\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\t\tconst sizeToPop: number = this._sizeToPop(item.byteSize);\r\n\t\t\t\t\tthis._popOutItems(validKeys, sizeToPop);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// put item in the cache\r\n\t\t\t// may failed due to storage full\r\n\t\t\tthis._setItem(prefixedKey, item);\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`setItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Get item from cache. It will return null if item doesn’t exist or it has been expired.\r\n\t * If you specified callback function in the options,\r\n\t * then the function will be executed if no such item in the cache\r\n\t * and finally put the return value into cache.\r\n\t * Please make sure the callback function will return the value you want to put into the cache.\r\n\t * The cache will abort output a warning:\r\n\t * If the key is invalid\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param {Object} [options] - the options of callback function\r\n\t *\r\n\t * @return - return the value of the item\r\n\t */\r\n\tpublic getItem(key: string, options?: CacheItemOptions): any {\r\n\t\tlogger.log(`Get item: key is ${key} with options ${options}`);\r\n\t\tlet ret: string | null = null;\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tret = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (ret != null) {\r\n\t\t\t\tif (this._isExpired(prefixedKey)) {\r\n\t\t\t\t\t// if expired, remove that item and return null\r\n\t\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(ret).byteSize);\r\n\t\t\t\t\tret = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if not expired, great, return the value and refresh it\r\n\t\t\t\t\tlet item: CacheItem = JSON.parse(ret);\r\n\t\t\t\t\titem = this._refreshItem(item, prefixedKey);\r\n\t\t\t\t\treturn item.data;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (options && options.callback !== undefined) {\r\n\t\t\t\tconst val: object | string | number | boolean = options.callback();\r\n\t\t\t\tif (val !== null) {\r\n\t\t\t\t\tthis.setItem(key, val, options);\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`getItem failed! ${e}`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * remove item from the cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t * @param key - the key of the item\r\n\t */\r\n\tpublic removeItem(key: string): void {\r\n\t\tlogger.log(`Remove item: key is ${key}`);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`removeItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * clear the entire cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tlogger.log(`Clear Cache`);\r\n\t\tconst keysToRemove: string[] = [];\r\n\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (key.indexOf(this.config.keyPrefix) === 0) {\r\n\t\t\t\tkeysToRemove.push(key);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tfor (let i = 0; i < keysToRemove.length; i += 1) {\r\n\t\t\t\tthis.config.storage.removeItem(keysToRemove[i]);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`clear failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Return all the keys in the cache.\r\n\t *\r\n\t * @return - all keys in the cache\r\n\t */\r\n\tpublic getAllKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tkeys.push(key.substring(this.config.keyPrefix.length));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * return the current size of the cache\r\n\t *\r\n\t * @return - current size of the cache\r\n\t */\r\n\tpublic getCacheCurSize(): number {\r\n\t\tlet ret: string | null = this.config.storage.getItem(this.cacheCurSizeKey);\r\n\t\tif (!ret) {\r\n\t\t\tthis.config.storage.setItem(this.cacheCurSizeKey, '0');\r\n\t\t\tret = '0';\r\n\t\t}\r\n\t\treturn Number(ret);\r\n\t}\r\n\r\n\t/**\r\n\t * Return a new instance of cache with customized configuration.\r\n\t * @param config - the customized configuration\r\n\t *\r\n\t * @return - new instance of Cache\r\n\t */\r\n\tpublic createInstance(config: CacheConfig): ICache {\r\n\t\tif (!config.keyPrefix || config.keyPrefix === defaultConfig.keyPrefix) {\r\n\t\t\tlogger.error('invalid keyPrefix, setting keyPrefix with timeStamp');\r\n\t\t\tconfig.keyPrefix = getCurrTime.toString();\r\n\t\t}\r\n\r\n\t\treturn new BrowserStorageCacheClass(config);\r\n\t}\r\n}\r\n\r\nexport const BrowserStorageCache: ICache = new BrowserStorageCacheClass();\r\n\r\n/**\r\n * @deprecated use named import\r\n */\r\nexport default BrowserStorageCache;\r\n","/*\r\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\r\n * the License. A copy of the License is located at\r\n *\r\n * http://aws.amazon.com/apache2.0/\r\n *\r\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\r\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\r\n * and limitations under the License.\r\n */\r\n\r\nimport { Amplify } from '@aws-amplify/core';\r\nimport { BrowserStorageCache } from './BrowserStorageCache';\r\nimport { InMemoryCache } from './InMemoryCache';\r\nimport { CacheConfig } from './types';\r\n\r\nexport { BrowserStorageCache, InMemoryCache, CacheConfig };\r\n/**\r\n * @deprecated use named import\r\n */\r\nexport default BrowserStorageCache;\r\n\r\nAmplify.register(BrowserStorageCache);\r\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { SENSITIVE_STRING, SmithyException as __SmithyException } from \"@aws-sdk/smithy-client\";\nimport { MetadataBearer as $MetadataBearer } from \"@aws-sdk/types\";\nimport { Readable } from \"stream\";\n\n/**\n *

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will\n * wait before permanently removing all parts of the upload. For more information, see \n * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the\n * Amazon Simple Storage Service Developer Guide.

\n */\nexport interface AbortIncompleteMultipartUpload {\n /**\n *

Specifies the number of days after which Amazon S3 aborts an incomplete multipart\n * upload.

\n */\n DaysAfterInitiation?: number;\n}\n\nexport namespace AbortIncompleteMultipartUpload {\n export const filterSensitiveLog = (obj: AbortIncompleteMultipartUpload): any => ({\n ...obj,\n });\n}\n\nexport type RequestCharged = \"requester\";\n\nexport interface AbortMultipartUploadOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace AbortMultipartUploadOutput {\n export const filterSensitiveLog = (obj: AbortMultipartUploadOutput): any => ({\n ...obj,\n });\n}\n\nexport type RequestPayer = \"requester\";\n\nexport interface AbortMultipartUploadRequest {\n /**\n *

The bucket name to which the upload was taking place.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Key of the object for which the multipart upload was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

Upload ID that identifies the multipart upload.

\n */\n UploadId: string | undefined;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace AbortMultipartUploadRequest {\n export const filterSensitiveLog = (obj: AbortMultipartUploadRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

The specified multipart upload does not exist.

\n */\nexport interface NoSuchUpload extends __SmithyException, $MetadataBearer {\n name: \"NoSuchUpload\";\n $fault: \"client\";\n}\n\nexport namespace NoSuchUpload {\n export const filterSensitiveLog = (obj: NoSuchUpload): any => ({\n ...obj,\n });\n}\n\nexport type BucketAccelerateStatus = \"Enabled\" | \"Suspended\";\n\n/**\n *

Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see\n * Amazon S3\n * Transfer Acceleration in the Amazon Simple Storage Service Developer\n * Guide.

\n */\nexport interface AccelerateConfiguration {\n /**\n *

Specifies the transfer acceleration status of the bucket.

\n */\n Status?: BucketAccelerateStatus | string;\n}\n\nexport namespace AccelerateConfiguration {\n export const filterSensitiveLog = (obj: AccelerateConfiguration): any => ({\n ...obj,\n });\n}\n\nexport type Type = \"AmazonCustomerByEmail\" | \"CanonicalUser\" | \"Group\";\n\n/**\n *

Container for the person being granted permissions.

\n */\nexport interface Grantee {\n /**\n *

Screen name of the grantee.

\n */\n DisplayName?: string;\n\n /**\n *

Email address of the grantee.

\n * \n *

Using email addresses to specify a grantee is only supported in the following AWS Regions:

\n *
    \n *
  • \n *

    US East (N. Virginia)

    \n *
  • \n *
  • \n *

    US West (N. California)

    \n *
  • \n *
  • \n *

    US West (Oregon)

    \n *
  • \n *
  • \n *

    Asia Pacific (Singapore)

    \n *
  • \n *
  • \n *

    Asia Pacific (Sydney)

    \n *
  • \n *
  • \n *

    Asia Pacific (Tokyo)

    \n *
  • \n *
  • \n *

    Europe (Ireland)

    \n *
  • \n *
  • \n *

    South America (São Paulo)

    \n *
  • \n *
\n *

For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

\n *
\n */\n EmailAddress?: string;\n\n /**\n *

The canonical user ID of the grantee.

\n */\n ID?: string;\n\n /**\n *

URI of the grantee group.

\n */\n URI?: string;\n\n /**\n *

Type of grantee

\n */\n Type: Type | string | undefined;\n}\n\nexport namespace Grantee {\n export const filterSensitiveLog = (obj: Grantee): any => ({\n ...obj,\n });\n}\n\nexport type Permission = \"FULL_CONTROL\" | \"READ\" | \"READ_ACP\" | \"WRITE\" | \"WRITE_ACP\";\n\n/**\n *

Container for grant information.

\n */\nexport interface Grant {\n /**\n *

The person being granted permissions.

\n */\n Grantee?: Grantee;\n\n /**\n *

Specifies the permission given to the grantee.

\n */\n Permission?: Permission | string;\n}\n\nexport namespace Grant {\n export const filterSensitiveLog = (obj: Grant): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the owner's display name and ID.

\n */\nexport interface Owner {\n /**\n *

Container for the display name of the owner.

\n */\n DisplayName?: string;\n\n /**\n *

Container for the ID of the owner.

\n */\n ID?: string;\n}\n\nexport namespace Owner {\n export const filterSensitiveLog = (obj: Owner): any => ({\n ...obj,\n });\n}\n\n/**\n *

Contains the elements that set the ACL permissions for an object per grantee.

\n */\nexport interface AccessControlPolicy {\n /**\n *

A list of grants.

\n */\n Grants?: Grant[];\n\n /**\n *

Container for the bucket owner's display name and ID.

\n */\n Owner?: Owner;\n}\n\nexport namespace AccessControlPolicy {\n export const filterSensitiveLog = (obj: AccessControlPolicy): any => ({\n ...obj,\n });\n}\n\nexport type OwnerOverride = \"Destination\";\n\n/**\n *

A container for information about access control for replicas.

\n */\nexport interface AccessControlTranslation {\n /**\n *

Specifies the replica ownership. For default and valid values, see PUT bucket\n * replication in the Amazon Simple Storage Service API Reference.

\n */\n Owner: OwnerOverride | string | undefined;\n}\n\nexport namespace AccessControlTranslation {\n export const filterSensitiveLog = (obj: AccessControlTranslation): any => ({\n ...obj,\n });\n}\n\nexport type ServerSideEncryption = \"AES256\" | \"aws:kms\";\n\nexport interface CompleteMultipartUploadOutput {\n /**\n *

The URI that identifies the newly created object.

\n */\n Location?: string;\n\n /**\n *

The name of the bucket that contains the newly created object.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket?: string;\n\n /**\n *

The object key of the newly created object.

\n */\n Key?: string;\n\n /**\n *

If the object expiration is configured, this will contain the expiration date\n * (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

\n */\n Expiration?: string;\n\n /**\n *

Entity tag that identifies the newly created object's data. Objects with different\n * object data will have different entity tags. The entity tag is an opaque string. The entity\n * tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5\n * digest of the object data, it will contain one or more nonhexadecimal characters and/or\n * will consist of less than 32 or more than 32 hexadecimal digits.

\n */\n ETag?: string;\n\n /**\n *

If you specified server-side encryption either with an Amazon S3-managed encryption key or an\n * AWS KMS customer master key (CMK) in your initiate multipart upload request, the response\n * includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the\n * object.

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

Version ID of the newly created object, in case the bucket has versioning turned\n * on.

\n */\n VersionId?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace CompleteMultipartUploadOutput {\n export const filterSensitiveLog = (obj: CompleteMultipartUploadOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

Details of the parts that were uploaded.

\n */\nexport interface CompletedPart {\n /**\n *

Entity tag returned when the part was uploaded.

\n */\n ETag?: string;\n\n /**\n *

Part number that identifies the part. This is a positive integer between 1 and\n * 10,000.

\n */\n PartNumber?: number;\n}\n\nexport namespace CompletedPart {\n export const filterSensitiveLog = (obj: CompletedPart): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container for the completed multipart upload details.

\n */\nexport interface CompletedMultipartUpload {\n /**\n *

Array of CompletedPart data types.

\n */\n Parts?: CompletedPart[];\n}\n\nexport namespace CompletedMultipartUpload {\n export const filterSensitiveLog = (obj: CompletedMultipartUpload): any => ({\n ...obj,\n });\n}\n\nexport interface CompleteMultipartUploadRequest {\n /**\n *

Name of the bucket to which the multipart upload was initiated.

\n */\n Bucket: string | undefined;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

The container for the multipart upload request information.

\n */\n MultipartUpload?: CompletedMultipartUpload;\n\n /**\n *

ID for the initiated multipart upload.

\n */\n UploadId: string | undefined;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace CompleteMultipartUploadRequest {\n export const filterSensitiveLog = (obj: CompleteMultipartUploadRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for all response elements.

\n */\nexport interface CopyObjectResult {\n /**\n *

Returns the ETag of the new object. The ETag reflects only changes to the contents of an\n * object, not its metadata. The source and destination ETag is identical for a successfully\n * copied object.

\n */\n ETag?: string;\n\n /**\n *

Returns the date that the object was last modified.

\n */\n LastModified?: Date;\n}\n\nexport namespace CopyObjectResult {\n export const filterSensitiveLog = (obj: CopyObjectResult): any => ({\n ...obj,\n });\n}\n\nexport interface CopyObjectOutput {\n /**\n *

Container for all response elements.

\n */\n CopyObjectResult?: CopyObjectResult;\n\n /**\n *

If the object expiration is configured, the response includes this header.

\n */\n Expiration?: string;\n\n /**\n *

Version of the copied object in the destination bucket.

\n */\n CopySourceVersionId?: string;\n\n /**\n *

Version ID of the newly created copy.

\n */\n VersionId?: string;\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n * context key-value pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace CopyObjectOutput {\n export const filterSensitiveLog = (obj: CopyObjectOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n });\n}\n\nexport type ObjectCannedACL =\n | \"authenticated-read\"\n | \"aws-exec-read\"\n | \"bucket-owner-full-control\"\n | \"bucket-owner-read\"\n | \"private\"\n | \"public-read\"\n | \"public-read-write\";\n\nexport type MetadataDirective = \"COPY\" | \"REPLACE\";\n\nexport type ObjectLockLegalHoldStatus = \"OFF\" | \"ON\";\n\nexport type ObjectLockMode = \"COMPLIANCE\" | \"GOVERNANCE\";\n\nexport type StorageClass =\n | \"DEEP_ARCHIVE\"\n | \"GLACIER\"\n | \"INTELLIGENT_TIERING\"\n | \"ONEZONE_IA\"\n | \"OUTPOSTS\"\n | \"REDUCED_REDUNDANCY\"\n | \"STANDARD\"\n | \"STANDARD_IA\";\n\nexport type TaggingDirective = \"COPY\" | \"REPLACE\";\n\nexport interface CopyObjectRequest {\n /**\n *

The canned ACL to apply to the object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n ACL?: ObjectCannedACL | string;\n\n /**\n *

The name of the destination bucket.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Specifies caching behavior along the request/reply chain.

\n */\n CacheControl?: string;\n\n /**\n *

Specifies presentational information for the object.

\n */\n ContentDisposition?: string;\n\n /**\n *

Specifies what content encodings have been applied to the object and thus what decoding\n * mechanisms must be applied to obtain the media-type referenced by the Content-Type header\n * field.

\n */\n ContentEncoding?: string;\n\n /**\n *

The language the content is in.

\n */\n ContentLanguage?: string;\n\n /**\n *

A standard MIME type describing the format of the object data.

\n */\n ContentType?: string;\n\n /**\n *

Specifies the source object for the copy operation. You specify the value in one of two\n * formats, depending on whether you want to access the source object through an access\n * point:

\n *
    \n *
  • \n *

    For objects not accessed through an access point, specify the name of the source\n * bucket and the key of the source object, separated by a slash (/). For example, to\n * copy the object reports/january.pdf from the bucket\n * awsexamplebucket, use\n * awsexamplebucket/reports/january.pdf. The value must be URL\n * encoded.

    \n *
  • \n *
  • \n *

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n * \n *

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

    \n *
    \n *

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

    \n *
  • \n *
\n *

To copy a specific version of an object, append ?versionId=\n * to the value (for example,\n * awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n * If you don't specify a version ID, Amazon S3 copies the latest version of the source\n * object.

\n */\n CopySource: string | undefined;\n\n /**\n *

Copies the object if its entity tag (ETag) matches the specified tag.

\n */\n CopySourceIfMatch?: string;\n\n /**\n *

Copies the object if it has been modified since the specified time.

\n */\n CopySourceIfModifiedSince?: Date;\n\n /**\n *

Copies the object if its entity tag (ETag) is different than the specified ETag.

\n */\n CopySourceIfNoneMatch?: string;\n\n /**\n *

Copies the object if it hasn't been modified since the specified time.

\n */\n CopySourceIfUnmodifiedSince?: Date;\n\n /**\n *

The date and time at which the object is no longer cacheable.

\n */\n Expires?: Date;\n\n /**\n *

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to read the object data and its\n * metadata.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the object ACL.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantWriteACP?: string;\n\n /**\n *

The key of the destination object.

\n */\n Key: string | undefined;\n\n /**\n *

A map of metadata to store with the object in S3.

\n */\n Metadata?: { [key: string]: string };\n\n /**\n *

Specifies whether the metadata is copied from the source object or replaced with\n * metadata provided in the request.

\n */\n MetadataDirective?: MetadataDirective | string;\n\n /**\n *

Specifies whether the object tag-set are copied from the source object or replaced with\n * tag-set provided in the request.

\n */\n TaggingDirective?: TaggingDirective | string;\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n * STANDARD storage class provides high durability and high availability. Depending on\n * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n * the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3\n * Service Developer Guide.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If the bucket is configured as a website, redirects requests for this object to another\n * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n * the object metadata.

\n */\n WebsiteRedirectLocation?: string;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for\n * an object protected by AWS KMS will fail if not made via SSL or using SigV4. For\n * information about configuring using any of the officially supported AWS SDKs and AWS CLI,\n * see Specifying the\n * Signature Version in Request Authentication in the Amazon S3 Developer\n * Guide.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n * pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n *

Specifying this header with a COPY operation doesn’t affect bucket-level settings for S3 Bucket Key.

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

Specifies the algorithm to use when decrypting the source object (for example,\n * AES256).

\n */\n CopySourceSSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source\n * object. The encryption key provided in this header must be one that was used when the\n * source object was created.

\n */\n CopySourceSSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n CopySourceSSECustomerKeyMD5?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The tag-set for the object destination object this value must be used in conjunction\n * with the TaggingDirective. The tag-set must be encoded as URL Query\n * parameters.

\n */\n Tagging?: string;\n\n /**\n *

The Object Lock mode that you want to apply to the copied object.

\n */\n ObjectLockMode?: ObjectLockMode | string;\n\n /**\n *

The date and time when you want the copied object's Object Lock to expire.

\n */\n ObjectLockRetainUntilDate?: Date;\n\n /**\n *

Specifies whether you want to apply a Legal Hold to the copied object.

\n */\n ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;\n\n /**\n *

The account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n\n /**\n *

The account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedSourceBucketOwner?: string;\n}\n\nexport namespace CopyObjectRequest {\n export const filterSensitiveLog = (obj: CopyObjectRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

The source object of the COPY operation is not in the active tier and is only stored in\n * Amazon S3 Glacier.

\n */\nexport interface ObjectNotInActiveTierError extends __SmithyException, $MetadataBearer {\n name: \"ObjectNotInActiveTierError\";\n $fault: \"client\";\n}\n\nexport namespace ObjectNotInActiveTierError {\n export const filterSensitiveLog = (obj: ObjectNotInActiveTierError): any => ({\n ...obj,\n });\n}\n\n/**\n *

The requested bucket name is not available. The bucket namespace is shared by all users\n * of the system. Select a different name and try again.

\n */\nexport interface BucketAlreadyExists extends __SmithyException, $MetadataBearer {\n name: \"BucketAlreadyExists\";\n $fault: \"client\";\n}\n\nexport namespace BucketAlreadyExists {\n export const filterSensitiveLog = (obj: BucketAlreadyExists): any => ({\n ...obj,\n });\n}\n\n/**\n *

The bucket you tried to create already exists, and you own it. Amazon S3 returns this error\n * in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you\n * re-create an existing bucket that you already own in the North Virginia Region, Amazon S3\n * returns 200 OK and resets the bucket access control lists (ACLs).

\n */\nexport interface BucketAlreadyOwnedByYou extends __SmithyException, $MetadataBearer {\n name: \"BucketAlreadyOwnedByYou\";\n $fault: \"client\";\n}\n\nexport namespace BucketAlreadyOwnedByYou {\n export const filterSensitiveLog = (obj: BucketAlreadyOwnedByYou): any => ({\n ...obj,\n });\n}\n\nexport interface CreateBucketOutput {\n /**\n *

Specifies the Region where the bucket will be created. If you are creating a bucket on\n * the US East (N. Virginia) Region (us-east-1), you do not need to specify the\n * location.

\n */\n Location?: string;\n}\n\nexport namespace CreateBucketOutput {\n export const filterSensitiveLog = (obj: CreateBucketOutput): any => ({\n ...obj,\n });\n}\n\nexport type BucketCannedACL = \"authenticated-read\" | \"private\" | \"public-read\" | \"public-read-write\";\n\nexport type BucketLocationConstraint =\n | \"EU\"\n | \"af-south-1\"\n | \"ap-east-1\"\n | \"ap-northeast-1\"\n | \"ap-northeast-2\"\n | \"ap-northeast-3\"\n | \"ap-south-1\"\n | \"ap-southeast-1\"\n | \"ap-southeast-2\"\n | \"ca-central-1\"\n | \"cn-north-1\"\n | \"cn-northwest-1\"\n | \"eu-central-1\"\n | \"eu-north-1\"\n | \"eu-south-1\"\n | \"eu-west-1\"\n | \"eu-west-2\"\n | \"eu-west-3\"\n | \"me-south-1\"\n | \"sa-east-1\"\n | \"us-east-2\"\n | \"us-gov-east-1\"\n | \"us-gov-west-1\"\n | \"us-west-1\"\n | \"us-west-2\";\n\n/**\n *

The configuration information for the bucket.

\n */\nexport interface CreateBucketConfiguration {\n /**\n *

Specifies the Region where the bucket will be created. If you don't specify a Region,\n * the bucket is created in the US East (N. Virginia) Region (us-east-1).

\n */\n LocationConstraint?: BucketLocationConstraint | string;\n}\n\nexport namespace CreateBucketConfiguration {\n export const filterSensitiveLog = (obj: CreateBucketConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface CreateBucketRequest {\n /**\n *

The canned ACL to apply to the bucket.

\n */\n ACL?: BucketCannedACL | string;\n\n /**\n *

The name of the bucket to create.

\n */\n Bucket: string | undefined;\n\n /**\n *

The configuration information for the bucket.

\n */\n CreateBucketConfiguration?: CreateBucketConfiguration;\n\n /**\n *

Allows grantee the read, write, read ACP, and write ACP permissions on the\n * bucket.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to list the objects in the bucket.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the bucket ACL.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to create, overwrite, and delete any object in the bucket.

\n */\n GrantWrite?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable bucket.

\n */\n GrantWriteACP?: string;\n\n /**\n *

Specifies whether you want S3 Object Lock to be enabled for the new bucket.

\n */\n ObjectLockEnabledForBucket?: boolean;\n}\n\nexport namespace CreateBucketRequest {\n export const filterSensitiveLog = (obj: CreateBucketRequest): any => ({\n ...obj,\n });\n}\n\nexport interface CreateMultipartUploadOutput {\n /**\n *

If the bucket has a lifecycle rule configured with an action to abort incomplete\n * multipart uploads and the prefix in the lifecycle rule matches the object name in the\n * request, the response includes this header. The header indicates when the initiated\n * multipart upload becomes eligible for an abort operation. For more information, see \n * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n *\n *

The response also includes the x-amz-abort-rule-id header that provides the\n * ID of the lifecycle configuration rule that defines this action.

\n */\n AbortDate?: Date;\n\n /**\n *

This header is returned along with the x-amz-abort-date header. It\n * identifies the applicable lifecycle configuration rule that defines the action to abort\n * incomplete multipart uploads.

\n */\n AbortRuleId?: string;\n\n /**\n *

The name of the bucket to which the multipart upload was initiated.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket?: string;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key?: string;\n\n /**\n *

ID for the initiated multipart upload.

\n */\n UploadId?: string;\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n * context key-value pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace CreateMultipartUploadOutput {\n export const filterSensitiveLog = (obj: CreateMultipartUploadOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n });\n}\n\nexport interface CreateMultipartUploadRequest {\n /**\n *

The canned ACL to apply to the object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n ACL?: ObjectCannedACL | string;\n\n /**\n *

The name of the bucket to which to initiate the upload

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Specifies caching behavior along the request/reply chain.

\n */\n CacheControl?: string;\n\n /**\n *

Specifies presentational information for the object.

\n */\n ContentDisposition?: string;\n\n /**\n *

Specifies what content encodings have been applied to the object and thus what decoding\n * mechanisms must be applied to obtain the media-type referenced by the Content-Type header\n * field.

\n */\n ContentEncoding?: string;\n\n /**\n *

The language the content is in.

\n */\n ContentLanguage?: string;\n\n /**\n *

A standard MIME type describing the format of the object data.

\n */\n ContentType?: string;\n\n /**\n *

The date and time at which the object is no longer cacheable.

\n */\n Expires?: Date;\n\n /**\n *

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to read the object data and its\n * metadata.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the object ACL.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantWriteACP?: string;\n\n /**\n *

Object key for which the multipart upload is to be initiated.

\n */\n Key: string | undefined;\n\n /**\n *

A map of metadata to store with the object in S3.

\n */\n Metadata?: { [key: string]: string };\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n * STANDARD storage class provides high durability and high availability. Depending on\n * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n * the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3\n * Service Developer Guide.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If the bucket is configured as a website, redirects requests for this object to another\n * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n * the object metadata.

\n */\n WebsiteRedirectLocation?: string;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object\n * encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not\n * made via SSL or using SigV4. For information about configuring using any of the officially\n * supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication\n * in the Amazon S3 Developer Guide.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n * pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n *

Specifying this header with an object operation doesn’t affect bucket-level settings for S3 Bucket Key.

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The tag-set for the object. The tag-set must be encoded as URL Query parameters.

\n */\n Tagging?: string;\n\n /**\n *

Specifies the Object Lock mode that you want to apply to the uploaded object.

\n */\n ObjectLockMode?: ObjectLockMode | string;\n\n /**\n *

Specifies the date and time when you want the Object Lock to expire.

\n */\n ObjectLockRetainUntilDate?: Date;\n\n /**\n *

Specifies whether you want to apply a Legal Hold to the uploaded object.

\n */\n ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace CreateMultipartUploadRequest {\n export const filterSensitiveLog = (obj: CreateMultipartUploadRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n });\n}\n\nexport interface DeleteBucketRequest {\n /**\n *

Specifies the bucket being deleted.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketRequest {\n export const filterSensitiveLog = (obj: DeleteBucketRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketAnalyticsConfigurationRequest {\n /**\n *

The name of the bucket from which an analytics configuration is deleted.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID that identifies the analytics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketAnalyticsConfigurationRequest {\n export const filterSensitiveLog = (obj: DeleteBucketAnalyticsConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketCorsRequest {\n /**\n *

Specifies the bucket whose cors configuration is being deleted.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketCorsRequest {\n export const filterSensitiveLog = (obj: DeleteBucketCorsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketEncryptionRequest {\n /**\n *

The name of the bucket containing the server-side encryption configuration to\n * delete.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketEncryptionRequest {\n export const filterSensitiveLog = (obj: DeleteBucketEncryptionRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketIntelligentTieringConfigurationRequest {\n /**\n *

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the S3 Intelligent-Tiering configuration.

\n */\n Id: string | undefined;\n}\n\nexport namespace DeleteBucketIntelligentTieringConfigurationRequest {\n export const filterSensitiveLog = (obj: DeleteBucketIntelligentTieringConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketInventoryConfigurationRequest {\n /**\n *

The name of the bucket containing the inventory configuration to delete.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the inventory configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketInventoryConfigurationRequest {\n export const filterSensitiveLog = (obj: DeleteBucketInventoryConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketLifecycleRequest {\n /**\n *

The bucket name of the lifecycle to delete.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketLifecycleRequest {\n export const filterSensitiveLog = (obj: DeleteBucketLifecycleRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketMetricsConfigurationRequest {\n /**\n *

The name of the bucket containing the metrics configuration to delete.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the metrics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketMetricsConfigurationRequest {\n export const filterSensitiveLog = (obj: DeleteBucketMetricsConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketOwnershipControlsRequest {\n /**\n *

The Amazon S3 bucket whose OwnershipControls you want to delete.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketOwnershipControlsRequest {\n export const filterSensitiveLog = (obj: DeleteBucketOwnershipControlsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketPolicyRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketPolicyRequest {\n export const filterSensitiveLog = (obj: DeleteBucketPolicyRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketReplicationRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketReplicationRequest {\n export const filterSensitiveLog = (obj: DeleteBucketReplicationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketTaggingRequest {\n /**\n *

The bucket that has the tag set to be removed.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketTaggingRequest {\n export const filterSensitiveLog = (obj: DeleteBucketTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteBucketWebsiteRequest {\n /**\n *

The bucket name for which you want to remove the website configuration.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteBucketWebsiteRequest {\n export const filterSensitiveLog = (obj: DeleteBucketWebsiteRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectOutput {\n /**\n *

Specifies whether the versioned object that was permanently deleted was (true) or was\n * not (false) a delete marker.

\n */\n DeleteMarker?: boolean;\n\n /**\n *

Returns the version ID of the delete marker created as a result of the DELETE\n * operation.

\n */\n VersionId?: string;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace DeleteObjectOutput {\n export const filterSensitiveLog = (obj: DeleteObjectOutput): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectRequest {\n /**\n *

The bucket name of the bucket containing the object.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Key name of the object to delete.

\n */\n Key: string | undefined;\n\n /**\n *

The concatenation of the authentication device's serial number, a space, and the value\n * that is displayed on your authentication device. Required to permanently delete a versioned\n * object if versioning is configured with MFA delete enabled.

\n */\n MFA?: string;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process\n * this operation.

\n */\n BypassGovernanceRetention?: boolean;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteObjectRequest {\n export const filterSensitiveLog = (obj: DeleteObjectRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Information about the deleted object.

\n */\nexport interface DeletedObject {\n /**\n *

The name of the deleted object.

\n */\n Key?: string;\n\n /**\n *

The version ID of the deleted object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies whether the versioned object that was permanently deleted was (true) or was\n * not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or\n * not (false) a delete marker was created.

\n */\n DeleteMarker?: boolean;\n\n /**\n *

The version ID of the delete marker created as a result of the DELETE operation. If you\n * delete a specific object version, the value returned by this header is the version ID of\n * the object version deleted.

\n */\n DeleteMarkerVersionId?: string;\n}\n\nexport namespace DeletedObject {\n export const filterSensitiveLog = (obj: DeletedObject): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for all error elements.

\n */\nexport interface _Error {\n /**\n *

The error key.

\n */\n Key?: string;\n\n /**\n *

The version ID of the error.

\n */\n VersionId?: string;\n\n /**\n *

The error code is a string that uniquely identifies an error condition. It is meant to\n * be read and understood by programs that detect and handle errors by type.

\n *

\n * Amazon S3 error codes\n *

\n *
    \n *
  • \n *
      \n *
    • \n *

      \n * Code: AccessDenied

      \n *
    • \n *
    • \n *

      \n * Description: Access Denied

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: AccountProblem

      \n *
    • \n *
    • \n *

      \n * Description: There is a problem with your AWS account\n * that prevents the operation from completing successfully. Contact AWS Support\n * for further assistance.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: AllAccessDisabled

      \n *
    • \n *
    • \n *

      \n * Description: All access to this Amazon S3 resource has been\n * disabled. Contact AWS Support for further assistance.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: AmbiguousGrantByEmailAddress

      \n *
    • \n *
    • \n *

      \n * Description: The email address you provided is\n * associated with more than one account.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: AuthorizationHeaderMalformed

      \n *
    • \n *
    • \n *

      \n * Description: The authorization header you provided is\n * invalid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: BadDigest

      \n *
    • \n *
    • \n *

      \n * Description: The Content-MD5 you specified did not\n * match what we received.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: BucketAlreadyExists

      \n *
    • \n *
    • \n *

      \n * Description: The requested bucket name is not\n * available. The bucket namespace is shared by all users of the system. Please\n * select a different name and try again.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 409 Conflict

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: BucketAlreadyOwnedByYou

      \n *
    • \n *
    • \n *

      \n * Description: The bucket you tried to create already\n * exists, and you own it. Amazon S3 returns this error in all AWS Regions except in\n * the North Virginia Region. For legacy compatibility, if you re-create an\n * existing bucket that you already own in the North Virginia Region, Amazon S3 returns\n * 200 OK and resets the bucket access control lists (ACLs).

      \n *
    • \n *
    • \n *

      \n * Code: 409 Conflict (in all Regions except the North\n * Virginia Region)

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: BucketNotEmpty

      \n *
    • \n *
    • \n *

      \n * Description: The bucket you tried to delete is not\n * empty.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 409 Conflict

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: CredentialsNotSupported

      \n *
    • \n *
    • \n *

      \n * Description: This request does not support\n * credentials.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: CrossLocationLoggingProhibited

      \n *
    • \n *
    • \n *

      \n * Description: Cross-location logging not allowed.\n * Buckets in one geographic location cannot log information to a bucket in\n * another location.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: EntityTooSmall

      \n *
    • \n *
    • \n *

      \n * Description: Your proposed upload is smaller than the\n * minimum allowed object size.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: EntityTooLarge

      \n *
    • \n *
    • \n *

      \n * Description: Your proposed upload exceeds the maximum\n * allowed object size.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: ExpiredToken

      \n *
    • \n *
    • \n *

      \n * Description: The provided token has expired.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: IllegalVersioningConfigurationException

      \n *
    • \n *
    • \n *

      \n * Description: Indicates that the versioning\n * configuration specified in the request is invalid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: IncompleteBody

      \n *
    • \n *
    • \n *

      \n * Description: You did not provide the number of bytes\n * specified by the Content-Length HTTP header

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: IncorrectNumberOfFilesInPostRequest

      \n *
    • \n *
    • \n *

      \n * Description: POST requires exactly one file upload per\n * request.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InlineDataTooLarge

      \n *
    • \n *
    • \n *

      \n * Description: Inline data exceeds the maximum allowed\n * size.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InternalError

      \n *
    • \n *
    • \n *

      \n * Description: We encountered an internal error. Please\n * try again.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 500 Internal Server Error

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Server

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidAccessKeyId

      \n *
    • \n *
    • \n *

      \n * Description: The AWS access key ID you provided does\n * not exist in our records.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidAddressingHeader

      \n *
    • \n *
    • \n *

      \n * Description: You must specify the Anonymous\n * role.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: N/A

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidArgument

      \n *
    • \n *
    • \n *

      \n * Description: Invalid Argument

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidBucketName

      \n *
    • \n *
    • \n *

      \n * Description: The specified bucket is not valid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidBucketState

      \n *
    • \n *
    • \n *

      \n * Description: The request is not valid with the current\n * state of the bucket.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 409 Conflict

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidDigest

      \n *
    • \n *
    • \n *

      \n * Description: The Content-MD5 you specified is not\n * valid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidEncryptionAlgorithmError

      \n *
    • \n *
    • \n *

      \n * Description: The encryption request you specified is\n * not valid. The valid value is AES256.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidLocationConstraint

      \n *
    • \n *
    • \n *

      \n * Description: The specified location constraint is not\n * valid. For more information about Regions, see How to Select a\n * Region for Your Buckets.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidObjectState

      \n *
    • \n *
    • \n *

      \n * Description: The operation is not valid for the current\n * state of the object.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidPart

      \n *
    • \n *
    • \n *

      \n * Description: One or more of the specified parts could\n * not be found. The part might not have been uploaded, or the specified entity\n * tag might not have matched the part's entity tag.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidPartOrder

      \n *
    • \n *
    • \n *

      \n * Description: The list of parts was not in ascending\n * order. Parts list must be specified in order by part number.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidPayer

      \n *
    • \n *
    • \n *

      \n * Description: All access to this object has been\n * disabled. Please contact AWS Support for further assistance.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidPolicyDocument

      \n *
    • \n *
    • \n *

      \n * Description: The content of the form does not meet the\n * conditions specified in the policy document.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRange

      \n *
    • \n *
    • \n *

      \n * Description: The requested range cannot be\n * satisfied.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 416 Requested Range Not\n * Satisfiable

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Please use AWS4-HMAC-SHA256.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: SOAP requests must be made over an HTTPS\n * connection.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Acceleration is not\n * supported for buckets with non-DNS compliant names.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Acceleration is not\n * supported for buckets with periods (.) in their names.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Accelerate endpoint only\n * supports virtual style requests.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Accelerate is not configured\n * on this bucket.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Accelerate is disabled on\n * this bucket.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Acceleration is not\n * supported on this bucket. Contact AWS Support for more information.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidRequest

      \n *
    • \n *
    • \n *

      \n * Description: Amazon S3 Transfer Acceleration cannot be\n * enabled on this bucket. Contact AWS Support for more information.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * Code: N/A

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidSecurity

      \n *
    • \n *
    • \n *

      \n * Description: The provided security credentials are not\n * valid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidSOAPRequest

      \n *
    • \n *
    • \n *

      \n * Description: The SOAP request body is invalid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidStorageClass

      \n *
    • \n *
    • \n *

      \n * Description: The storage class you specified is not\n * valid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidTargetBucketForLogging

      \n *
    • \n *
    • \n *

      \n * Description: The target bucket for logging does not\n * exist, is not owned by you, or does not have the appropriate grants for the\n * log-delivery group.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidToken

      \n *
    • \n *
    • \n *

      \n * Description: The provided token is malformed or\n * otherwise invalid.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: InvalidURI

      \n *
    • \n *
    • \n *

      \n * Description: Couldn't parse the specified URI.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: KeyTooLongError

      \n *
    • \n *
    • \n *

      \n * Description: Your key is too long.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MalformedACLError

      \n *
    • \n *
    • \n *

      \n * Description: The XML you provided was not well-formed\n * or did not validate against our published schema.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MalformedPOSTRequest

      \n *
    • \n *
    • \n *

      \n * Description: The body of your POST request is not\n * well-formed multipart/form-data.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MalformedXML

      \n *
    • \n *
    • \n *

      \n * Description: This happens when the user sends malformed\n * XML (XML that doesn't conform to the published XSD) for the configuration. The\n * error message is, \"The XML you provided was not well-formed or did not validate\n * against our published schema.\"

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MaxMessageLengthExceeded

      \n *
    • \n *
    • \n *

      \n * Description: Your request was too big.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MaxPostPreDataLengthExceededError

      \n *
    • \n *
    • \n *

      \n * Description: Your POST request fields preceding the\n * upload file were too large.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MetadataTooLarge

      \n *
    • \n *
    • \n *

      \n * Description: Your metadata headers exceed the maximum\n * allowed metadata size.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MethodNotAllowed

      \n *
    • \n *
    • \n *

      \n * Description: The specified method is not allowed\n * against this resource.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 405 Method Not Allowed

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MissingAttachment

      \n *
    • \n *
    • \n *

      \n * Description: A SOAP attachment was expected, but none\n * were found.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: N/A

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MissingContentLength

      \n *
    • \n *
    • \n *

      \n * Description: You must provide the Content-Length HTTP\n * header.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 411 Length Required

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MissingRequestBodyError

      \n *
    • \n *
    • \n *

      \n * Description: This happens when the user sends an empty\n * XML document as a request. The error message is, \"Request body is empty.\"\n *

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MissingSecurityElement

      \n *
    • \n *
    • \n *

      \n * Description: The SOAP 1.1 request is missing a security\n * element.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: MissingSecurityHeader

      \n *
    • \n *
    • \n *

      \n * Description: Your request is missing a required\n * header.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoLoggingStatusForKey

      \n *
    • \n *
    • \n *

      \n * Description: There is no such thing as a logging status\n * subresource for a key.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchBucket

      \n *
    • \n *
    • \n *

      \n * Description: The specified bucket does not\n * exist.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchBucketPolicy

      \n *
    • \n *
    • \n *

      \n * Description: The specified bucket does not have a\n * bucket policy.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchKey

      \n *
    • \n *
    • \n *

      \n * Description: The specified key does not exist.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchLifecycleConfiguration

      \n *
    • \n *
    • \n *

      \n * Description: The lifecycle configuration does not\n * exist.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchUpload

      \n *
    • \n *
    • \n *

      \n * Description: The specified multipart upload does not\n * exist. The upload ID might be invalid, or the multipart upload might have been\n * aborted or completed.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchVersion

      \n *
    • \n *
    • \n *

      \n * Description: Indicates that the version ID specified in\n * the request does not match an existing version.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NotImplemented

      \n *
    • \n *
    • \n *

      \n * Description: A header you provided implies\n * functionality that is not implemented.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 501 Not Implemented

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Server

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: NotSignedUp

      \n *
    • \n *
    • \n *

      \n * Description: Your account is not signed up for the Amazon S3\n * service. You must sign up before you can use Amazon S3. You can sign up at the\n * following URL: https://aws.amazon.com/s3

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: OperationAborted

      \n *
    • \n *
    • \n *

      \n * Description: A conflicting conditional operation is\n * currently in progress against this resource. Try again.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 409 Conflict

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: PermanentRedirect

      \n *
    • \n *
    • \n *

      \n * Description: The bucket you are attempting to access\n * must be addressed using the specified endpoint. Send all future requests to\n * this endpoint.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 301 Moved Permanently

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: PreconditionFailed

      \n *
    • \n *
    • \n *

      \n * Description: At least one of the preconditions you\n * specified did not hold.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 412 Precondition Failed

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: Redirect

      \n *
    • \n *
    • \n *

      \n * Description: Temporary redirect.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 307 Moved Temporarily

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: RestoreAlreadyInProgress

      \n *
    • \n *
    • \n *

      \n * Description: Object restore is already in\n * progress.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 409 Conflict

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: RequestIsNotMultiPartContent

      \n *
    • \n *
    • \n *

      \n * Description: Bucket POST must be of the enclosure-type\n * multipart/form-data.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: RequestTimeout

      \n *
    • \n *
    • \n *

      \n * Description: Your socket connection to the server was\n * not read from or written to within the timeout period.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: RequestTimeTooSkewed

      \n *
    • \n *
    • \n *

      \n * Description: The difference between the request time\n * and the server's time is too large.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: RequestTorrentOfBucketError

      \n *
    • \n *
    • \n *

      \n * Description: Requesting the torrent file of a bucket is\n * not permitted.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: SignatureDoesNotMatch

      \n *
    • \n *
    • \n *

      \n * Description: The request signature we calculated does\n * not match the signature you provided. Check your AWS secret access key and\n * signing method. For more information, see REST Authentication and\n * SOAP Authentication\n * for details.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 403 Forbidden

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: ServiceUnavailable

      \n *
    • \n *
    • \n *

      \n * Description: Reduce your request rate.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 503 Service Unavailable

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Server

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: SlowDown

      \n *
    • \n *
    • \n *

      \n * Description: Reduce your request rate.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 503 Slow Down

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Server

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: TemporaryRedirect

      \n *
    • \n *
    • \n *

      \n * Description: You are being redirected to the bucket\n * while DNS updates.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 307 Moved Temporarily

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: TokenRefreshRequired

      \n *
    • \n *
    • \n *

      \n * Description: The provided token must be\n * refreshed.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: TooManyBuckets

      \n *
    • \n *
    • \n *

      \n * Description: You have attempted to create more buckets\n * than allowed.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: UnexpectedContent

      \n *
    • \n *
    • \n *

      \n * Description: This request does not support\n * content.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: UnresolvableGrantByEmailAddress

      \n *
    • \n *
    • \n *

      \n * Description: The email address you provided does not\n * match any account on record.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
  • \n *
      \n *
    • \n *

      \n * Code: UserKeyMustBeSpecified

      \n *
    • \n *
    • \n *

      \n * Description: The bucket POST must contain the specified\n * field name. If it is specified, check the order of the fields.

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 400 Bad Request

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client

      \n *
    • \n *
    \n *
  • \n *
\n *

\n */\n Code?: string;\n\n /**\n *

The error message contains a generic description of the error condition in English. It\n * is intended for a human audience. Simple programs display the message directly to the end\n * user if they encounter an error condition they don't know how or don't care to handle.\n * Sophisticated programs with more exhaustive error handling and proper internationalization\n * are more likely to ignore the error message.

\n */\n Message?: string;\n}\n\nexport namespace _Error {\n export const filterSensitiveLog = (obj: _Error): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectsOutput {\n /**\n *

Container element for a successful delete. It identifies the object that was\n * successfully deleted.

\n */\n Deleted?: DeletedObject[];\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n\n /**\n *

Container for a failed delete operation that describes the object that Amazon S3 attempted to\n * delete and the error it encountered.

\n */\n Errors?: _Error[];\n}\n\nexport namespace DeleteObjectsOutput {\n export const filterSensitiveLog = (obj: DeleteObjectsOutput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Object Identifier is unique value to identify objects.

\n */\nexport interface ObjectIdentifier {\n /**\n *

Key name of the object to delete.

\n */\n Key: string | undefined;\n\n /**\n *

VersionId for the specific version of the object to delete.

\n */\n VersionId?: string;\n}\n\nexport namespace ObjectIdentifier {\n export const filterSensitiveLog = (obj: ObjectIdentifier): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the objects to delete.

\n */\nexport interface Delete {\n /**\n *

The objects to delete.

\n */\n Objects: ObjectIdentifier[] | undefined;\n\n /**\n *

Element to enable quiet mode for the request. When you add this element, you must set\n * its value to true.

\n */\n Quiet?: boolean;\n}\n\nexport namespace Delete {\n export const filterSensitiveLog = (obj: Delete): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectsRequest {\n /**\n *

The bucket name containing the objects to delete.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Container for the request.

\n */\n Delete: Delete | undefined;\n\n /**\n *

The concatenation of the authentication device's serial number, a space, and the value\n * that is displayed on your authentication device. Required to permanently delete a versioned\n * object if versioning is configured with MFA delete enabled.

\n */\n MFA?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

Specifies whether you want to delete this object even if it has a Governance-type Object\n * Lock in place. You must have sufficient permissions to perform this operation.

\n */\n BypassGovernanceRetention?: boolean;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteObjectsRequest {\n export const filterSensitiveLog = (obj: DeleteObjectsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectTaggingOutput {\n /**\n *

The versionId of the object the tag-set was removed from.

\n */\n VersionId?: string;\n}\n\nexport namespace DeleteObjectTaggingOutput {\n export const filterSensitiveLog = (obj: DeleteObjectTaggingOutput): any => ({\n ...obj,\n });\n}\n\nexport interface DeleteObjectTaggingRequest {\n /**\n *

The bucket name containing the objects from which to remove the tags.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Name of the object key.

\n */\n Key: string | undefined;\n\n /**\n *

The versionId of the object that the tag-set will be removed from.

\n */\n VersionId?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeleteObjectTaggingRequest {\n export const filterSensitiveLog = (obj: DeleteObjectTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport interface DeletePublicAccessBlockRequest {\n /**\n *

The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.\n *

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace DeletePublicAccessBlockRequest {\n export const filterSensitiveLog = (obj: DeletePublicAccessBlockRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketAccelerateConfigurationOutput {\n /**\n *

The accelerate configuration of the bucket.

\n */\n Status?: BucketAccelerateStatus | string;\n}\n\nexport namespace GetBucketAccelerateConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketAccelerateConfigurationOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketAccelerateConfigurationRequest {\n /**\n *

The name of the bucket for which the accelerate configuration is retrieved.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketAccelerateConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketAccelerateConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketAclOutput {\n /**\n *

Container for the bucket owner's display name and ID.

\n */\n Owner?: Owner;\n\n /**\n *

A list of grants.

\n */\n Grants?: Grant[];\n}\n\nexport namespace GetBucketAclOutput {\n export const filterSensitiveLog = (obj: GetBucketAclOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketAclRequest {\n /**\n *

Specifies the S3 bucket whose ACL is being requested.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketAclRequest {\n export const filterSensitiveLog = (obj: GetBucketAclRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container of a key value name pair.

\n */\nexport interface Tag {\n /**\n *

Name of the object key.

\n */\n Key: string | undefined;\n\n /**\n *

Value of the tag.

\n */\n Value: string | undefined;\n}\n\nexport namespace Tag {\n export const filterSensitiveLog = (obj: Tag): any => ({\n ...obj,\n });\n}\n\n/**\n *

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter.\n * The operator must have at least two predicates in any combination, and an object must match\n * all of the predicates for the filter to apply.

\n */\nexport interface AnalyticsAndOperator {\n /**\n *

The prefix to use when evaluating an AND predicate: The prefix that an object must have\n * to be included in the metrics results.

\n */\n Prefix?: string;\n\n /**\n *

The list of tags to use when evaluating an AND predicate.

\n */\n Tags?: Tag[];\n}\n\nexport namespace AnalyticsAndOperator {\n export const filterSensitiveLog = (obj: AnalyticsAndOperator): any => ({\n ...obj,\n });\n}\n\n/**\n *

The filter used to describe a set of objects for analyses. A filter must have exactly\n * one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided,\n * all objects will be considered in any analysis.

\n */\nexport type AnalyticsFilter =\n | AnalyticsFilter.AndMember\n | AnalyticsFilter.PrefixMember\n | AnalyticsFilter.TagMember\n | AnalyticsFilter.$UnknownMember;\n\nexport namespace AnalyticsFilter {\n /**\n *

The prefix to use when evaluating an analytics filter.

\n */\n export interface PrefixMember {\n Prefix: string;\n Tag?: never;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

The tag to use when evaluating an analytics filter.

\n */\n export interface TagMember {\n Prefix?: never;\n Tag: Tag;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

A conjunction (logical AND) of predicates, which is used in evaluating an analytics\n * filter. The operator must have at least two predicates.

\n */\n export interface AndMember {\n Prefix?: never;\n Tag?: never;\n And: AnalyticsAndOperator;\n $unknown?: never;\n }\n\n export interface $UnknownMember {\n Prefix?: never;\n Tag?: never;\n And?: never;\n $unknown: [string, any];\n }\n\n export interface Visitor {\n Prefix: (value: string) => T;\n Tag: (value: Tag) => T;\n And: (value: AnalyticsAndOperator) => T;\n _: (name: string, value: any) => T;\n }\n\n export const visit = (value: AnalyticsFilter, visitor: Visitor): T => {\n if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined) return visitor.Tag(value.Tag);\n if (value.And !== undefined) return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n\n export const filterSensitiveLog = (obj: AnalyticsFilter): any => {\n if (obj.Prefix !== undefined) return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined) return { And: AnalyticsAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: \"UNKNOWN\" };\n };\n}\n\nexport type AnalyticsS3ExportFileFormat = \"CSV\";\n\n/**\n *

Contains information about where to publish the analytics results.

\n */\nexport interface AnalyticsS3BucketDestination {\n /**\n *

Specifies the file format used when exporting data to Amazon S3.

\n */\n Format: AnalyticsS3ExportFileFormat | string | undefined;\n\n /**\n *

The account ID that owns the destination S3 bucket. If no account ID is provided, the\n * owner is not validated before exporting data.

\n * \n *

Although this value is optional, we strongly recommend that you set it to help\n * prevent problems if the destination bucket ownership changes.

\n *
\n */\n BucketAccountId?: string;\n\n /**\n *

The Amazon Resource Name (ARN) of the bucket to which data is exported.

\n */\n Bucket: string | undefined;\n\n /**\n *

The prefix to use when exporting data. The prefix is prepended to all results.

\n */\n Prefix?: string;\n}\n\nexport namespace AnalyticsS3BucketDestination {\n export const filterSensitiveLog = (obj: AnalyticsS3BucketDestination): any => ({\n ...obj,\n });\n}\n\n/**\n *

Where to publish the analytics results.

\n */\nexport interface AnalyticsExportDestination {\n /**\n *

A destination signifying output to an S3 bucket.

\n */\n S3BucketDestination: AnalyticsS3BucketDestination | undefined;\n}\n\nexport namespace AnalyticsExportDestination {\n export const filterSensitiveLog = (obj: AnalyticsExportDestination): any => ({\n ...obj,\n });\n}\n\nexport type StorageClassAnalysisSchemaVersion = \"V_1\";\n\n/**\n *

Container for data related to the storage class analysis for an Amazon S3 bucket for\n * export.

\n */\nexport interface StorageClassAnalysisDataExport {\n /**\n *

The version of the output schema to use when exporting data. Must be\n * V_1.

\n */\n OutputSchemaVersion: StorageClassAnalysisSchemaVersion | string | undefined;\n\n /**\n *

The place to store the data for an analysis.

\n */\n Destination: AnalyticsExportDestination | undefined;\n}\n\nexport namespace StorageClassAnalysisDataExport {\n export const filterSensitiveLog = (obj: StorageClassAnalysisDataExport): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies data related to access patterns to be collected and made available to analyze\n * the tradeoffs between different storage classes for an Amazon S3 bucket.

\n */\nexport interface StorageClassAnalysis {\n /**\n *

Specifies how data related to the storage class analysis for an Amazon S3 bucket should be\n * exported.

\n */\n DataExport?: StorageClassAnalysisDataExport;\n}\n\nexport namespace StorageClassAnalysis {\n export const filterSensitiveLog = (obj: StorageClassAnalysis): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the configuration and any analyses for the analytics filter of an Amazon S3\n * bucket.

\n */\nexport interface AnalyticsConfiguration {\n /**\n *

The ID that identifies the analytics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The filter used to describe a set of objects for analyses. A filter must have exactly\n * one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided,\n * all objects will be considered in any analysis.

\n */\n Filter?: AnalyticsFilter;\n\n /**\n *

Contains data related to access patterns to be collected and made available to analyze\n * the tradeoffs between different storage classes.

\n */\n StorageClassAnalysis: StorageClassAnalysis | undefined;\n}\n\nexport namespace AnalyticsConfiguration {\n export const filterSensitiveLog = (obj: AnalyticsConfiguration): any => ({\n ...obj,\n ...(obj.Filter && { Filter: AnalyticsFilter.filterSensitiveLog(obj.Filter) }),\n });\n}\n\nexport interface GetBucketAnalyticsConfigurationOutput {\n /**\n *

The configuration and any analyses for the analytics filter.

\n */\n AnalyticsConfiguration?: AnalyticsConfiguration;\n}\n\nexport namespace GetBucketAnalyticsConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketAnalyticsConfigurationOutput): any => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration),\n }),\n });\n}\n\nexport interface GetBucketAnalyticsConfigurationRequest {\n /**\n *

The name of the bucket from which an analytics configuration is retrieved.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID that identifies the analytics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketAnalyticsConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketAnalyticsConfigurationRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies a cross-origin access rule for an Amazon S3 bucket.

\n */\nexport interface CORSRule {\n /**\n *

Headers that are specified in the Access-Control-Request-Headers header.\n * These headers are allowed in a preflight OPTIONS request. In response to any preflight\n * OPTIONS request, Amazon S3 returns any requested headers that are allowed.

\n */\n AllowedHeaders?: string[];\n\n /**\n *

An HTTP method that you allow the origin to execute. Valid values are GET,\n * PUT, HEAD, POST, and DELETE.

\n */\n AllowedMethods: string[] | undefined;\n\n /**\n *

One or more origins you want customers to be able to access the bucket from.

\n */\n AllowedOrigins: string[] | undefined;\n\n /**\n *

One or more headers in the response that you want customers to be able to access from\n * their applications (for example, from a JavaScript XMLHttpRequest\n * object).

\n */\n ExposeHeaders?: string[];\n\n /**\n *

The time in seconds that your browser is to cache the preflight response for the\n * specified resource.

\n */\n MaxAgeSeconds?: number;\n}\n\nexport namespace CORSRule {\n export const filterSensitiveLog = (obj: CORSRule): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketCorsOutput {\n /**\n *

A set of origins and methods (cross-origin access that you want to allow). You can add\n * up to 100 rules to the configuration.

\n */\n CORSRules?: CORSRule[];\n}\n\nexport namespace GetBucketCorsOutput {\n export const filterSensitiveLog = (obj: GetBucketCorsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketCorsRequest {\n /**\n *

The bucket name for which to get the cors configuration.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketCorsRequest {\n export const filterSensitiveLog = (obj: GetBucketCorsRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes the default server-side encryption to apply to new objects in the bucket. If a\n * PUT Object request doesn't specify any server-side encryption, this default encryption will\n * be applied. For more information, see PUT Bucket encryption in\n * the Amazon Simple Storage Service API Reference.

\n */\nexport interface ServerSideEncryptionByDefault {\n /**\n *

Server-side encryption algorithm to use for the default encryption.

\n */\n SSEAlgorithm: ServerSideEncryption | string | undefined;\n\n /**\n *

AWS Key Management Service (KMS) customer master key ID to use for the default\n * encryption. This parameter is allowed if and only if SSEAlgorithm is set to\n * aws:kms.

\n *

You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you\n * are using encryption with cross-account operations, you must use a fully qualified CMK ARN.\n * For more information, see Using encryption for cross-account operations.

\n *

\n * For example:\n *

\n *
    \n *
  • \n *

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n *

    \n *
  • \n *
  • \n *

    Key ARN:\n * arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n *

    \n *
  • \n *
\n * \n *

Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more information, see\n * Using Symmetric and\n * Asymmetric Keys in the AWS Key Management Service Developer\n * Guide.

\n *
\n */\n KMSMasterKeyID?: string;\n}\n\nexport namespace ServerSideEncryptionByDefault {\n export const filterSensitiveLog = (obj: ServerSideEncryptionByDefault): any => ({\n ...obj,\n ...(obj.KMSMasterKeyID && { KMSMasterKeyID: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

Specifies the default server-side encryption configuration.

\n */\nexport interface ServerSideEncryptionRule {\n /**\n *

Specifies the default server-side encryption to apply to new objects in the bucket. If a\n * PUT Object request doesn't specify any server-side encryption, this default encryption will\n * be applied.

\n */\n ApplyServerSideEncryptionByDefault?: ServerSideEncryptionByDefault;\n\n /**\n *

Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.

\n *

For more information, see Amazon S3 Bucket Keys in the Amazon Simple Storage Service Developer Guide.

\n */\n BucketKeyEnabled?: boolean;\n}\n\nexport namespace ServerSideEncryptionRule {\n export const filterSensitiveLog = (obj: ServerSideEncryptionRule): any => ({\n ...obj,\n ...(obj.ApplyServerSideEncryptionByDefault && {\n ApplyServerSideEncryptionByDefault: ServerSideEncryptionByDefault.filterSensitiveLog(\n obj.ApplyServerSideEncryptionByDefault\n ),\n }),\n });\n}\n\n/**\n *

Specifies the default server-side-encryption configuration.

\n */\nexport interface ServerSideEncryptionConfiguration {\n /**\n *

Container for information about a particular server-side encryption configuration\n * rule.

\n */\n Rules: ServerSideEncryptionRule[] | undefined;\n}\n\nexport namespace ServerSideEncryptionConfiguration {\n export const filterSensitiveLog = (obj: ServerSideEncryptionConfiguration): any => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => ServerSideEncryptionRule.filterSensitiveLog(item)) }),\n });\n}\n\nexport interface GetBucketEncryptionOutput {\n /**\n *

Specifies the default server-side-encryption configuration.

\n */\n ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;\n}\n\nexport namespace GetBucketEncryptionOutput {\n export const filterSensitiveLog = (obj: GetBucketEncryptionOutput): any => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration.filterSensitiveLog(\n obj.ServerSideEncryptionConfiguration\n ),\n }),\n });\n}\n\nexport interface GetBucketEncryptionRequest {\n /**\n *

The name of the bucket from which the server-side encryption configuration is\n * retrieved.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketEncryptionRequest {\n export const filterSensitiveLog = (obj: GetBucketEncryptionRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for specifying S3 Intelligent-Tiering filters. The filters determine the\n * subset of objects to which the rule applies.

\n */\nexport interface IntelligentTieringAndOperator {\n /**\n *

An object key name prefix that identifies the subset of objects to which the\n * configuration applies.

\n */\n Prefix?: string;\n\n /**\n *

All of these tags must exist in the object's tag set in order for the configuration to\n * apply.

\n */\n Tags?: Tag[];\n}\n\nexport namespace IntelligentTieringAndOperator {\n export const filterSensitiveLog = (obj: IntelligentTieringAndOperator): any => ({\n ...obj,\n });\n}\n\n/**\n *

The Filter is used to identify objects that the S3 Intelligent-Tiering\n * configuration applies to.

\n */\nexport interface IntelligentTieringFilter {\n /**\n *

An object key name prefix that identifies the subset of objects to which the rule\n * applies.

\n */\n Prefix?: string;\n\n /**\n *

A container of a key value name pair.

\n */\n Tag?: Tag;\n\n /**\n *

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter.\n * The operator must have at least two predicates, and an object must match all of the\n * predicates in order for the filter to apply.

\n */\n And?: IntelligentTieringAndOperator;\n}\n\nexport namespace IntelligentTieringFilter {\n export const filterSensitiveLog = (obj: IntelligentTieringFilter): any => ({\n ...obj,\n });\n}\n\nexport type IntelligentTieringStatus = \"Disabled\" | \"Enabled\";\n\nexport type IntelligentTieringAccessTier = \"ARCHIVE_ACCESS\" | \"DEEP_ARCHIVE_ACCESS\";\n\n/**\n *

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by\n * automatically moving data to the most cost-effective storage access tier, without\n * additional operational overhead.

\n */\nexport interface Tiering {\n /**\n *

The number of consecutive days of no access after which an object will be eligible to be\n * transitioned to the corresponding tier. The minimum number of days specified for\n * Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least\n * 180 days. The maximum can be up to 2 years (730 days).

\n */\n Days: number | undefined;\n\n /**\n *

S3 Intelligent-Tiering access tier. See Storage class for\n * automatically optimizing frequently and infrequently accessed objects for a list\n * of access tiers in the S3 Intelligent-Tiering storage class.

\n */\n AccessTier: IntelligentTieringAccessTier | string | undefined;\n}\n\nexport namespace Tiering {\n export const filterSensitiveLog = (obj: Tiering): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.

\n *

For information about the S3 Intelligent-Tiering storage class, see Storage class for\n * automatically optimizing frequently and infrequently accessed objects.

\n */\nexport interface IntelligentTieringConfiguration {\n /**\n *

The ID used to identify the S3 Intelligent-Tiering configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Specifies a bucket filter. The configuration only includes objects that meet the\n * filter's criteria.

\n */\n Filter?: IntelligentTieringFilter;\n\n /**\n *

Specifies the status of the configuration.

\n */\n Status: IntelligentTieringStatus | string | undefined;\n\n /**\n *

Specifies the S3 Intelligent-Tiering storage class tier of the configuration.

\n */\n Tierings: Tiering[] | undefined;\n}\n\nexport namespace IntelligentTieringConfiguration {\n export const filterSensitiveLog = (obj: IntelligentTieringConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketIntelligentTieringConfigurationOutput {\n /**\n *

Container for S3 Intelligent-Tiering configuration.

\n */\n IntelligentTieringConfiguration?: IntelligentTieringConfiguration;\n}\n\nexport namespace GetBucketIntelligentTieringConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketIntelligentTieringConfigurationOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketIntelligentTieringConfigurationRequest {\n /**\n *

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the S3 Intelligent-Tiering configuration.

\n */\n Id: string | undefined;\n}\n\nexport namespace GetBucketIntelligentTieringConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketIntelligentTieringConfigurationRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the use of SSE-KMS to encrypt delivered inventory reports.

\n */\nexport interface SSEKMS {\n /**\n *

Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed\n * customer master key (CMK) to use for encrypting inventory reports.

\n */\n KeyId: string | undefined;\n}\n\nexport namespace SSEKMS {\n export const filterSensitiveLog = (obj: SSEKMS): any => ({\n ...obj,\n ...(obj.KeyId && { KeyId: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

Specifies the use of SSE-S3 to encrypt delivered inventory reports.

\n */\nexport interface SSES3 {}\n\nexport namespace SSES3 {\n export const filterSensitiveLog = (obj: SSES3): any => ({\n ...obj,\n });\n}\n\n/**\n *

Contains the type of server-side encryption used to encrypt the inventory\n * results.

\n */\nexport interface InventoryEncryption {\n /**\n *

Specifies the use of SSE-S3 to encrypt delivered inventory reports.

\n */\n SSES3?: SSES3;\n\n /**\n *

Specifies the use of SSE-KMS to encrypt delivered inventory reports.

\n */\n SSEKMS?: SSEKMS;\n}\n\nexport namespace InventoryEncryption {\n export const filterSensitiveLog = (obj: InventoryEncryption): any => ({\n ...obj,\n ...(obj.SSEKMS && { SSEKMS: SSEKMS.filterSensitiveLog(obj.SSEKMS) }),\n });\n}\n\nexport type InventoryFormat = \"CSV\" | \"ORC\" | \"Parquet\";\n\n/**\n *

Contains the bucket name, file format, bucket owner (optional), and prefix (optional)\n * where inventory results are published.

\n */\nexport interface InventoryS3BucketDestination {\n /**\n *

The account ID that owns the destination S3 bucket. If no account ID is provided, the\n * owner is not validated before exporting data.

\n * \n *

Although this value is optional, we strongly recommend that you set it to help\n * prevent problems if the destination bucket ownership changes.

\n *
\n */\n AccountId?: string;\n\n /**\n *

The Amazon Resource Name (ARN) of the bucket where inventory results will be\n * published.

\n */\n Bucket: string | undefined;\n\n /**\n *

Specifies the output format of the inventory results.

\n */\n Format: InventoryFormat | string | undefined;\n\n /**\n *

The prefix that is prepended to all inventory results.

\n */\n Prefix?: string;\n\n /**\n *

Contains the type of server-side encryption used to encrypt the inventory\n * results.

\n */\n Encryption?: InventoryEncryption;\n}\n\nexport namespace InventoryS3BucketDestination {\n export const filterSensitiveLog = (obj: InventoryS3BucketDestination): any => ({\n ...obj,\n ...(obj.Encryption && { Encryption: InventoryEncryption.filterSensitiveLog(obj.Encryption) }),\n });\n}\n\n/**\n *

Specifies the inventory configuration for an Amazon S3 bucket.

\n */\nexport interface InventoryDestination {\n /**\n *

Contains the bucket name, file format, bucket owner (optional), and prefix (optional)\n * where inventory results are published.

\n */\n S3BucketDestination: InventoryS3BucketDestination | undefined;\n}\n\nexport namespace InventoryDestination {\n export const filterSensitiveLog = (obj: InventoryDestination): any => ({\n ...obj,\n ...(obj.S3BucketDestination && {\n S3BucketDestination: InventoryS3BucketDestination.filterSensitiveLog(obj.S3BucketDestination),\n }),\n });\n}\n\n/**\n *

Specifies an inventory filter. The inventory only includes objects that meet the\n * filter's criteria.

\n */\nexport interface InventoryFilter {\n /**\n *

The prefix that an object must have to be included in the inventory results.

\n */\n Prefix: string | undefined;\n}\n\nexport namespace InventoryFilter {\n export const filterSensitiveLog = (obj: InventoryFilter): any => ({\n ...obj,\n });\n}\n\nexport type InventoryIncludedObjectVersions = \"All\" | \"Current\";\n\nexport type InventoryOptionalField =\n | \"ETag\"\n | \"EncryptionStatus\"\n | \"IntelligentTieringAccessTier\"\n | \"IsMultipartUploaded\"\n | \"LastModifiedDate\"\n | \"ObjectLockLegalHoldStatus\"\n | \"ObjectLockMode\"\n | \"ObjectLockRetainUntilDate\"\n | \"ReplicationStatus\"\n | \"Size\"\n | \"StorageClass\";\n\nexport type InventoryFrequency = \"Daily\" | \"Weekly\";\n\n/**\n *

Specifies the schedule for generating inventory results.

\n */\nexport interface InventorySchedule {\n /**\n *

Specifies how frequently inventory results are produced.

\n */\n Frequency: InventoryFrequency | string | undefined;\n}\n\nexport namespace InventorySchedule {\n export const filterSensitiveLog = (obj: InventorySchedule): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the inventory configuration for an Amazon S3 bucket. For more information, see\n * GET Bucket inventory in the Amazon Simple Storage Service API Reference.\n *

\n */\nexport interface InventoryConfiguration {\n /**\n *

Contains information about where to publish the inventory results.

\n */\n Destination: InventoryDestination | undefined;\n\n /**\n *

Specifies whether the inventory is enabled or disabled. If set to True, an\n * inventory list is generated. If set to False, no inventory list is\n * generated.

\n */\n IsEnabled: boolean | undefined;\n\n /**\n *

Specifies an inventory filter. The inventory only includes objects that meet the\n * filter's criteria.

\n */\n Filter?: InventoryFilter;\n\n /**\n *

The ID used to identify the inventory configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Object versions to include in the inventory list. If set to All, the list\n * includes all the object versions, which adds the version-related fields\n * VersionId, IsLatest, and DeleteMarker to the\n * list. If set to Current, the list does not contain these version-related\n * fields.

\n */\n IncludedObjectVersions: InventoryIncludedObjectVersions | string | undefined;\n\n /**\n *

Contains the optional fields that are included in the inventory results.

\n */\n OptionalFields?: (InventoryOptionalField | string)[];\n\n /**\n *

Specifies the schedule for generating inventory results.

\n */\n Schedule: InventorySchedule | undefined;\n}\n\nexport namespace InventoryConfiguration {\n export const filterSensitiveLog = (obj: InventoryConfiguration): any => ({\n ...obj,\n ...(obj.Destination && { Destination: InventoryDestination.filterSensitiveLog(obj.Destination) }),\n });\n}\n\nexport interface GetBucketInventoryConfigurationOutput {\n /**\n *

Specifies the inventory configuration.

\n */\n InventoryConfiguration?: InventoryConfiguration;\n}\n\nexport namespace GetBucketInventoryConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketInventoryConfigurationOutput): any => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: InventoryConfiguration.filterSensitiveLog(obj.InventoryConfiguration),\n }),\n });\n}\n\nexport interface GetBucketInventoryConfigurationRequest {\n /**\n *

The name of the bucket containing the inventory configuration to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the inventory configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketInventoryConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketInventoryConfigurationRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the expiration for the lifecycle of the object.

\n */\nexport interface LifecycleExpiration {\n /**\n *

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601\n * Format.

\n */\n Date?: Date;\n\n /**\n *

Indicates the lifetime, in days, of the objects that are subject to the rule. The value\n * must be a non-zero positive integer.

\n */\n Days?: number;\n\n /**\n *

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set\n * to true, the delete marker will be expired; if set to false the policy takes no action.\n * This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

\n */\n ExpiredObjectDeleteMarker?: boolean;\n}\n\nexport namespace LifecycleExpiration {\n export const filterSensitiveLog = (obj: LifecycleExpiration): any => ({\n ...obj,\n });\n}\n\n/**\n *

This is used in a Lifecycle Rule Filter to apply a logical AND to two or more\n * predicates. The Lifecycle Rule will apply to any object matching all of the predicates\n * configured inside the And operator.

\n */\nexport interface LifecycleRuleAndOperator {\n /**\n *

Prefix identifying one or more objects to which the rule applies.

\n */\n Prefix?: string;\n\n /**\n *

All of these tags must exist in the object's tag set in order for the rule to\n * apply.

\n */\n Tags?: Tag[];\n}\n\nexport namespace LifecycleRuleAndOperator {\n export const filterSensitiveLog = (obj: LifecycleRuleAndOperator): any => ({\n ...obj,\n });\n}\n\n/**\n *

The Filter is used to identify objects that a Lifecycle Rule applies to. A\n * Filter must have exactly one of Prefix, Tag, or\n * And specified.

\n */\nexport type LifecycleRuleFilter =\n | LifecycleRuleFilter.AndMember\n | LifecycleRuleFilter.PrefixMember\n | LifecycleRuleFilter.TagMember\n | LifecycleRuleFilter.$UnknownMember;\n\nexport namespace LifecycleRuleFilter {\n /**\n *

Prefix identifying one or more objects to which the rule applies.

\n */\n export interface PrefixMember {\n Prefix: string;\n Tag?: never;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

This tag must exist in the object's tag set in order for the rule to apply.

\n */\n export interface TagMember {\n Prefix?: never;\n Tag: Tag;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

This is used in a Lifecycle Rule Filter to apply a logical AND to two or more\n * predicates. The Lifecycle Rule will apply to any object matching all of the predicates\n * configured inside the And operator.

\n */\n export interface AndMember {\n Prefix?: never;\n Tag?: never;\n And: LifecycleRuleAndOperator;\n $unknown?: never;\n }\n\n export interface $UnknownMember {\n Prefix?: never;\n Tag?: never;\n And?: never;\n $unknown: [string, any];\n }\n\n export interface Visitor {\n Prefix: (value: string) => T;\n Tag: (value: Tag) => T;\n And: (value: LifecycleRuleAndOperator) => T;\n _: (name: string, value: any) => T;\n }\n\n export const visit = (value: LifecycleRuleFilter, visitor: Visitor): T => {\n if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined) return visitor.Tag(value.Tag);\n if (value.And !== undefined) return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n\n export const filterSensitiveLog = (obj: LifecycleRuleFilter): any => {\n if (obj.Prefix !== undefined) return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined) return { And: LifecycleRuleAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: \"UNKNOWN\" };\n };\n}\n\n/**\n *

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently\n * deletes the noncurrent object versions. You set this lifecycle configuration action on a\n * bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent\n * object versions at a specific period in the object's lifetime.

\n */\nexport interface NoncurrentVersionExpiration {\n /**\n *

Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n * associated action. For information about the noncurrent days calculations, see How\n * Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple\n * Storage Service Developer Guide.

\n */\n NoncurrentDays?: number;\n}\n\nexport namespace NoncurrentVersionExpiration {\n export const filterSensitiveLog = (obj: NoncurrentVersionExpiration): any => ({\n ...obj,\n });\n}\n\nexport type TransitionStorageClass = \"DEEP_ARCHIVE\" | \"GLACIER\" | \"INTELLIGENT_TIERING\" | \"ONEZONE_IA\" | \"STANDARD_IA\";\n\n/**\n *

Container for the transition rule that describes when noncurrent objects transition to\n * the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,\n * GLACIER, or DEEP_ARCHIVE storage class. If your bucket is\n * versioning-enabled (or versioning is suspended), you can set this action to request that\n * Amazon S3 transition noncurrent object versions to the STANDARD_IA,\n * ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or\n * DEEP_ARCHIVE storage class at a specific period in the object's\n * lifetime.

\n */\nexport interface NoncurrentVersionTransition {\n /**\n *

Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n * associated action. For information about the noncurrent days calculations, see How\n * Amazon S3 Calculates How Long an Object Has Been Noncurrent in the\n * Amazon Simple Storage Service Developer Guide.

\n */\n NoncurrentDays?: number;\n\n /**\n *

The class of storage used to store the object.

\n */\n StorageClass?: TransitionStorageClass | string;\n}\n\nexport namespace NoncurrentVersionTransition {\n export const filterSensitiveLog = (obj: NoncurrentVersionTransition): any => ({\n ...obj,\n });\n}\n\nexport type ExpirationStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

Specifies when an object transitions to a specified storage class. For more information\n * about Amazon S3 lifecycle configuration rules, see Transitioning\n * Objects Using Amazon S3 Lifecycle in the Amazon Simple Storage Service Developer Guide.

\n */\nexport interface Transition {\n /**\n *

Indicates when objects are transitioned to the specified storage class. The date value\n * must be in ISO 8601 format. The time is always midnight UTC.

\n */\n Date?: Date;\n\n /**\n *

Indicates the number of days after creation when objects are transitioned to the\n * specified storage class. The value must be a positive integer.

\n */\n Days?: number;\n\n /**\n *

The storage class to which you want the object to transition.

\n */\n StorageClass?: TransitionStorageClass | string;\n}\n\nexport namespace Transition {\n export const filterSensitiveLog = (obj: Transition): any => ({\n ...obj,\n });\n}\n\n/**\n *

A lifecycle rule for individual objects in an Amazon S3 bucket.

\n */\nexport interface LifecycleRule {\n /**\n *

Specifies the expiration for the lifecycle of the object in the form of date, days and,\n * whether the object has a delete marker.

\n */\n Expiration?: LifecycleExpiration;\n\n /**\n *

Unique identifier for the rule. The value cannot be longer than 255 characters.

\n */\n ID?: string;\n\n /**\n * @deprecated\n *\n *

Prefix identifying one or more objects to which the rule applies. This is\n * No longer used; use Filter instead.

\n */\n Prefix?: string;\n\n /**\n *

The Filter is used to identify objects that a Lifecycle Rule applies to. A\n * Filter must have exactly one of Prefix, Tag, or\n * And specified.

\n */\n Filter?: LifecycleRuleFilter;\n\n /**\n *

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not\n * currently being applied.

\n */\n Status: ExpirationStatus | string | undefined;\n\n /**\n *

Specifies when an Amazon S3 object transitions to a specified storage class.

\n */\n Transitions?: Transition[];\n\n /**\n *

Specifies the transition rule for the lifecycle rule that describes when noncurrent\n * objects transition to a specific storage class. If your bucket is versioning-enabled (or\n * versioning is suspended), you can set this action to request that Amazon S3 transition\n * noncurrent object versions to a specific storage class at a set period in the object's\n * lifetime.

\n */\n NoncurrentVersionTransitions?: NoncurrentVersionTransition[];\n\n /**\n *

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently\n * deletes the noncurrent object versions. You set this lifecycle configuration action on a\n * bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent\n * object versions at a specific period in the object's lifetime.

\n */\n NoncurrentVersionExpiration?: NoncurrentVersionExpiration;\n\n /**\n *

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will\n * wait before permanently removing all parts of the upload. For more information, see \n * Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the\n * Amazon Simple Storage Service Developer Guide.

\n */\n AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload;\n}\n\nexport namespace LifecycleRule {\n export const filterSensitiveLog = (obj: LifecycleRule): any => ({\n ...obj,\n ...(obj.Filter && { Filter: LifecycleRuleFilter.filterSensitiveLog(obj.Filter) }),\n });\n}\n\nexport interface GetBucketLifecycleConfigurationOutput {\n /**\n *

Container for a lifecycle rule.

\n */\n Rules?: LifecycleRule[];\n}\n\nexport namespace GetBucketLifecycleConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketLifecycleConfigurationOutput): any => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => LifecycleRule.filterSensitiveLog(item)) }),\n });\n}\n\nexport interface GetBucketLifecycleConfigurationRequest {\n /**\n *

The name of the bucket for which to get the lifecycle information.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketLifecycleConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketLifecycleConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketLocationOutput {\n /**\n *

Specifies the Region where the bucket resides. For a list of all the Amazon S3 supported\n * location constraints by Region, see Regions and Endpoints.\n * Buckets in Region us-east-1 have a LocationConstraint of\n * null.

\n */\n LocationConstraint?: BucketLocationConstraint | string;\n}\n\nexport namespace GetBucketLocationOutput {\n export const filterSensitiveLog = (obj: GetBucketLocationOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketLocationRequest {\n /**\n *

The name of the bucket for which to get the location.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketLocationRequest {\n export const filterSensitiveLog = (obj: GetBucketLocationRequest): any => ({\n ...obj,\n });\n}\n\nexport type BucketLogsPermission = \"FULL_CONTROL\" | \"READ\" | \"WRITE\";\n\n/**\n *

Container for granting information.

\n */\nexport interface TargetGrant {\n /**\n *

Container for the person being granted permissions.

\n */\n Grantee?: Grantee;\n\n /**\n *

Logging permissions assigned to the grantee for the bucket.

\n */\n Permission?: BucketLogsPermission | string;\n}\n\nexport namespace TargetGrant {\n export const filterSensitiveLog = (obj: TargetGrant): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys\n * for a bucket. For more information, see PUT Bucket logging in the\n * Amazon Simple Storage Service API Reference.

\n */\nexport interface LoggingEnabled {\n /**\n *

Specifies the bucket where you want Amazon S3 to store server access logs. You can have your\n * logs delivered to any bucket that you own, including the same bucket that is being logged.\n * You can also configure multiple buckets to deliver their logs to the same target bucket. In\n * this case, you should choose a different TargetPrefix for each source bucket\n * so that the delivered log files can be distinguished by key.

\n */\n TargetBucket: string | undefined;\n\n /**\n *

Container for granting information.

\n */\n TargetGrants?: TargetGrant[];\n\n /**\n *

A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a\n * single bucket, you can use a prefix to distinguish which log files came from which\n * bucket.

\n */\n TargetPrefix: string | undefined;\n}\n\nexport namespace LoggingEnabled {\n export const filterSensitiveLog = (obj: LoggingEnabled): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketLoggingOutput {\n /**\n *

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys\n * for a bucket. For more information, see PUT Bucket logging in the\n * Amazon Simple Storage Service API Reference.

\n */\n LoggingEnabled?: LoggingEnabled;\n}\n\nexport namespace GetBucketLoggingOutput {\n export const filterSensitiveLog = (obj: GetBucketLoggingOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketLoggingRequest {\n /**\n *

The bucket name for which to get the logging information.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketLoggingRequest {\n export const filterSensitiveLog = (obj: GetBucketLoggingRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter.\n * The operator must have at least two predicates, and an object must match all of the\n * predicates in order for the filter to apply.

\n */\nexport interface MetricsAndOperator {\n /**\n *

The prefix used when evaluating an AND predicate.

\n */\n Prefix?: string;\n\n /**\n *

The list of tags used when evaluating an AND predicate.

\n */\n Tags?: Tag[];\n}\n\nexport namespace MetricsAndOperator {\n export const filterSensitiveLog = (obj: MetricsAndOperator): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies a metrics configuration filter. The metrics configuration only includes\n * objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction\n * (MetricsAndOperator).

\n */\nexport type MetricsFilter =\n | MetricsFilter.AndMember\n | MetricsFilter.PrefixMember\n | MetricsFilter.TagMember\n | MetricsFilter.$UnknownMember;\n\nexport namespace MetricsFilter {\n /**\n *

The prefix used when evaluating a metrics filter.

\n */\n export interface PrefixMember {\n Prefix: string;\n Tag?: never;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

The tag used when evaluating a metrics filter.

\n */\n export interface TagMember {\n Prefix?: never;\n Tag: Tag;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter.\n * The operator must have at least two predicates, and an object must match all of the\n * predicates in order for the filter to apply.

\n */\n export interface AndMember {\n Prefix?: never;\n Tag?: never;\n And: MetricsAndOperator;\n $unknown?: never;\n }\n\n export interface $UnknownMember {\n Prefix?: never;\n Tag?: never;\n And?: never;\n $unknown: [string, any];\n }\n\n export interface Visitor {\n Prefix: (value: string) => T;\n Tag: (value: Tag) => T;\n And: (value: MetricsAndOperator) => T;\n _: (name: string, value: any) => T;\n }\n\n export const visit = (value: MetricsFilter, visitor: Visitor): T => {\n if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined) return visitor.Tag(value.Tag);\n if (value.And !== undefined) return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n\n export const filterSensitiveLog = (obj: MetricsFilter): any => {\n if (obj.Prefix !== undefined) return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined) return { And: MetricsAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: \"UNKNOWN\" };\n };\n}\n\n/**\n *

Specifies a metrics configuration for the CloudWatch request metrics (specified by the\n * metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics\n * configuration, note that this is a full replacement of the existing metrics configuration.\n * If you don't include the elements you want to keep, they are erased. For more information,\n * see PUT Bucket\n * metrics in the Amazon Simple Storage Service API Reference.

\n */\nexport interface MetricsConfiguration {\n /**\n *

The ID used to identify the metrics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Specifies a metrics configuration filter. The metrics configuration will only include\n * objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction\n * (MetricsAndOperator).

\n */\n Filter?: MetricsFilter;\n}\n\nexport namespace MetricsConfiguration {\n export const filterSensitiveLog = (obj: MetricsConfiguration): any => ({\n ...obj,\n ...(obj.Filter && { Filter: MetricsFilter.filterSensitiveLog(obj.Filter) }),\n });\n}\n\nexport interface GetBucketMetricsConfigurationOutput {\n /**\n *

Specifies the metrics configuration.

\n */\n MetricsConfiguration?: MetricsConfiguration;\n}\n\nexport namespace GetBucketMetricsConfigurationOutput {\n export const filterSensitiveLog = (obj: GetBucketMetricsConfigurationOutput): any => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration),\n }),\n });\n}\n\nexport interface GetBucketMetricsConfigurationRequest {\n /**\n *

The name of the bucket containing the metrics configuration to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the metrics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketMetricsConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketMetricsConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketNotificationConfigurationRequest {\n /**\n *

The name of the bucket for which to get the notification configuration.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketNotificationConfigurationRequest {\n export const filterSensitiveLog = (obj: GetBucketNotificationConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport type Event =\n | \"s3:ObjectCreated:*\"\n | \"s3:ObjectCreated:CompleteMultipartUpload\"\n | \"s3:ObjectCreated:Copy\"\n | \"s3:ObjectCreated:Post\"\n | \"s3:ObjectCreated:Put\"\n | \"s3:ObjectRemoved:*\"\n | \"s3:ObjectRemoved:Delete\"\n | \"s3:ObjectRemoved:DeleteMarkerCreated\"\n | \"s3:ObjectRestore:*\"\n | \"s3:ObjectRestore:Completed\"\n | \"s3:ObjectRestore:Post\"\n | \"s3:ReducedRedundancyLostObject\"\n | \"s3:Replication:*\"\n | \"s3:Replication:OperationFailedReplication\"\n | \"s3:Replication:OperationMissedThreshold\"\n | \"s3:Replication:OperationNotTracked\"\n | \"s3:Replication:OperationReplicatedAfterThreshold\";\n\nexport type FilterRuleName = \"prefix\" | \"suffix\";\n\n/**\n *

Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or\n * prefix of the key name.

\n */\nexport interface FilterRule {\n /**\n *

The object key name prefix or suffix identifying one or more objects to which the\n * filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and\n * suffixes are not supported. For more information, see Configuring Event Notifications\n * in the Amazon Simple Storage Service Developer Guide.

\n */\n Name?: FilterRuleName | string;\n\n /**\n *

The value that the filter searches for in object key names.

\n */\n Value?: string;\n}\n\nexport namespace FilterRule {\n export const filterSensitiveLog = (obj: FilterRule): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for object key name prefix and suffix filtering rules.

\n */\nexport interface S3KeyFilter {\n /**\n *

A list of containers for the key-value pair that defines the criteria for the filter\n * rule.

\n */\n FilterRules?: FilterRule[];\n}\n\nexport namespace S3KeyFilter {\n export const filterSensitiveLog = (obj: S3KeyFilter): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies object key name filtering rules. For information about key name filtering, see\n * Configuring\n * Event Notifications in the Amazon Simple Storage Service Developer\n * Guide.

\n */\nexport interface NotificationConfigurationFilter {\n /**\n *

A container for object key name prefix and suffix filtering rules.

\n */\n Key?: S3KeyFilter;\n}\n\nexport namespace NotificationConfigurationFilter {\n export const filterSensitiveLog = (obj: NotificationConfigurationFilter): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for specifying the configuration for AWS Lambda notifications.

\n */\nexport interface LambdaFunctionConfiguration {\n /**\n *

An optional unique identifier for configurations in a notification configuration. If you\n * don't provide one, Amazon S3 will assign an ID.

\n */\n Id?: string;\n\n /**\n *

The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the\n * specified event type occurs.

\n */\n LambdaFunctionArn: string | undefined;\n\n /**\n *

The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information,\n * see Supported\n * Event Types in the Amazon Simple Storage Service Developer Guide.

\n */\n Events: (Event | string)[] | undefined;\n\n /**\n *

Specifies object key name filtering rules. For information about key name filtering, see\n * Configuring\n * Event Notifications in the Amazon Simple Storage Service Developer\n * Guide.

\n */\n Filter?: NotificationConfigurationFilter;\n}\n\nexport namespace LambdaFunctionConfiguration {\n export const filterSensitiveLog = (obj: LambdaFunctionConfiguration): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the configuration for publishing messages to an Amazon Simple Queue Service\n * (Amazon SQS) queue when Amazon S3 detects specified events.

\n */\nexport interface QueueConfiguration {\n /**\n *

An optional unique identifier for configurations in a notification configuration. If you\n * don't provide one, Amazon S3 will assign an ID.

\n */\n Id?: string;\n\n /**\n *

The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message\n * when it detects events of the specified type.

\n */\n QueueArn: string | undefined;\n\n /**\n *

A collection of bucket events for which to send notifications

\n */\n Events: (Event | string)[] | undefined;\n\n /**\n *

Specifies object key name filtering rules. For information about key name filtering, see\n * Configuring\n * Event Notifications in the Amazon Simple Storage Service Developer\n * Guide.

\n */\n Filter?: NotificationConfigurationFilter;\n}\n\nexport namespace QueueConfiguration {\n export const filterSensitiveLog = (obj: QueueConfiguration): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for specifying the configuration for publication of messages to an Amazon\n * Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

\n */\nexport interface TopicConfiguration {\n /**\n *

An optional unique identifier for configurations in a notification configuration. If you\n * don't provide one, Amazon S3 will assign an ID.

\n */\n Id?: string;\n\n /**\n *

The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message\n * when it detects events of the specified type.

\n */\n TopicArn: string | undefined;\n\n /**\n *

The Amazon S3 bucket event about which to send notifications. For more information, see\n * Supported\n * Event Types in the Amazon Simple Storage Service Developer Guide.

\n */\n Events: (Event | string)[] | undefined;\n\n /**\n *

Specifies object key name filtering rules. For information about key name filtering, see\n * Configuring\n * Event Notifications in the Amazon Simple Storage Service Developer\n * Guide.

\n */\n Filter?: NotificationConfigurationFilter;\n}\n\nexport namespace TopicConfiguration {\n export const filterSensitiveLog = (obj: TopicConfiguration): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for specifying the notification configuration of the bucket. If this element\n * is empty, notifications are turned off for the bucket.

\n */\nexport interface NotificationConfiguration {\n /**\n *

The topic to which notifications are sent and the events for which notifications are\n * generated.

\n */\n TopicConfigurations?: TopicConfiguration[];\n\n /**\n *

The Amazon Simple Queue Service queues to publish messages to and the events for which\n * to publish messages.

\n */\n QueueConfigurations?: QueueConfiguration[];\n\n /**\n *

Describes the AWS Lambda functions to invoke and the events for which to invoke\n * them.

\n */\n LambdaFunctionConfigurations?: LambdaFunctionConfiguration[];\n}\n\nexport namespace NotificationConfiguration {\n export const filterSensitiveLog = (obj: NotificationConfiguration): any => ({\n ...obj,\n });\n}\n\nexport type ObjectOwnership = \"BucketOwnerPreferred\" | \"ObjectWriter\";\n\n/**\n *

The container element for an ownership control rule.

\n */\nexport interface OwnershipControlsRule {\n /**\n *

The container element for object ownership for a bucket's ownership controls.

\n *

BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket\n * owner if the objects are uploaded with the bucket-owner-full-control canned\n * ACL.

\n *

ObjectWriter - The uploading account will own the object if the object is uploaded with\n * the bucket-owner-full-control canned ACL.

\n */\n ObjectOwnership: ObjectOwnership | string | undefined;\n}\n\nexport namespace OwnershipControlsRule {\n export const filterSensitiveLog = (obj: OwnershipControlsRule): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container element for a bucket's ownership controls.

\n */\nexport interface OwnershipControls {\n /**\n *

The container element for an ownership control rule.

\n */\n Rules: OwnershipControlsRule[] | undefined;\n}\n\nexport namespace OwnershipControls {\n export const filterSensitiveLog = (obj: OwnershipControls): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketOwnershipControlsOutput {\n /**\n *

The OwnershipControls (BucketOwnerPreferred or ObjectWriter) currently in\n * effect for this Amazon S3 bucket.

\n */\n OwnershipControls?: OwnershipControls;\n}\n\nexport namespace GetBucketOwnershipControlsOutput {\n export const filterSensitiveLog = (obj: GetBucketOwnershipControlsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketOwnershipControlsRequest {\n /**\n *

The name of the Amazon S3 bucket whose OwnershipControls you want to retrieve.\n *

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketOwnershipControlsRequest {\n export const filterSensitiveLog = (obj: GetBucketOwnershipControlsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketPolicyOutput {\n /**\n *

The bucket policy as a JSON document.

\n */\n Policy?: string;\n}\n\nexport namespace GetBucketPolicyOutput {\n export const filterSensitiveLog = (obj: GetBucketPolicyOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketPolicyRequest {\n /**\n *

The bucket name for which to get the bucket policy.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketPolicyRequest {\n export const filterSensitiveLog = (obj: GetBucketPolicyRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container element for a bucket's policy status.

\n */\nexport interface PolicyStatus {\n /**\n *

The policy status for this bucket. TRUE indicates that this bucket is\n * public. FALSE indicates that the bucket is not public.

\n */\n IsPublic?: boolean;\n}\n\nexport namespace PolicyStatus {\n export const filterSensitiveLog = (obj: PolicyStatus): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketPolicyStatusOutput {\n /**\n *

The policy status for the specified bucket.

\n */\n PolicyStatus?: PolicyStatus;\n}\n\nexport namespace GetBucketPolicyStatusOutput {\n export const filterSensitiveLog = (obj: GetBucketPolicyStatusOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketPolicyStatusRequest {\n /**\n *

The name of the Amazon S3 bucket whose policy status you want to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketPolicyStatusRequest {\n export const filterSensitiveLog = (obj: GetBucketPolicyStatusRequest): any => ({\n ...obj,\n });\n}\n\nexport type DeleteMarkerReplicationStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

Specifies whether Amazon S3 replicates delete markers. If you specify a Filter\n * in your replication configuration, you must also include a\n * DeleteMarkerReplication element. If your Filter includes a\n * Tag element, the DeleteMarkerReplication\n * Status must be set to Disabled, because Amazon S3 does not support replicating\n * delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration.

\n *

For more information about delete marker replication, see Basic Rule\n * Configuration.

\n * \n *

If you are using an earlier version of the replication configuration, Amazon S3 handles\n * replication of delete markers differently. For more information, see Backward Compatibility.

\n *
\n */\nexport interface DeleteMarkerReplication {\n /**\n *

Indicates whether to replicate delete markers.

\n * \n *

Indicates whether to replicate delete markers.

\n *
\n */\n Status?: DeleteMarkerReplicationStatus | string;\n}\n\nexport namespace DeleteMarkerReplication {\n export const filterSensitiveLog = (obj: DeleteMarkerReplication): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies encryption-related information for an Amazon S3 bucket that is a destination for\n * replicated objects.

\n */\nexport interface EncryptionConfiguration {\n /**\n *

Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key\n * (CMK) stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses\n * this key to encrypt replica objects. Amazon S3 only supports symmetric customer managed CMKs.\n * For more information, see Using Symmetric and\n * Asymmetric Keys in the AWS Key Management Service Developer\n * Guide.

\n */\n ReplicaKmsKeyID?: string;\n}\n\nexport namespace EncryptionConfiguration {\n export const filterSensitiveLog = (obj: EncryptionConfiguration): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics\n * EventThreshold.

\n */\nexport interface ReplicationTimeValue {\n /**\n *

Contains an integer specifying time in minutes.

\n *

Valid values: 15 minutes.

\n */\n Minutes?: number;\n}\n\nexport namespace ReplicationTimeValue {\n export const filterSensitiveLog = (obj: ReplicationTimeValue): any => ({\n ...obj,\n });\n}\n\nexport type MetricsStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

A container specifying replication metrics-related settings enabling replication\n * metrics and events.

\n */\nexport interface Metrics {\n /**\n *

Specifies whether the replication metrics are enabled.

\n */\n Status: MetricsStatus | string | undefined;\n\n /**\n *

A container specifying the time threshold for emitting the\n * s3:Replication:OperationMissedThreshold event.

\n */\n EventThreshold?: ReplicationTimeValue;\n}\n\nexport namespace Metrics {\n export const filterSensitiveLog = (obj: Metrics): any => ({\n ...obj,\n });\n}\n\nexport type ReplicationTimeStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is\n * enabled and the time when all objects and operations on objects must be replicated. Must be\n * specified together with a Metrics block.

\n */\nexport interface ReplicationTime {\n /**\n *

Specifies whether the replication time is enabled.

\n */\n Status: ReplicationTimeStatus | string | undefined;\n\n /**\n *

A container specifying the time by which replication should be complete for all objects\n * and operations on objects.

\n */\n Time: ReplicationTimeValue | undefined;\n}\n\nexport namespace ReplicationTime {\n export const filterSensitiveLog = (obj: ReplicationTime): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies information about where to publish analysis or configuration results for an\n * Amazon S3 bucket and S3 Replication Time Control (S3 RTC).

\n */\nexport interface Destination {\n /**\n *

The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the\n * results.

\n */\n Bucket: string | undefined;\n\n /**\n *

Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to\n * change replica ownership to the AWS account that owns the destination bucket by specifying\n * the AccessControlTranslation property, this is the account ID of the\n * destination bucket owner. For more information, see Replication Additional\n * Configuration: Changing the Replica Owner in the Amazon Simple Storage\n * Service Developer Guide.

\n */\n Account?: string;\n\n /**\n *

The storage class to use when replicating objects, such as S3 Standard or reduced\n * redundancy. By default, Amazon S3 uses the storage class of the source object to create the\n * object replica.

\n *

For valid values, see the StorageClass element of the PUT Bucket\n * replication action in the Amazon Simple Storage Service API Reference.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

Specify this only in a cross-account scenario (where source and destination bucket\n * owners are not the same), and you want to change replica ownership to the AWS account that\n * owns the destination bucket. If this is not specified in the replication configuration, the\n * replicas are owned by same AWS account that owns the source object.

\n */\n AccessControlTranslation?: AccessControlTranslation;\n\n /**\n *

A container that provides information about encryption. If\n * SourceSelectionCriteria is specified, you must specify this element.

\n */\n EncryptionConfiguration?: EncryptionConfiguration;\n\n /**\n *

A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time\n * when all objects and operations on objects must be replicated. Must be specified together\n * with a Metrics block.

\n */\n ReplicationTime?: ReplicationTime;\n\n /**\n *

A container specifying replication metrics-related settings enabling replication\n * metrics and events.

\n */\n Metrics?: Metrics;\n}\n\nexport namespace Destination {\n export const filterSensitiveLog = (obj: Destination): any => ({\n ...obj,\n });\n}\n\nexport type ExistingObjectReplicationStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

Optional configuration to replicate existing source bucket objects. For more\n * information, see Replicating Existing Objects in the Amazon S3 Developer Guide.\n *

\n */\nexport interface ExistingObjectReplication {\n /**\n *

\n */\n Status: ExistingObjectReplicationStatus | string | undefined;\n}\n\nexport namespace ExistingObjectReplication {\n export const filterSensitiveLog = (obj: ExistingObjectReplication): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for specifying rule filters. The filters determine the subset of objects to\n * which the rule applies. This element is required only if you specify more than one filter.

\n *

For example:

\n *
    \n *
  • \n *

    If you specify both a Prefix and a Tag filter, wrap\n * these filters in an And tag.

    \n *
  • \n *
  • \n *

    If you specify a filter based on multiple tags, wrap the Tag elements\n * in an And tag

    \n *
  • \n *
\n */\nexport interface ReplicationRuleAndOperator {\n /**\n *

An object key name prefix that identifies the subset of objects to which the rule\n * applies.

\n */\n Prefix?: string;\n\n /**\n *

An array of tags containing key and value pairs.

\n */\n Tags?: Tag[];\n}\n\nexport namespace ReplicationRuleAndOperator {\n export const filterSensitiveLog = (obj: ReplicationRuleAndOperator): any => ({\n ...obj,\n });\n}\n\n/**\n *

A filter that identifies the subset of objects to which the replication rule applies. A\n * Filter must specify exactly one Prefix, Tag, or\n * an And child element.

\n */\nexport type ReplicationRuleFilter =\n | ReplicationRuleFilter.AndMember\n | ReplicationRuleFilter.PrefixMember\n | ReplicationRuleFilter.TagMember\n | ReplicationRuleFilter.$UnknownMember;\n\nexport namespace ReplicationRuleFilter {\n /**\n *

An object key name prefix that identifies the subset of objects to which the rule\n * applies.

\n */\n export interface PrefixMember {\n Prefix: string;\n Tag?: never;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

A container for specifying a tag key and value.

\n *

The rule applies only to objects that have the tag in their tag set.

\n */\n export interface TagMember {\n Prefix?: never;\n Tag: Tag;\n And?: never;\n $unknown?: never;\n }\n\n /**\n *

A container for specifying rule filters. The filters determine the subset of objects to\n * which the rule applies. This element is required only if you specify more than one filter.\n * For example:

\n *
    \n *
  • \n *

    If you specify both a Prefix and a Tag filter, wrap\n * these filters in an And tag.

    \n *
  • \n *
  • \n *

    If you specify a filter based on multiple tags, wrap the Tag elements\n * in an And tag.

    \n *
  • \n *
\n */\n export interface AndMember {\n Prefix?: never;\n Tag?: never;\n And: ReplicationRuleAndOperator;\n $unknown?: never;\n }\n\n export interface $UnknownMember {\n Prefix?: never;\n Tag?: never;\n And?: never;\n $unknown: [string, any];\n }\n\n export interface Visitor {\n Prefix: (value: string) => T;\n Tag: (value: Tag) => T;\n And: (value: ReplicationRuleAndOperator) => T;\n _: (name: string, value: any) => T;\n }\n\n export const visit = (value: ReplicationRuleFilter, visitor: Visitor): T => {\n if (value.Prefix !== undefined) return visitor.Prefix(value.Prefix);\n if (value.Tag !== undefined) return visitor.Tag(value.Tag);\n if (value.And !== undefined) return visitor.And(value.And);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n\n export const filterSensitiveLog = (obj: ReplicationRuleFilter): any => {\n if (obj.Prefix !== undefined) return { Prefix: obj.Prefix };\n if (obj.Tag !== undefined) return { Tag: Tag.filterSensitiveLog(obj.Tag) };\n if (obj.And !== undefined) return { And: ReplicationRuleAndOperator.filterSensitiveLog(obj.And) };\n if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: \"UNKNOWN\" };\n };\n}\n\nexport type ReplicaModificationsStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

A filter that you can specify for selection for modifications on replicas. Amazon S3 doesn't\n * replicate replica modifications by default. In the latest version of replication\n * configuration (when Filter is specified), you can specify this element and set\n * the status to Enabled to replicate modifications on replicas.

\n * \n *

If you don't specify the Filter element, Amazon S3 assumes that the\n * replication configuration is the earlier version, V1. In the earlier version, this\n * element is not allowed.

\n *
\n */\nexport interface ReplicaModifications {\n /**\n *

Specifies whether Amazon S3 replicates modifications on replicas.

\n */\n Status: ReplicaModificationsStatus | string | undefined;\n}\n\nexport namespace ReplicaModifications {\n export const filterSensitiveLog = (obj: ReplicaModifications): any => ({\n ...obj,\n });\n}\n\nexport type SseKmsEncryptedObjectsStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

A container for filter information for the selection of S3 objects encrypted with AWS\n * KMS.

\n */\nexport interface SseKmsEncryptedObjects {\n /**\n *

Specifies whether Amazon S3 replicates objects created with server-side encryption using a\n * customer master key (CMK) stored in AWS Key Management Service.

\n */\n Status: SseKmsEncryptedObjectsStatus | string | undefined;\n}\n\nexport namespace SseKmsEncryptedObjects {\n export const filterSensitiveLog = (obj: SseKmsEncryptedObjects): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container that describes additional filters for identifying the source objects that\n * you want to replicate. You can choose to enable or disable the replication of these\n * objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n * with server-side encryption using a customer master key (CMK) stored in AWS Key Management\n * Service (SSE-KMS).

\n */\nexport interface SourceSelectionCriteria {\n /**\n *

A container for filter information for the selection of Amazon S3 objects encrypted with AWS\n * KMS. If you include SourceSelectionCriteria in the replication configuration,\n * this element is required.

\n */\n SseKmsEncryptedObjects?: SseKmsEncryptedObjects;\n\n /**\n *

A filter that you can specify for selections for modifications on replicas. Amazon S3 doesn't\n * replicate replica modifications by default. In the latest version of replication\n * configuration (when Filter is specified), you can specify this element and set\n * the status to Enabled to replicate modifications on replicas.

\n * \n *

If you don't specify the Filter element, Amazon S3 assumes that the\n * replication configuration is the earlier version, V1. In the earlier version, this\n * element is not allowed

\n *
\n */\n ReplicaModifications?: ReplicaModifications;\n}\n\nexport namespace SourceSelectionCriteria {\n export const filterSensitiveLog = (obj: SourceSelectionCriteria): any => ({\n ...obj,\n });\n}\n\nexport type ReplicationRuleStatus = \"Disabled\" | \"Enabled\";\n\n/**\n *

Specifies which Amazon S3 objects to replicate and where to store the replicas.

\n */\nexport interface ReplicationRule {\n /**\n *

A unique identifier for the rule. The maximum value is 255 characters.

\n */\n ID?: string;\n\n /**\n *

The priority indicates which rule has precedence whenever two or more replication rules\n * conflict. Amazon S3 will attempt to replicate objects according to all replication rules.\n * However, if there are two or more rules with the same destination bucket, then objects will\n * be replicated according to the rule with the highest priority. The higher the number, the\n * higher the priority.

\n *

For more information, see Replication in the\n * Amazon Simple Storage Service Developer Guide.

\n */\n Priority?: number;\n\n /**\n * @deprecated\n *\n *

An object key name prefix that identifies the object or objects to which the rule\n * applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket,\n * specify an empty string.

\n */\n Prefix?: string;\n\n /**\n *

A filter that identifies the subset of objects to which the replication rule applies. A\n * Filter must specify exactly one Prefix, Tag, or\n * an And child element.

\n */\n Filter?: ReplicationRuleFilter;\n\n /**\n *

Specifies whether the rule is enabled.

\n */\n Status: ReplicationRuleStatus | string | undefined;\n\n /**\n *

A container that describes additional filters for identifying the source objects that\n * you want to replicate. You can choose to enable or disable the replication of these\n * objects. Currently, Amazon S3 supports only the filter that you can specify for objects created\n * with server-side encryption using a customer master key (CMK) stored in AWS Key Management\n * Service (SSE-KMS).

\n */\n SourceSelectionCriteria?: SourceSelectionCriteria;\n\n /**\n *

\n */\n ExistingObjectReplication?: ExistingObjectReplication;\n\n /**\n *

A container for information about the replication destination and its configurations\n * including enabling the S3 Replication Time Control (S3 RTC).

\n */\n Destination: Destination | undefined;\n\n /**\n *

Specifies whether Amazon S3 replicates delete markers. If you specify a Filter\n * in your replication configuration, you must also include a\n * DeleteMarkerReplication element. If your Filter includes a\n * Tag element, the DeleteMarkerReplication\n * Status must be set to Disabled, because Amazon S3 does not support replicating\n * delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration.

\n *

For more information about delete marker replication, see Basic Rule\n * Configuration.

\n * \n *

If you are using an earlier version of the replication configuration, Amazon S3 handles\n * replication of delete markers differently. For more information, see Backward Compatibility.

\n *
\n */\n DeleteMarkerReplication?: DeleteMarkerReplication;\n}\n\nexport namespace ReplicationRule {\n export const filterSensitiveLog = (obj: ReplicationRule): any => ({\n ...obj,\n ...(obj.Filter && { Filter: ReplicationRuleFilter.filterSensitiveLog(obj.Filter) }),\n });\n}\n\n/**\n *

A container for replication rules. You can add up to 1,000 rules. The maximum size of a\n * replication configuration is 2 MB.

\n */\nexport interface ReplicationConfiguration {\n /**\n *

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that\n * Amazon S3 assumes when replicating objects. For more information, see How to Set Up\n * Replication in the Amazon Simple Storage Service Developer Guide.

\n */\n Role: string | undefined;\n\n /**\n *

A container for one or more replication rules. A replication configuration must have at\n * least one rule and can contain a maximum of 1,000 rules.

\n */\n Rules: ReplicationRule[] | undefined;\n}\n\nexport namespace ReplicationConfiguration {\n export const filterSensitiveLog = (obj: ReplicationConfiguration): any => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => ReplicationRule.filterSensitiveLog(item)) }),\n });\n}\n\nexport interface GetBucketReplicationOutput {\n /**\n *

A container for replication rules. You can add up to 1,000 rules. The maximum size of a\n * replication configuration is 2 MB.

\n */\n ReplicationConfiguration?: ReplicationConfiguration;\n}\n\nexport namespace GetBucketReplicationOutput {\n export const filterSensitiveLog = (obj: GetBucketReplicationOutput): any => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration),\n }),\n });\n}\n\nexport interface GetBucketReplicationRequest {\n /**\n *

The bucket name for which to get the replication information.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketReplicationRequest {\n export const filterSensitiveLog = (obj: GetBucketReplicationRequest): any => ({\n ...obj,\n });\n}\n\nexport type Payer = \"BucketOwner\" | \"Requester\";\n\nexport interface GetBucketRequestPaymentOutput {\n /**\n *

Specifies who pays for the download and request fees.

\n */\n Payer?: Payer | string;\n}\n\nexport namespace GetBucketRequestPaymentOutput {\n export const filterSensitiveLog = (obj: GetBucketRequestPaymentOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketRequestPaymentRequest {\n /**\n *

The name of the bucket for which to get the payment request configuration

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketRequestPaymentRequest {\n export const filterSensitiveLog = (obj: GetBucketRequestPaymentRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketTaggingOutput {\n /**\n *

Contains the tag set.

\n */\n TagSet: Tag[] | undefined;\n}\n\nexport namespace GetBucketTaggingOutput {\n export const filterSensitiveLog = (obj: GetBucketTaggingOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketTaggingRequest {\n /**\n *

The name of the bucket for which to get the tagging information.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketTaggingRequest {\n export const filterSensitiveLog = (obj: GetBucketTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport type MFADeleteStatus = \"Disabled\" | \"Enabled\";\n\nexport type BucketVersioningStatus = \"Enabled\" | \"Suspended\";\n\nexport interface GetBucketVersioningOutput {\n /**\n *

The versioning state of the bucket.

\n */\n Status?: BucketVersioningStatus | string;\n\n /**\n *

Specifies whether MFA delete is enabled in the bucket versioning configuration. This\n * element is only returned if the bucket has been configured with MFA delete. If the bucket\n * has never been so configured, this element is not returned.

\n */\n MFADelete?: MFADeleteStatus | string;\n}\n\nexport namespace GetBucketVersioningOutput {\n export const filterSensitiveLog = (obj: GetBucketVersioningOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketVersioningRequest {\n /**\n *

The name of the bucket for which to get the versioning information.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketVersioningRequest {\n export const filterSensitiveLog = (obj: GetBucketVersioningRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

The error information.

\n */\nexport interface ErrorDocument {\n /**\n *

The object key name to use when a 4XX class error occurs.

\n */\n Key: string | undefined;\n}\n\nexport namespace ErrorDocument {\n export const filterSensitiveLog = (obj: ErrorDocument): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the Suffix element.

\n */\nexport interface IndexDocument {\n /**\n *

A suffix that is appended to a request that is for a directory on the website endpoint\n * (for example,if the suffix is index.html and you make a request to samplebucket/images/ the\n * data that is returned will be for the object with the key name images/index.html) The\n * suffix must not be empty and must not include a slash character.

\n */\n Suffix: string | undefined;\n}\n\nexport namespace IndexDocument {\n export const filterSensitiveLog = (obj: IndexDocument): any => ({\n ...obj,\n });\n}\n\nexport type Protocol = \"http\" | \"https\";\n\n/**\n *

Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3\n * bucket.

\n */\nexport interface RedirectAllRequestsTo {\n /**\n *

Name of the host where requests are redirected.

\n */\n HostName: string | undefined;\n\n /**\n *

Protocol to use when redirecting requests. The default is the protocol that is used in\n * the original request.

\n */\n Protocol?: Protocol | string;\n}\n\nexport namespace RedirectAllRequestsTo {\n export const filterSensitiveLog = (obj: RedirectAllRequestsTo): any => ({\n ...obj,\n });\n}\n\n/**\n *

A container for describing a condition that must be met for the specified redirect to\n * apply. For example, 1. If request is for pages in the /docs folder, redirect\n * to the /documents folder. 2. If request results in HTTP error 4xx, redirect\n * request to another host where you might process the error.

\n */\nexport interface Condition {\n /**\n *

The HTTP error code when the redirect is applied. In the event of an error, if the error\n * code equals this value, then the specified redirect is applied. Required when parent\n * element Condition is specified and sibling KeyPrefixEquals is not\n * specified. If both are specified, then both must be true for the redirect to be\n * applied.

\n */\n HttpErrorCodeReturnedEquals?: string;\n\n /**\n *

The object key name prefix when the redirect is applied. For example, to redirect\n * requests for ExamplePage.html, the key prefix will be\n * ExamplePage.html. To redirect request for all pages with the prefix\n * docs/, the key prefix will be /docs, which identifies all\n * objects in the docs/ folder. Required when the parent element\n * Condition is specified and sibling HttpErrorCodeReturnedEquals\n * is not specified. If both conditions are specified, both must be true for the redirect to\n * be applied.

\n */\n KeyPrefixEquals?: string;\n}\n\nexport namespace Condition {\n export const filterSensitiveLog = (obj: Condition): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies how requests are redirected. In the event of an error, you can specify a\n * different error code to return.

\n */\nexport interface Redirect {\n /**\n *

The host name to use in the redirect request.

\n */\n HostName?: string;\n\n /**\n *

The HTTP redirect code to use on the response. Not required if one of the siblings is\n * present.

\n */\n HttpRedirectCode?: string;\n\n /**\n *

Protocol to use when redirecting requests. The default is the protocol that is used in\n * the original request.

\n */\n Protocol?: Protocol | string;\n\n /**\n *

The object key prefix to use in the redirect request. For example, to redirect requests\n * for all pages with prefix docs/ (objects in the docs/ folder) to\n * documents/, you can set a condition block with KeyPrefixEquals\n * set to docs/ and in the Redirect set ReplaceKeyPrefixWith to\n * /documents. Not required if one of the siblings is present. Can be present\n * only if ReplaceKeyWith is not provided.

\n */\n ReplaceKeyPrefixWith?: string;\n\n /**\n *

The specific object key to use in the redirect request. For example, redirect request to\n * error.html. Not required if one of the siblings is present. Can be present\n * only if ReplaceKeyPrefixWith is not provided.

\n */\n ReplaceKeyWith?: string;\n}\n\nexport namespace Redirect {\n export const filterSensitiveLog = (obj: Redirect): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the redirect behavior and when a redirect is applied. For more information\n * about routing rules, see Configuring advanced conditional redirects in the\n * Amazon Simple Storage Service Developer Guide.

\n */\nexport interface RoutingRule {\n /**\n *

A container for describing a condition that must be met for the specified redirect to\n * apply. For example, 1. If request is for pages in the /docs folder, redirect\n * to the /documents folder. 2. If request results in HTTP error 4xx, redirect\n * request to another host where you might process the error.

\n */\n Condition?: Condition;\n\n /**\n *

Container for redirect information. You can redirect requests to another host, to\n * another page, or with another protocol. In the event of an error, you can specify a\n * different error code to return.

\n */\n Redirect: Redirect | undefined;\n}\n\nexport namespace RoutingRule {\n export const filterSensitiveLog = (obj: RoutingRule): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketWebsiteOutput {\n /**\n *

Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3\n * bucket.

\n */\n RedirectAllRequestsTo?: RedirectAllRequestsTo;\n\n /**\n *

The name of the index document for the website (for example\n * index.html).

\n */\n IndexDocument?: IndexDocument;\n\n /**\n *

The object key name of the website error document to use for 4XX class errors.

\n */\n ErrorDocument?: ErrorDocument;\n\n /**\n *

Rules that define when a redirect is applied and the redirect behavior.

\n */\n RoutingRules?: RoutingRule[];\n}\n\nexport namespace GetBucketWebsiteOutput {\n export const filterSensitiveLog = (obj: GetBucketWebsiteOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetBucketWebsiteRequest {\n /**\n *

The bucket name for which to get the website configuration.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetBucketWebsiteRequest {\n export const filterSensitiveLog = (obj: GetBucketWebsiteRequest): any => ({\n ...obj,\n });\n}\n\nexport type ReplicationStatus = \"COMPLETE\" | \"FAILED\" | \"PENDING\" | \"REPLICA\";\n\nexport interface GetObjectOutput {\n /**\n *

Object data.

\n */\n Body?: Readable | ReadableStream | Blob;\n\n /**\n *

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If\n * false, this response header does not appear in the response.

\n */\n DeleteMarker?: boolean;\n\n /**\n *

Indicates that a range of bytes was specified.

\n */\n AcceptRanges?: string;\n\n /**\n *

If the object expiration is configured (see PUT Bucket lifecycle), the response includes\n * this header. It includes the expiry-date and rule-id key-value pairs providing object\n * expiration information. The value of the rule-id is URL encoded.

\n */\n Expiration?: string;\n\n /**\n *

Provides information about object restoration operation and expiration time of the\n * restored object copy.

\n */\n Restore?: string;\n\n /**\n *

Last modified date of the object

\n */\n LastModified?: Date;\n\n /**\n *

Size of the body in bytes.

\n */\n ContentLength?: number;\n\n /**\n *

An ETag is an opaque identifier assigned by a web server to a specific version of a\n * resource found at a URL.

\n */\n ETag?: string;\n\n /**\n *

This is set to the number of metadata entries not returned in x-amz-meta\n * headers. This can happen if you create metadata using an API like SOAP that supports more\n * flexible metadata than the REST API. For example, using SOAP, you can create metadata whose\n * values are not legal HTTP headers.

\n */\n MissingMeta?: number;\n\n /**\n *

Version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies caching behavior along the request/reply chain.

\n */\n CacheControl?: string;\n\n /**\n *

Specifies presentational information for the object.

\n */\n ContentDisposition?: string;\n\n /**\n *

Specifies what content encodings have been applied to the object and thus what decoding\n * mechanisms must be applied to obtain the media-type referenced by the Content-Type header\n * field.

\n */\n ContentEncoding?: string;\n\n /**\n *

The language the content is in.

\n */\n ContentLanguage?: string;\n\n /**\n *

The portion of the object returned in the response.

\n */\n ContentRange?: string;\n\n /**\n *

A standard MIME type describing the format of the object data.

\n */\n ContentType?: string;\n\n /**\n *

The date and time at which the object is no longer cacheable.

\n */\n Expires?: Date;\n\n /**\n *

If the bucket is configured as a website, redirects requests for this object to another\n * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n * the object metadata.

\n */\n WebsiteRedirectLocation?: string;\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

A map of metadata to store with the object in S3.

\n */\n Metadata?: { [key: string]: string };\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

Provides storage class information of the object. Amazon S3 returns this header for all\n * objects except for S3 Standard storage class objects.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n\n /**\n *

Amazon S3 can return this if your request involves a bucket that is either a source or\n * destination in a replication rule.

\n */\n ReplicationStatus?: ReplicationStatus | string;\n\n /**\n *

The count of parts this object has.

\n */\n PartsCount?: number;\n\n /**\n *

The number of tags, if any, on the object.

\n */\n TagCount?: number;\n\n /**\n *

The Object Lock mode currently in place for this object.

\n */\n ObjectLockMode?: ObjectLockMode | string;\n\n /**\n *

The date and time when this object's Object Lock will expire.

\n */\n ObjectLockRetainUntilDate?: Date;\n\n /**\n *

Indicates whether this object has an active legal hold. This field is only returned if\n * you have permission to view an object's legal hold status.

\n */\n ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;\n}\n\nexport namespace GetObjectOutput {\n export const filterSensitiveLog = (obj: GetObjectOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n });\n}\n\nexport interface GetObjectRequest {\n /**\n *

The bucket name containing the object.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Return the object only if its entity tag (ETag) is the same as the one specified,\n * otherwise return a 412 (precondition failed).

\n */\n IfMatch?: string;\n\n /**\n *

Return the object only if it has been modified since the specified time, otherwise\n * return a 304 (not modified).

\n */\n IfModifiedSince?: Date;\n\n /**\n *

Return the object only if its entity tag (ETag) is different from the one specified,\n * otherwise return a 304 (not modified).

\n */\n IfNoneMatch?: string;\n\n /**\n *

Return the object only if it has not been modified since the specified time, otherwise\n * return a 412 (precondition failed).

\n */\n IfUnmodifiedSince?: Date;\n\n /**\n *

Key of the object to get.

\n */\n Key: string | undefined;\n\n /**\n *

Downloads the specified range bytes of an object. For more information about the HTTP\n * Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

\n * \n *

Amazon S3 doesn't support retrieving multiple ranges of data per GET\n * request.

\n *
\n */\n Range?: string;\n\n /**\n *

Sets the Cache-Control header of the response.

\n */\n ResponseCacheControl?: string;\n\n /**\n *

Sets the Content-Disposition header of the response

\n */\n ResponseContentDisposition?: string;\n\n /**\n *

Sets the Content-Encoding header of the response.

\n */\n ResponseContentEncoding?: string;\n\n /**\n *

Sets the Content-Language header of the response.

\n */\n ResponseContentLanguage?: string;\n\n /**\n *

Sets the Content-Type header of the response.

\n */\n ResponseContentType?: string;\n\n /**\n *

Sets the Expires header of the response.

\n */\n ResponseExpires?: Date;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

Part number of the object being read. This is a positive integer between 1 and 10,000.\n * Effectively performs a 'ranged' GET request for the part specified. Useful for downloading\n * just a part of an object.

\n */\n PartNumber?: number;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectRequest {\n export const filterSensitiveLog = (obj: GetObjectRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

Object is archived and inaccessible until restored.

\n */\nexport interface InvalidObjectState extends __SmithyException, $MetadataBearer {\n name: \"InvalidObjectState\";\n $fault: \"client\";\n StorageClass?: StorageClass | string;\n AccessTier?: IntelligentTieringAccessTier | string;\n}\n\nexport namespace InvalidObjectState {\n export const filterSensitiveLog = (obj: InvalidObjectState): any => ({\n ...obj,\n });\n}\n\n/**\n *

The specified key does not exist.

\n */\nexport interface NoSuchKey extends __SmithyException, $MetadataBearer {\n name: \"NoSuchKey\";\n $fault: \"client\";\n}\n\nexport namespace NoSuchKey {\n export const filterSensitiveLog = (obj: NoSuchKey): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectAclOutput {\n /**\n *

Container for the bucket owner's display name and ID.

\n */\n Owner?: Owner;\n\n /**\n *

A list of grants.

\n */\n Grants?: Grant[];\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace GetObjectAclOutput {\n export const filterSensitiveLog = (obj: GetObjectAclOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectAclRequest {\n /**\n *

The bucket name that contains the object for which to get the ACL information.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The key of the object for which to get the ACL information.

\n */\n Key: string | undefined;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectAclRequest {\n export const filterSensitiveLog = (obj: GetObjectAclRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

A Legal Hold configuration for an object.

\n */\nexport interface ObjectLockLegalHold {\n /**\n *

Indicates whether the specified object has a Legal Hold in place.

\n */\n Status?: ObjectLockLegalHoldStatus | string;\n}\n\nexport namespace ObjectLockLegalHold {\n export const filterSensitiveLog = (obj: ObjectLockLegalHold): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectLegalHoldOutput {\n /**\n *

The current Legal Hold status for the specified object.

\n */\n LegalHold?: ObjectLockLegalHold;\n}\n\nexport namespace GetObjectLegalHoldOutput {\n export const filterSensitiveLog = (obj: GetObjectLegalHoldOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectLegalHoldRequest {\n /**\n *

The bucket name containing the object whose Legal Hold status you want to retrieve.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The key name for the object whose Legal Hold status you want to retrieve.

\n */\n Key: string | undefined;\n\n /**\n *

The version ID of the object whose Legal Hold status you want to retrieve.

\n */\n VersionId?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectLegalHoldRequest {\n export const filterSensitiveLog = (obj: GetObjectLegalHoldRequest): any => ({\n ...obj,\n });\n}\n\nexport type ObjectLockEnabled = \"Enabled\";\n\nexport type ObjectLockRetentionMode = \"COMPLIANCE\" | \"GOVERNANCE\";\n\n/**\n *

The container element for specifying the default Object Lock retention settings for new\n * objects placed in the specified bucket.

\n */\nexport interface DefaultRetention {\n /**\n *

The default Object Lock retention mode you want to apply to new objects placed in the\n * specified bucket.

\n */\n Mode?: ObjectLockRetentionMode | string;\n\n /**\n *

The number of days that you want to specify for the default retention period.

\n */\n Days?: number;\n\n /**\n *

The number of years that you want to specify for the default retention period.

\n */\n Years?: number;\n}\n\nexport namespace DefaultRetention {\n export const filterSensitiveLog = (obj: DefaultRetention): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container element for an Object Lock rule.

\n */\nexport interface ObjectLockRule {\n /**\n *

The default retention period that you want to apply to new objects placed in the\n * specified bucket.

\n */\n DefaultRetention?: DefaultRetention;\n}\n\nexport namespace ObjectLockRule {\n export const filterSensitiveLog = (obj: ObjectLockRule): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container element for Object Lock configuration parameters.

\n */\nexport interface ObjectLockConfiguration {\n /**\n *

Indicates whether this bucket has an Object Lock configuration enabled.

\n */\n ObjectLockEnabled?: ObjectLockEnabled | string;\n\n /**\n *

The Object Lock rule in place for the specified object.

\n */\n Rule?: ObjectLockRule;\n}\n\nexport namespace ObjectLockConfiguration {\n export const filterSensitiveLog = (obj: ObjectLockConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectLockConfigurationOutput {\n /**\n *

The specified bucket's Object Lock configuration.

\n */\n ObjectLockConfiguration?: ObjectLockConfiguration;\n}\n\nexport namespace GetObjectLockConfigurationOutput {\n export const filterSensitiveLog = (obj: GetObjectLockConfigurationOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectLockConfigurationRequest {\n /**\n *

The bucket whose Object Lock configuration you want to retrieve.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectLockConfigurationRequest {\n export const filterSensitiveLog = (obj: GetObjectLockConfigurationRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

A Retention configuration for an object.

\n */\nexport interface ObjectLockRetention {\n /**\n *

Indicates the Retention mode for the specified object.

\n */\n Mode?: ObjectLockRetentionMode | string;\n\n /**\n *

The date on which this Object Lock Retention will expire.

\n */\n RetainUntilDate?: Date;\n}\n\nexport namespace ObjectLockRetention {\n export const filterSensitiveLog = (obj: ObjectLockRetention): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectRetentionOutput {\n /**\n *

The container element for an object's retention settings.

\n */\n Retention?: ObjectLockRetention;\n}\n\nexport namespace GetObjectRetentionOutput {\n export const filterSensitiveLog = (obj: GetObjectRetentionOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectRetentionRequest {\n /**\n *

The bucket name containing the object whose retention settings you want to retrieve.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The key name for the object whose retention settings you want to retrieve.

\n */\n Key: string | undefined;\n\n /**\n *

The version ID for the object whose retention settings you want to retrieve.

\n */\n VersionId?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectRetentionRequest {\n export const filterSensitiveLog = (obj: GetObjectRetentionRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectTaggingOutput {\n /**\n *

The versionId of the object for which you got the tagging information.

\n */\n VersionId?: string;\n\n /**\n *

Contains the tag set.

\n */\n TagSet: Tag[] | undefined;\n}\n\nexport namespace GetObjectTaggingOutput {\n export const filterSensitiveLog = (obj: GetObjectTaggingOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectTaggingRequest {\n /**\n *

The bucket name containing the object for which to get the tagging information.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Object key for which to get the tagging information.

\n */\n Key: string | undefined;\n\n /**\n *

The versionId of the object for which to get the tagging information.

\n */\n VersionId?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectTaggingRequest {\n export const filterSensitiveLog = (obj: GetObjectTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectTorrentOutput {\n /**\n *

A Bencoded dictionary as defined by the BitTorrent specification

\n */\n Body?: Readable | ReadableStream | Blob;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace GetObjectTorrentOutput {\n export const filterSensitiveLog = (obj: GetObjectTorrentOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetObjectTorrentRequest {\n /**\n *

The name of the bucket containing the object for which to get the torrent files.

\n */\n Bucket: string | undefined;\n\n /**\n *

The object key for which to get the information.

\n */\n Key: string | undefined;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetObjectTorrentRequest {\n export const filterSensitiveLog = (obj: GetObjectTorrentRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can\n * enable the configuration options in any combination. For more information about when Amazon S3\n * considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

\n */\nexport interface PublicAccessBlockConfiguration {\n /**\n *

Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket\n * and objects in this bucket. Setting this element to TRUE causes the following\n * behavior:

\n *
    \n *
  • \n *

    PUT Bucket acl and PUT Object acl calls fail if the specified ACL is\n * public.

    \n *
  • \n *
  • \n *

    PUT Object calls fail if the request includes a public ACL.

    \n *
  • \n *
  • \n *

    PUT Bucket calls fail if the request includes a public ACL.

    \n *
  • \n *
\n *

Enabling this setting doesn't affect existing policies or ACLs.

\n */\n BlockPublicAcls?: boolean;\n\n /**\n *

Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this\n * bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on\n * this bucket and objects in this bucket.

\n *

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n * prevent new public ACLs from being set.

\n */\n IgnorePublicAcls?: boolean;\n\n /**\n *

Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this\n * element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the\n * specified bucket policy allows public access.

\n *

Enabling this setting doesn't affect existing bucket policies.

\n */\n BlockPublicPolicy?: boolean;\n\n /**\n *

Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting\n * this element to TRUE restricts access to this bucket to only AWS service\n * principals and authorized users within this account if the bucket has a public\n * policy.

\n *

Enabling this setting doesn't affect previously stored bucket policies, except that\n * public and cross-account access within any public bucket policy, including non-public\n * delegation to specific accounts, is blocked.

\n */\n RestrictPublicBuckets?: boolean;\n}\n\nexport namespace PublicAccessBlockConfiguration {\n export const filterSensitiveLog = (obj: PublicAccessBlockConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface GetPublicAccessBlockOutput {\n /**\n *

The PublicAccessBlock configuration currently in effect for this Amazon S3\n * bucket.

\n */\n PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;\n}\n\nexport namespace GetPublicAccessBlockOutput {\n export const filterSensitiveLog = (obj: GetPublicAccessBlockOutput): any => ({\n ...obj,\n });\n}\n\nexport interface GetPublicAccessBlockRequest {\n /**\n *

The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want\n * to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace GetPublicAccessBlockRequest {\n export const filterSensitiveLog = (obj: GetPublicAccessBlockRequest): any => ({\n ...obj,\n });\n}\n\nexport interface HeadBucketRequest {\n /**\n *

The bucket name.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace HeadBucketRequest {\n export const filterSensitiveLog = (obj: HeadBucketRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

The specified bucket does not exist.

\n */\nexport interface NoSuchBucket extends __SmithyException, $MetadataBearer {\n name: \"NoSuchBucket\";\n $fault: \"client\";\n}\n\nexport namespace NoSuchBucket {\n export const filterSensitiveLog = (obj: NoSuchBucket): any => ({\n ...obj,\n });\n}\n\nexport type ArchiveStatus = \"ARCHIVE_ACCESS\" | \"DEEP_ARCHIVE_ACCESS\";\n\nexport interface HeadObjectOutput {\n /**\n *

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If\n * false, this response header does not appear in the response.

\n */\n DeleteMarker?: boolean;\n\n /**\n *

Indicates that a range of bytes was specified.

\n */\n AcceptRanges?: string;\n\n /**\n *

If the object expiration is configured (see PUT Bucket lifecycle), the response includes\n * this header. It includes the expiry-date and rule-id key-value pairs providing object\n * expiration information. The value of the rule-id is URL encoded.

\n */\n Expiration?: string;\n\n /**\n *

If the object is an archived object (an object whose storage class is GLACIER), the\n * response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

\n *\n *

If an archive copy is already restored, the header value indicates when Amazon S3 is\n * scheduled to delete the object copy. For example:

\n *\n *

\n * x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 23 Dec 2012 00:00:00\n * GMT\"\n *

\n *\n *

If the object restoration is in progress, the header returns the value\n * ongoing-request=\"true\".

\n *\n *

For more information about archiving objects, see Transitioning Objects: General Considerations.

\n */\n Restore?: string;\n\n /**\n *

The archive state of the head object.

\n */\n ArchiveStatus?: ArchiveStatus | string;\n\n /**\n *

Last modified date of the object

\n */\n LastModified?: Date;\n\n /**\n *

Size of the body in bytes.

\n */\n ContentLength?: number;\n\n /**\n *

An ETag is an opaque identifier assigned by a web server to a specific version of a\n * resource found at a URL.

\n */\n ETag?: string;\n\n /**\n *

This is set to the number of metadata entries not returned in x-amz-meta\n * headers. This can happen if you create metadata using an API like SOAP that supports more\n * flexible metadata than the REST API. For example, using SOAP, you can create metadata whose\n * values are not legal HTTP headers.

\n */\n MissingMeta?: number;\n\n /**\n *

Version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies caching behavior along the request/reply chain.

\n */\n CacheControl?: string;\n\n /**\n *

Specifies presentational information for the object.

\n */\n ContentDisposition?: string;\n\n /**\n *

Specifies what content encodings have been applied to the object and thus what decoding\n * mechanisms must be applied to obtain the media-type referenced by the Content-Type header\n * field.

\n */\n ContentEncoding?: string;\n\n /**\n *

The language the content is in.

\n */\n ContentLanguage?: string;\n\n /**\n *

A standard MIME type describing the format of the object data.

\n */\n ContentType?: string;\n\n /**\n *

The date and time at which the object is no longer cacheable.

\n */\n Expires?: Date;\n\n /**\n *

If the bucket is configured as a website, redirects requests for this object to another\n * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n * the object metadata.

\n */\n WebsiteRedirectLocation?: string;\n\n /**\n *

If the object is stored using server-side encryption either with an AWS KMS customer\n * master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with\n * the value of the server-side encryption algorithm used when storing this object in Amazon\n * S3 (for example, AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

A map of metadata to store with the object in S3.

\n */\n Metadata?: { [key: string]: string };\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Indicates whether the object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

Provides storage class information of the object. Amazon S3 returns this header for all\n * objects except for S3 Standard storage class objects.

\n *\n *

For more information, see Storage\n * Classes.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n\n /**\n *

Amazon S3 can return this header if your request involves a bucket that is either a source or\n * a destination in a replication rule.

\n *\n *

In replication, you have a source bucket on which you configure replication and\n * destination bucket or buckets where Amazon S3 stores object replicas. When you request an object\n * (GetObject) or object metadata (HeadObject) from these\n * buckets, Amazon S3 will return the x-amz-replication-status header in the response\n * as follows:

\n *
    \n *
  • \n *

    If requesting an object from the source bucket — Amazon S3 will return the\n * x-amz-replication-status header if the object in your request is\n * eligible for replication.

    \n *

    For example, suppose that in your replication configuration, you specify object\n * prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix\n * TaxDocs. Any objects you upload with this key name prefix, for\n * example TaxDocs/document1.pdf, are eligible for replication. For any\n * object request with this key name prefix, Amazon S3 will return the\n * x-amz-replication-status header with value PENDING, COMPLETED or\n * FAILED indicating object replication status.

    \n *
  • \n *
  • \n *

    If requesting an object from a destination bucket — Amazon S3 will return the\n * x-amz-replication-status header with value REPLICA if the object in\n * your request is a replica that Amazon S3 created and there is no replica modification\n * replication in progress.

    \n *
  • \n *
  • \n *

    When replicating objects to multiple destination buckets the\n * x-amz-replication-status header acts differently. The header of the\n * source object will only return a value of COMPLETED when replication is successful to\n * all destinations. The header will remain at value PENDING until replication has\n * completed for all destinations. If one or more destinations fails replication the\n * header will return FAILED.

    \n *
  • \n *
\n *\n *

For more information, see Replication.

\n */\n ReplicationStatus?: ReplicationStatus | string;\n\n /**\n *

The count of parts this object has.

\n */\n PartsCount?: number;\n\n /**\n *

The Object Lock mode, if any, that's in effect for this object. This header is only\n * returned if the requester has the s3:GetObjectRetention permission. For more\n * information about S3 Object Lock, see Object\n * Lock.

\n */\n ObjectLockMode?: ObjectLockMode | string;\n\n /**\n *

The date and time when the Object Lock retention period expires. This header is only\n * returned if the requester has the s3:GetObjectRetention permission.

\n */\n ObjectLockRetainUntilDate?: Date;\n\n /**\n *

Specifies whether a legal hold is in effect for this object. This header is only\n * returned if the requester has the s3:GetObjectLegalHold permission. This\n * header is not returned if the specified version of this object has never had a legal hold\n * applied. For more information about S3 Object Lock, see Object Lock.

\n */\n ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;\n}\n\nexport namespace HeadObjectOutput {\n export const filterSensitiveLog = (obj: HeadObjectOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n });\n}\n\nexport interface HeadObjectRequest {\n /**\n *

The name of the bucket containing the object.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Return the object only if its entity tag (ETag) is the same as the one specified,\n * otherwise return a 412 (precondition failed).

\n */\n IfMatch?: string;\n\n /**\n *

Return the object only if it has been modified since the specified time, otherwise\n * return a 304 (not modified).

\n */\n IfModifiedSince?: Date;\n\n /**\n *

Return the object only if its entity tag (ETag) is different from the one specified,\n * otherwise return a 304 (not modified).

\n */\n IfNoneMatch?: string;\n\n /**\n *

Return the object only if it has not been modified since the specified time, otherwise\n * return a 412 (precondition failed).

\n */\n IfUnmodifiedSince?: Date;\n\n /**\n *

The object key.

\n */\n Key: string | undefined;\n\n /**\n *

Downloads the specified range bytes of an object. For more information about the HTTP\n * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

\n * \n *

Amazon S3 doesn't support retrieving multiple ranges of data per GET\n * request.

\n *
\n */\n Range?: string;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

Part number of the object being read. This is a positive integer between 1 and 10,000.\n * Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about\n * the size of the part and the number of parts in this object.

\n */\n PartNumber?: number;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace HeadObjectRequest {\n export const filterSensitiveLog = (obj: HeadObjectRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n });\n}\n\nexport interface ListBucketAnalyticsConfigurationsOutput {\n /**\n *

Indicates whether the returned list of analytics configurations is complete. A value of\n * true indicates that the list is not complete and the NextContinuationToken will be provided\n * for a subsequent request.

\n */\n IsTruncated?: boolean;\n\n /**\n *

The marker that is used as a starting point for this analytics configuration list\n * response. This value is present if it was sent in the request.

\n */\n ContinuationToken?: string;\n\n /**\n *

\n * NextContinuationToken is sent when isTruncated is true, which\n * indicates that there are more analytics configurations to list. The next request must\n * include this NextContinuationToken. The token is obfuscated and is not a\n * usable value.

\n */\n NextContinuationToken?: string;\n\n /**\n *

The list of analytics configurations for a bucket.

\n */\n AnalyticsConfigurationList?: AnalyticsConfiguration[];\n}\n\nexport namespace ListBucketAnalyticsConfigurationsOutput {\n export const filterSensitiveLog = (obj: ListBucketAnalyticsConfigurationsOutput): any => ({\n ...obj,\n ...(obj.AnalyticsConfigurationList && {\n AnalyticsConfigurationList: obj.AnalyticsConfigurationList.map((item) =>\n AnalyticsConfiguration.filterSensitiveLog(item)\n ),\n }),\n });\n}\n\nexport interface ListBucketAnalyticsConfigurationsRequest {\n /**\n *

The name of the bucket from which analytics configurations are retrieved.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ContinuationToken that represents a placeholder from where this request should\n * begin.

\n */\n ContinuationToken?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListBucketAnalyticsConfigurationsRequest {\n export const filterSensitiveLog = (obj: ListBucketAnalyticsConfigurationsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface ListBucketIntelligentTieringConfigurationsOutput {\n /**\n *

Indicates whether the returned list of analytics configurations is complete. A value of\n * true indicates that the list is not complete and the NextContinuationToken will be provided\n * for a subsequent request.

\n */\n IsTruncated?: boolean;\n\n /**\n *

The ContinuationToken that represents a placeholder from where this request should\n * begin.

\n */\n ContinuationToken?: string;\n\n /**\n *

The marker used to continue this inventory configuration listing. Use the\n * NextContinuationToken from this response to continue the listing in a\n * subsequent request. The continuation token is an opaque value that Amazon S3 understands.

\n */\n NextContinuationToken?: string;\n\n /**\n *

The list of S3 Intelligent-Tiering configurations for a bucket.

\n */\n IntelligentTieringConfigurationList?: IntelligentTieringConfiguration[];\n}\n\nexport namespace ListBucketIntelligentTieringConfigurationsOutput {\n export const filterSensitiveLog = (obj: ListBucketIntelligentTieringConfigurationsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface ListBucketIntelligentTieringConfigurationsRequest {\n /**\n *

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ContinuationToken that represents a placeholder from where this request should\n * begin.

\n */\n ContinuationToken?: string;\n}\n\nexport namespace ListBucketIntelligentTieringConfigurationsRequest {\n export const filterSensitiveLog = (obj: ListBucketIntelligentTieringConfigurationsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface ListBucketInventoryConfigurationsOutput {\n /**\n *

If sent in the request, the marker that is used as a starting point for this inventory\n * configuration list response.

\n */\n ContinuationToken?: string;\n\n /**\n *

The list of inventory configurations for a bucket.

\n */\n InventoryConfigurationList?: InventoryConfiguration[];\n\n /**\n *

Tells whether the returned list of inventory configurations is complete. A value of true\n * indicates that the list is not complete and the NextContinuationToken is provided for a\n * subsequent request.

\n */\n IsTruncated?: boolean;\n\n /**\n *

The marker used to continue this inventory configuration listing. Use the\n * NextContinuationToken from this response to continue the listing in a\n * subsequent request. The continuation token is an opaque value that Amazon S3 understands.

\n */\n NextContinuationToken?: string;\n}\n\nexport namespace ListBucketInventoryConfigurationsOutput {\n export const filterSensitiveLog = (obj: ListBucketInventoryConfigurationsOutput): any => ({\n ...obj,\n ...(obj.InventoryConfigurationList && {\n InventoryConfigurationList: obj.InventoryConfigurationList.map((item) =>\n InventoryConfiguration.filterSensitiveLog(item)\n ),\n }),\n });\n}\n\nexport interface ListBucketInventoryConfigurationsRequest {\n /**\n *

The name of the bucket containing the inventory configurations to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The marker used to continue an inventory configuration listing that has been truncated.\n * Use the NextContinuationToken from a previously truncated list response to continue the\n * listing. The continuation token is an opaque value that Amazon S3 understands.

\n */\n ContinuationToken?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListBucketInventoryConfigurationsRequest {\n export const filterSensitiveLog = (obj: ListBucketInventoryConfigurationsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface ListBucketMetricsConfigurationsOutput {\n /**\n *

Indicates whether the returned list of metrics configurations is complete. A value of\n * true indicates that the list is not complete and the NextContinuationToken will be provided\n * for a subsequent request.

\n */\n IsTruncated?: boolean;\n\n /**\n *

The marker that is used as a starting point for this metrics configuration list\n * response. This value is present if it was sent in the request.

\n */\n ContinuationToken?: string;\n\n /**\n *

The marker used to continue a metrics configuration listing that has been truncated. Use\n * the NextContinuationToken from a previously truncated list response to\n * continue the listing. The continuation token is an opaque value that Amazon S3\n * understands.

\n */\n NextContinuationToken?: string;\n\n /**\n *

The list of metrics configurations for a bucket.

\n */\n MetricsConfigurationList?: MetricsConfiguration[];\n}\n\nexport namespace ListBucketMetricsConfigurationsOutput {\n export const filterSensitiveLog = (obj: ListBucketMetricsConfigurationsOutput): any => ({\n ...obj,\n ...(obj.MetricsConfigurationList && {\n MetricsConfigurationList: obj.MetricsConfigurationList.map((item) =>\n MetricsConfiguration.filterSensitiveLog(item)\n ),\n }),\n });\n}\n\nexport interface ListBucketMetricsConfigurationsRequest {\n /**\n *

The name of the bucket containing the metrics configurations to retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The marker that is used to continue a metrics configuration listing that has been\n * truncated. Use the NextContinuationToken from a previously truncated list response to\n * continue the listing. The continuation token is an opaque value that Amazon S3\n * understands.

\n */\n ContinuationToken?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListBucketMetricsConfigurationsRequest {\n export const filterSensitiveLog = (obj: ListBucketMetricsConfigurationsRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally\n * unique, and the namespace is shared by all AWS accounts.

\n */\nexport interface Bucket {\n /**\n *

The name of the bucket.

\n */\n Name?: string;\n\n /**\n *

Date the bucket was created. This date can change when making changes to your bucket, such as editing its bucket policy.

\n */\n CreationDate?: Date;\n}\n\nexport namespace Bucket {\n export const filterSensitiveLog = (obj: Bucket): any => ({\n ...obj,\n });\n}\n\nexport interface ListBucketsOutput {\n /**\n *

The list of buckets owned by the requestor.

\n */\n Buckets?: Bucket[];\n\n /**\n *

The owner of the buckets listed.

\n */\n Owner?: Owner;\n}\n\nexport namespace ListBucketsOutput {\n export const filterSensitiveLog = (obj: ListBucketsOutput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for all (if there are any) keys between Prefix and the next occurrence of the\n * string specified by a delimiter. CommonPrefixes lists keys that act like subdirectories in\n * the directory specified by Prefix. For example, if the prefix is notes/ and the delimiter\n * is a slash (/) as in notes/summer/july, the common prefix is notes/summer/.

\n */\nexport interface CommonPrefix {\n /**\n *

Container for the specified common prefix.

\n */\n Prefix?: string;\n}\n\nexport namespace CommonPrefix {\n export const filterSensitiveLog = (obj: CommonPrefix): any => ({\n ...obj,\n });\n}\n\nexport type EncodingType = \"url\";\n\n/**\n *

Container element that identifies who initiated the multipart upload.

\n */\nexport interface Initiator {\n /**\n *

If the principal is an AWS account, it provides the Canonical User ID. If the principal\n * is an IAM User, it provides a user ARN value.

\n */\n ID?: string;\n\n /**\n *

Name of the Principal.

\n */\n DisplayName?: string;\n}\n\nexport namespace Initiator {\n export const filterSensitiveLog = (obj: Initiator): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the MultipartUpload for the Amazon S3 object.

\n */\nexport interface MultipartUpload {\n /**\n *

Upload ID that identifies the multipart upload.

\n */\n UploadId?: string;\n\n /**\n *

Key of the object for which the multipart upload was initiated.

\n */\n Key?: string;\n\n /**\n *

Date and time at which the multipart upload was initiated.

\n */\n Initiated?: Date;\n\n /**\n *

The class of storage used to store the object.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

Specifies the owner of the object that is part of the multipart upload.

\n */\n Owner?: Owner;\n\n /**\n *

Identifies who initiated the multipart upload.

\n */\n Initiator?: Initiator;\n}\n\nexport namespace MultipartUpload {\n export const filterSensitiveLog = (obj: MultipartUpload): any => ({\n ...obj,\n });\n}\n\nexport interface ListMultipartUploadsOutput {\n /**\n *

The name of the bucket to which the multipart upload was initiated.

\n */\n Bucket?: string;\n\n /**\n *

The key at or after which the listing began.

\n */\n KeyMarker?: string;\n\n /**\n *

Upload ID after which listing began.

\n */\n UploadIdMarker?: string;\n\n /**\n *

When a list is truncated, this element specifies the value that should be used for the\n * key-marker request parameter in a subsequent request.

\n */\n NextKeyMarker?: string;\n\n /**\n *

When a prefix is provided in the request, this field contains the specified prefix. The\n * result contains only keys starting with the specified prefix.

\n */\n Prefix?: string;\n\n /**\n *

Contains the delimiter you specified in the request. If you don't specify a delimiter in\n * your request, this element is absent from the response.

\n */\n Delimiter?: string;\n\n /**\n *

When a list is truncated, this element specifies the value that should be used for the\n * upload-id-marker request parameter in a subsequent request.

\n */\n NextUploadIdMarker?: string;\n\n /**\n *

Maximum number of multipart uploads that could have been included in the\n * response.

\n */\n MaxUploads?: number;\n\n /**\n *

Indicates whether the returned list of multipart uploads is truncated. A value of true\n * indicates that the list was truncated. The list can be truncated if the number of multipart\n * uploads exceeds the limit allowed or specified by max uploads.

\n */\n IsTruncated?: boolean;\n\n /**\n *

Container for elements related to a particular multipart upload. A response can contain\n * zero or more Upload elements.

\n */\n Uploads?: MultipartUpload[];\n\n /**\n *

If you specify a delimiter in the request, then the result returns each distinct key\n * prefix containing the delimiter in a CommonPrefixes element. The distinct key\n * prefixes are returned in the Prefix child element.

\n */\n CommonPrefixes?: CommonPrefix[];\n\n /**\n *

Encoding type used by Amazon S3 to encode object keys in the response.

\n *

If you specify encoding-type request parameter, Amazon S3 includes this element\n * in the response, and returns encoded key name values in the following response\n * elements:

\n *\n *

\n * Delimiter, KeyMarker, Prefix,\n * NextKeyMarker, Key.

\n */\n EncodingType?: EncodingType | string;\n}\n\nexport namespace ListMultipartUploadsOutput {\n export const filterSensitiveLog = (obj: ListMultipartUploadsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface ListMultipartUploadsRequest {\n /**\n *

The name of the bucket to which the multipart upload was initiated.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Character you use to group keys.

\n *

All keys that contain the same string between the prefix, if specified, and the first\n * occurrence of the delimiter after the prefix are grouped under a single result element,\n * CommonPrefixes. If you don't specify the prefix parameter, then the\n * substring starts at the beginning of the key. The keys that are grouped under\n * CommonPrefixes result element are not returned elsewhere in the\n * response.

\n */\n Delimiter?: string;\n\n /**\n *

Requests Amazon S3 to encode the object keys in the response and specifies the encoding\n * method to use. An object key may contain any Unicode character; however, XML 1.0 parser\n * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For\n * characters that are not supported in XML 1.0, you can add this parameter to request that\n * Amazon S3 encode the keys in the response.

\n */\n EncodingType?: EncodingType | string;\n\n /**\n *

Together with upload-id-marker, this parameter specifies the multipart upload after\n * which listing should begin.

\n *

If upload-id-marker is not specified, only the keys lexicographically\n * greater than the specified key-marker will be included in the list.

\n *\n *

If upload-id-marker is specified, any multipart uploads for a key equal to\n * the key-marker might also be included, provided those multipart uploads have\n * upload IDs lexicographically greater than the specified\n * upload-id-marker.

\n */\n KeyMarker?: string;\n\n /**\n *

Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response\n * body. 1,000 is the maximum number of uploads that can be returned in a response.

\n */\n MaxUploads?: number;\n\n /**\n *

Lists in-progress uploads only for those keys that begin with the specified prefix. You\n * can use prefixes to separate a bucket into different grouping of keys. (You can think of\n * using prefix to make groups in the same way you'd use a folder in a file system.)

\n */\n Prefix?: string;\n\n /**\n *

Together with key-marker, specifies the multipart upload after which listing should\n * begin. If key-marker is not specified, the upload-id-marker parameter is ignored.\n * Otherwise, any multipart uploads for a key equal to the key-marker might be included in the\n * list only if they have an upload ID lexicographically greater than the specified\n * upload-id-marker.

\n */\n UploadIdMarker?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListMultipartUploadsRequest {\n export const filterSensitiveLog = (obj: ListMultipartUploadsRequest): any => ({\n ...obj,\n });\n}\n\nexport type ObjectStorageClass =\n | \"DEEP_ARCHIVE\"\n | \"GLACIER\"\n | \"INTELLIGENT_TIERING\"\n | \"ONEZONE_IA\"\n | \"OUTPOSTS\"\n | \"REDUCED_REDUNDANCY\"\n | \"STANDARD\"\n | \"STANDARD_IA\";\n\n/**\n *

An object consists of data and its descriptive metadata.

\n */\nexport interface _Object {\n /**\n *

The name that you assign to an object. You use the object key to retrieve the\n * object.

\n */\n Key?: string;\n\n /**\n *

The date the Object was Last Modified

\n */\n LastModified?: Date;\n\n /**\n *

The entity tag is a hash of the object. The ETag reflects changes only to the contents\n * of an object, not its metadata. The ETag may or may not be an MD5 digest of the object\n * data. Whether or not it is depends on how the object was created and how it is encrypted as\n * described below:

\n *
    \n *
  • \n *

    Objects created by the PUT Object, POST Object, or Copy operation, or through the\n * AWS Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are\n * an MD5 digest of their object data.

    \n *
  • \n *
  • \n *

    Objects created by the PUT Object, POST Object, or Copy operation, or through the\n * AWS Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are\n * not an MD5 digest of their object data.

    \n *
  • \n *
  • \n *

    If an object is created by either the Multipart Upload or Part Copy operation, the\n * ETag is not an MD5 digest, regardless of the method of encryption.

    \n *
  • \n *
\n */\n ETag?: string;\n\n /**\n *

Size in bytes of the object

\n */\n Size?: number;\n\n /**\n *

The class of storage used to store the object.

\n */\n StorageClass?: ObjectStorageClass | string;\n\n /**\n *

The owner of the object

\n */\n Owner?: Owner;\n}\n\nexport namespace _Object {\n export const filterSensitiveLog = (obj: _Object): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectsOutput {\n /**\n *

A flag that indicates whether Amazon S3 returned all of the results that satisfied the search\n * criteria.

\n */\n IsTruncated?: boolean;\n\n /**\n *

Indicates where in the bucket listing begins. Marker is included in the response if it\n * was sent with the request.

\n */\n Marker?: string;\n\n /**\n *

When response is truncated (the IsTruncated element value in the response is true), you\n * can use the key name in this field as marker in the subsequent request to get next set of\n * objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if\n * you have delimiter request parameter specified. If response does not include the NextMarker\n * and it is truncated, you can use the value of the last Key in the response as the marker in\n * the subsequent request to get the next set of object keys.

\n */\n NextMarker?: string;\n\n /**\n *

Metadata about each object returned.

\n */\n Contents?: _Object[];\n\n /**\n *

The bucket name.

\n */\n Name?: string;\n\n /**\n *

Keys that begin with the indicated prefix.

\n */\n Prefix?: string;\n\n /**\n *

Causes keys that contain the same string between the prefix and the first occurrence of\n * the delimiter to be rolled up into a single result element in the\n * CommonPrefixes collection. These rolled-up keys are not returned elsewhere\n * in the response. Each rolled-up result counts as only one return against the\n * MaxKeys value.

\n */\n Delimiter?: string;\n\n /**\n *

The maximum number of keys returned in the response body.

\n */\n MaxKeys?: number;\n\n /**\n *

All of the keys rolled up in a common prefix count as a single return when calculating\n * the number of returns.

\n *\n *

A response can contain CommonPrefixes only if you specify a delimiter.

\n *\n *

CommonPrefixes contains all (if there are any) keys between Prefix and the next\n * occurrence of the string specified by the delimiter.

\n *\n *

CommonPrefixes lists keys that act like subdirectories in the directory specified by\n * Prefix.

\n *\n *

For example, if the prefix is notes/ and the delimiter is a slash (/) as in\n * notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a\n * common prefix count as a single return when calculating the number of returns.

\n */\n CommonPrefixes?: CommonPrefix[];\n\n /**\n *

Encoding type used by Amazon S3 to encode object keys in the response.

\n */\n EncodingType?: EncodingType | string;\n}\n\nexport namespace ListObjectsOutput {\n export const filterSensitiveLog = (obj: ListObjectsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectsRequest {\n /**\n *

The name of the bucket containing the objects.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

A delimiter is a character you use to group keys.

\n */\n Delimiter?: string;\n\n /**\n *

Requests Amazon S3 to encode the object keys in the response and specifies the encoding\n * method to use. An object key may contain any Unicode character; however, XML 1.0 parser\n * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For\n * characters that are not supported in XML 1.0, you can add this parameter to request that\n * Amazon S3 encode the keys in the response.

\n */\n EncodingType?: EncodingType | string;\n\n /**\n *

Specifies the key to start with when listing objects in a bucket.

\n */\n Marker?: string;\n\n /**\n *

Sets the maximum number of keys returned in the response. By default the API returns up\n * to 1,000 key names. The response might contain fewer keys but will never contain more.\n *

\n */\n MaxKeys?: number;\n\n /**\n *

Limits the response to keys that begin with the specified prefix.

\n */\n Prefix?: string;\n\n /**\n *

Confirms that the requester knows that she or he will be charged for the list objects\n * request. Bucket owners need not specify this parameter in their requests.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListObjectsRequest {\n export const filterSensitiveLog = (obj: ListObjectsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectsV2Output {\n /**\n *

Set to false if all of the results were returned. Set to true if more keys are available\n * to return. If the number of results exceeds that specified by MaxKeys, all of the results\n * might not be returned.

\n */\n IsTruncated?: boolean;\n\n /**\n *

Metadata about each object returned.

\n */\n Contents?: _Object[];\n\n /**\n *

The bucket name.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Name?: string;\n\n /**\n *

Keys that begin with the indicated prefix.

\n */\n Prefix?: string;\n\n /**\n *

Causes keys that contain the same string between the prefix and the first occurrence of\n * the delimiter to be rolled up into a single result element in the CommonPrefixes\n * collection. These rolled-up keys are not returned elsewhere in the response. Each rolled-up\n * result counts as only one return against the MaxKeys value.

\n */\n Delimiter?: string;\n\n /**\n *

Sets the maximum number of keys returned in the response. By default the API returns up\n * to 1,000 key names. The response might contain fewer keys but will never contain\n * more.

\n */\n MaxKeys?: number;\n\n /**\n *

All of the keys rolled up into a common prefix count as a single return when calculating\n * the number of returns.

\n *\n *

A response can contain CommonPrefixes only if you specify a\n * delimiter.

\n *\n *

\n * CommonPrefixes contains all (if there are any) keys between\n * Prefix and the next occurrence of the string specified by a\n * delimiter.

\n *\n *

\n * CommonPrefixes lists keys that act like subdirectories in the directory\n * specified by Prefix.

\n *\n *

For example, if the prefix is notes/ and the delimiter is a slash\n * (/) as in notes/summer/july, the common prefix is\n * notes/summer/. All of the keys that roll up into a common prefix count as a\n * single return when calculating the number of returns.

\n */\n CommonPrefixes?: CommonPrefix[];\n\n /**\n *

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n *\n *

If you specify the encoding-type request parameter, Amazon S3 includes this element in the\n * response, and returns encoded key name values in the following response elements:

\n *\n *

\n * Delimiter, Prefix, Key, and StartAfter.

\n */\n EncodingType?: EncodingType | string;\n\n /**\n *

KeyCount is the number of keys returned with this request. KeyCount will always be less\n * than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than\n * equals 50 keys

\n */\n KeyCount?: number;\n\n /**\n *

If ContinuationToken was sent with the request, it is included in the response.

\n */\n ContinuationToken?: string;\n\n /**\n *

\n * NextContinuationToken is sent when isTruncated is true, which\n * means there are more keys in the bucket that can be listed. The next list requests to Amazon S3\n * can be continued with this NextContinuationToken.\n * NextContinuationToken is obfuscated and is not a real key

\n */\n NextContinuationToken?: string;\n\n /**\n *

If StartAfter was sent with the request, it is included in the response.

\n */\n StartAfter?: string;\n}\n\nexport namespace ListObjectsV2Output {\n export const filterSensitiveLog = (obj: ListObjectsV2Output): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectsV2Request {\n /**\n *

Bucket name to list.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

A delimiter is a character you use to group keys.

\n */\n Delimiter?: string;\n\n /**\n *

Encoding type used by Amazon S3 to encode object keys in the response.

\n */\n EncodingType?: EncodingType | string;\n\n /**\n *

Sets the maximum number of keys returned in the response. By default the API returns up\n * to 1,000 key names. The response might contain fewer keys but will never contain\n * more.

\n */\n MaxKeys?: number;\n\n /**\n *

Limits the response to keys that begin with the specified prefix.

\n */\n Prefix?: string;\n\n /**\n *

ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a\n * token. ContinuationToken is obfuscated and is not a real key.

\n */\n ContinuationToken?: string;\n\n /**\n *

The owner field is not present in listV2 by default, if you want to return owner field\n * with each key in the result then set the fetch owner field to true.

\n */\n FetchOwner?: boolean;\n\n /**\n *

StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this\n * specified key. StartAfter can be any key in the bucket.

\n */\n StartAfter?: string;\n\n /**\n *

Confirms that the requester knows that she or he will be charged for the list objects\n * request in V2 style. Bucket owners need not specify this parameter in their\n * requests.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListObjectsV2Request {\n export const filterSensitiveLog = (obj: ListObjectsV2Request): any => ({\n ...obj,\n });\n}\n\n/**\n *

Information about the delete marker.

\n */\nexport interface DeleteMarkerEntry {\n /**\n *

The account that created the delete marker.>

\n */\n Owner?: Owner;\n\n /**\n *

The object key.

\n */\n Key?: string;\n\n /**\n *

Version ID of an object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies whether the object is (true) or is not (false) the latest version of an\n * object.

\n */\n IsLatest?: boolean;\n\n /**\n *

Date and time the object was last modified.

\n */\n LastModified?: Date;\n}\n\nexport namespace DeleteMarkerEntry {\n export const filterSensitiveLog = (obj: DeleteMarkerEntry): any => ({\n ...obj,\n });\n}\n\nexport type ObjectVersionStorageClass = \"STANDARD\";\n\n/**\n *

The version of an object.

\n */\nexport interface ObjectVersion {\n /**\n *

The entity tag is an MD5 hash of that version of the object.

\n */\n ETag?: string;\n\n /**\n *

Size in bytes of the object.

\n */\n Size?: number;\n\n /**\n *

The class of storage used to store the object.

\n */\n StorageClass?: ObjectVersionStorageClass | string;\n\n /**\n *

The object key.

\n */\n Key?: string;\n\n /**\n *

Version ID of an object.

\n */\n VersionId?: string;\n\n /**\n *

Specifies whether the object is (true) or is not (false) the latest version of an\n * object.

\n */\n IsLatest?: boolean;\n\n /**\n *

Date and time the object was last modified.

\n */\n LastModified?: Date;\n\n /**\n *

Specifies the owner of the object.

\n */\n Owner?: Owner;\n}\n\nexport namespace ObjectVersion {\n export const filterSensitiveLog = (obj: ObjectVersion): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectVersionsOutput {\n /**\n *

A flag that indicates whether Amazon S3 returned all of the results that satisfied the search\n * criteria. If your results were truncated, you can make a follow-up paginated request using\n * the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in\n * another request to return the rest of the results.

\n */\n IsTruncated?: boolean;\n\n /**\n *

Marks the last key returned in a truncated response.

\n */\n KeyMarker?: string;\n\n /**\n *

Marks the last version of the key returned in a truncated response.

\n */\n VersionIdMarker?: string;\n\n /**\n *

When the number of responses exceeds the value of MaxKeys,\n * NextKeyMarker specifies the first key not returned that satisfies the\n * search criteria. Use this value for the key-marker request parameter in a subsequent\n * request.

\n */\n NextKeyMarker?: string;\n\n /**\n *

When the number of responses exceeds the value of MaxKeys,\n * NextVersionIdMarker specifies the first object version not returned that\n * satisfies the search criteria. Use this value for the version-id-marker request parameter\n * in a subsequent request.

\n */\n NextVersionIdMarker?: string;\n\n /**\n *

Container for version information.

\n */\n Versions?: ObjectVersion[];\n\n /**\n *

Container for an object that is a delete marker.

\n */\n DeleteMarkers?: DeleteMarkerEntry[];\n\n /**\n *

The bucket name.

\n */\n Name?: string;\n\n /**\n *

Selects objects that start with the value supplied by this parameter.

\n */\n Prefix?: string;\n\n /**\n *

The delimiter grouping the included keys. A delimiter is a character that you specify to\n * group keys. All keys that contain the same string between the prefix and the first\n * occurrence of the delimiter are grouped under a single result element in\n * CommonPrefixes. These groups are counted as one result against the max-keys\n * limitation. These keys are not returned elsewhere in the response.

\n */\n Delimiter?: string;\n\n /**\n *

Specifies the maximum number of objects to return.

\n */\n MaxKeys?: number;\n\n /**\n *

All of the keys rolled up into a common prefix count as a single return when calculating\n * the number of returns.

\n */\n CommonPrefixes?: CommonPrefix[];\n\n /**\n *

Encoding type used by Amazon S3 to encode object key names in the XML response.

\n *\n *

If you specify encoding-type request parameter, Amazon S3 includes this element in the\n * response, and returns encoded key name values in the following response elements:

\n *\n *

\n * KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

\n */\n EncodingType?: EncodingType | string;\n}\n\nexport namespace ListObjectVersionsOutput {\n export const filterSensitiveLog = (obj: ListObjectVersionsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface ListObjectVersionsRequest {\n /**\n *

The bucket name that contains the objects.

\n */\n Bucket: string | undefined;\n\n /**\n *

A delimiter is a character that you specify to group keys. All keys that contain the\n * same string between the prefix and the first occurrence of the delimiter are\n * grouped under a single result element in CommonPrefixes. These groups are counted as one\n * result against the max-keys limitation. These keys are not returned elsewhere in the\n * response.

\n */\n Delimiter?: string;\n\n /**\n *

Requests Amazon S3 to encode the object keys in the response and specifies the encoding\n * method to use. An object key may contain any Unicode character; however, XML 1.0 parser\n * cannot parse some characters, such as characters with an ASCII value from 0 to 10. For\n * characters that are not supported in XML 1.0, you can add this parameter to request that\n * Amazon S3 encode the keys in the response.

\n */\n EncodingType?: EncodingType | string;\n\n /**\n *

Specifies the key to start with when listing objects in a bucket.

\n */\n KeyMarker?: string;\n\n /**\n *

Sets the maximum number of keys returned in the response. By default the API returns up\n * to 1,000 key names. The response might contain fewer keys but will never contain more. If\n * additional keys satisfy the search criteria, but were not returned because max-keys was\n * exceeded, the response contains true. To return the\n * additional keys, see key-marker and version-id-marker.

\n */\n MaxKeys?: number;\n\n /**\n *

Use this parameter to select only those keys that begin with the specified prefix. You\n * can use prefixes to separate a bucket into different groupings of keys. (You can think of\n * using prefix to make groups in the same way you'd use a folder in a file system.) You can\n * use prefix with delimiter to roll up numerous objects into a single result under\n * CommonPrefixes.

\n */\n Prefix?: string;\n\n /**\n *

Specifies the object version you want to start listing from.

\n */\n VersionIdMarker?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListObjectVersionsRequest {\n export const filterSensitiveLog = (obj: ListObjectVersionsRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for elements related to a part.

\n */\nexport interface Part {\n /**\n *

Part number identifying the part. This is a positive integer between 1 and\n * 10,000.

\n */\n PartNumber?: number;\n\n /**\n *

Date and time at which the part was uploaded.

\n */\n LastModified?: Date;\n\n /**\n *

Entity tag returned when the part was uploaded.

\n */\n ETag?: string;\n\n /**\n *

Size in bytes of the uploaded part data.

\n */\n Size?: number;\n}\n\nexport namespace Part {\n export const filterSensitiveLog = (obj: Part): any => ({\n ...obj,\n });\n}\n\nexport interface ListPartsOutput {\n /**\n *

If the bucket has a lifecycle rule configured with an action to abort incomplete\n * multipart uploads and the prefix in the lifecycle rule matches the object name in the\n * request, then the response includes this header indicating when the initiated multipart\n * upload will become eligible for abort operation. For more information, see Aborting\n * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n *\n *

The response will also include the x-amz-abort-rule-id header that will\n * provide the ID of the lifecycle configuration rule that defines this action.

\n */\n AbortDate?: Date;\n\n /**\n *

This header is returned along with the x-amz-abort-date header. It\n * identifies applicable lifecycle configuration rule that defines the action to abort\n * incomplete multipart uploads.

\n */\n AbortRuleId?: string;\n\n /**\n *

The name of the bucket to which the multipart upload was initiated.

\n */\n Bucket?: string;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key?: string;\n\n /**\n *

Upload ID identifying the multipart upload whose parts are being listed.

\n */\n UploadId?: string;\n\n /**\n *

When a list is truncated, this element specifies the last part in the list, as well as\n * the value to use for the part-number-marker request parameter in a subsequent\n * request.

\n */\n PartNumberMarker?: string;\n\n /**\n *

When a list is truncated, this element specifies the last part in the list, as well as\n * the value to use for the part-number-marker request parameter in a subsequent\n * request.

\n */\n NextPartNumberMarker?: string;\n\n /**\n *

Maximum number of parts that were allowed in the response.

\n */\n MaxParts?: number;\n\n /**\n *

Indicates whether the returned list of parts is truncated. A true value indicates that\n * the list was truncated. A list can be truncated if the number of parts exceeds the limit\n * returned in the MaxParts element.

\n */\n IsTruncated?: boolean;\n\n /**\n *

Container for elements related to a particular part. A response can contain zero or\n * more Part elements.

\n */\n Parts?: Part[];\n\n /**\n *

Container element that identifies who initiated the multipart upload. If the initiator\n * is an AWS account, this element provides the same information as the Owner\n * element. If the initiator is an IAM User, this element provides the user ARN and display\n * name.

\n */\n Initiator?: Initiator;\n\n /**\n *

Container element that identifies the object owner, after the object is created. If\n * multipart upload is initiated by an IAM user, this element provides the parent account ID\n * and display name.

\n */\n Owner?: Owner;\n\n /**\n *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded\n * object.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace ListPartsOutput {\n export const filterSensitiveLog = (obj: ListPartsOutput): any => ({\n ...obj,\n });\n}\n\nexport interface ListPartsRequest {\n /**\n *

The name of the bucket to which the parts are being uploaded.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

Sets the maximum number of parts to return.

\n */\n MaxParts?: number;\n\n /**\n *

Specifies the part after which listing should begin. Only parts with higher part numbers\n * will be listed.

\n */\n PartNumberMarker?: string;\n\n /**\n *

Upload ID identifying the multipart upload whose parts are being listed.

\n */\n UploadId: string | undefined;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace ListPartsRequest {\n export const filterSensitiveLog = (obj: ListPartsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketAccelerateConfigurationRequest {\n /**\n *

The name of the bucket for which the accelerate configuration is set.

\n */\n Bucket: string | undefined;\n\n /**\n *

Container for setting the transfer acceleration state.

\n */\n AccelerateConfiguration: AccelerateConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketAccelerateConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketAccelerateConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketAclRequest {\n /**\n *

The canned ACL to apply to the bucket.

\n */\n ACL?: BucketCannedACL | string;\n\n /**\n *

Contains the elements that set the ACL permissions for an object per grantee.

\n */\n AccessControlPolicy?: AccessControlPolicy;\n\n /**\n *

The bucket to which to apply the ACL.

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, go to RFC\n * 1864.\n *

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Allows grantee the read, write, read ACP, and write ACP permissions on the\n * bucket.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to list the objects in the bucket.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the bucket ACL.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to create, overwrite, and delete any object in the bucket.

\n */\n GrantWrite?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable bucket.

\n */\n GrantWriteACP?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketAclRequest {\n export const filterSensitiveLog = (obj: PutBucketAclRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketAnalyticsConfigurationRequest {\n /**\n *

The name of the bucket to which an analytics configuration is stored.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID that identifies the analytics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

The configuration and any analyses for the analytics filter.

\n */\n AnalyticsConfiguration: AnalyticsConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketAnalyticsConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketAnalyticsConfigurationRequest): any => ({\n ...obj,\n ...(obj.AnalyticsConfiguration && {\n AnalyticsConfiguration: AnalyticsConfiguration.filterSensitiveLog(obj.AnalyticsConfiguration),\n }),\n });\n}\n\n/**\n *

Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more\n * information, see Enabling\n * Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer\n * Guide.

\n */\nexport interface CORSConfiguration {\n /**\n *

A set of origins and methods (cross-origin access that you want to allow). You can add\n * up to 100 rules to the configuration.

\n */\n CORSRules: CORSRule[] | undefined;\n}\n\nexport namespace CORSConfiguration {\n export const filterSensitiveLog = (obj: CORSConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketCorsRequest {\n /**\n *

Specifies the bucket impacted by the corsconfiguration.

\n */\n Bucket: string | undefined;\n\n /**\n *

Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more\n * information, see Enabling Cross-Origin Resource\n * Sharing in the Amazon Simple Storage Service Developer Guide.

\n */\n CORSConfiguration: CORSConfiguration | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, go to RFC\n * 1864.\n *

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketCorsRequest {\n export const filterSensitiveLog = (obj: PutBucketCorsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketEncryptionRequest {\n /**\n *

Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed\n * keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about\n * the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption\n * in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Specifies the default server-side-encryption configuration.

\n */\n ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketEncryptionRequest {\n export const filterSensitiveLog = (obj: PutBucketEncryptionRequest): any => ({\n ...obj,\n ...(obj.ServerSideEncryptionConfiguration && {\n ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration.filterSensitiveLog(\n obj.ServerSideEncryptionConfiguration\n ),\n }),\n });\n}\n\nexport interface PutBucketIntelligentTieringConfigurationRequest {\n /**\n *

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the S3 Intelligent-Tiering configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Container for S3 Intelligent-Tiering configuration.

\n */\n IntelligentTieringConfiguration: IntelligentTieringConfiguration | undefined;\n}\n\nexport namespace PutBucketIntelligentTieringConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketIntelligentTieringConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketInventoryConfigurationRequest {\n /**\n *

The name of the bucket where the inventory configuration will be stored.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the inventory configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Specifies the inventory configuration.

\n */\n InventoryConfiguration: InventoryConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketInventoryConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketInventoryConfigurationRequest): any => ({\n ...obj,\n ...(obj.InventoryConfiguration && {\n InventoryConfiguration: InventoryConfiguration.filterSensitiveLog(obj.InventoryConfiguration),\n }),\n });\n}\n\n/**\n *

Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more\n * information, see Object Lifecycle Management\n * in the Amazon Simple Storage Service Developer Guide.

\n */\nexport interface BucketLifecycleConfiguration {\n /**\n *

A lifecycle rule for individual objects in an Amazon S3 bucket.

\n */\n Rules: LifecycleRule[] | undefined;\n}\n\nexport namespace BucketLifecycleConfiguration {\n export const filterSensitiveLog = (obj: BucketLifecycleConfiguration): any => ({\n ...obj,\n ...(obj.Rules && { Rules: obj.Rules.map((item) => LifecycleRule.filterSensitiveLog(item)) }),\n });\n}\n\nexport interface PutBucketLifecycleConfigurationRequest {\n /**\n *

The name of the bucket for which to set the configuration.

\n */\n Bucket: string | undefined;\n\n /**\n *

Container for lifecycle rules. You can add as many as 1,000 rules.

\n */\n LifecycleConfiguration?: BucketLifecycleConfiguration;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketLifecycleConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketLifecycleConfigurationRequest): any => ({\n ...obj,\n ...(obj.LifecycleConfiguration && {\n LifecycleConfiguration: BucketLifecycleConfiguration.filterSensitiveLog(obj.LifecycleConfiguration),\n }),\n });\n}\n\n/**\n *

Container for logging status information.

\n */\nexport interface BucketLoggingStatus {\n /**\n *

Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys\n * for a bucket. For more information, see PUT Bucket logging in the\n * Amazon Simple Storage Service API Reference.

\n */\n LoggingEnabled?: LoggingEnabled;\n}\n\nexport namespace BucketLoggingStatus {\n export const filterSensitiveLog = (obj: BucketLoggingStatus): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketLoggingRequest {\n /**\n *

The name of the bucket for which to set the logging parameters.

\n */\n Bucket: string | undefined;\n\n /**\n *

Container for logging status information.

\n */\n BucketLoggingStatus: BucketLoggingStatus | undefined;\n\n /**\n *

The MD5 hash of the PutBucketLogging request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketLoggingRequest {\n export const filterSensitiveLog = (obj: PutBucketLoggingRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketMetricsConfigurationRequest {\n /**\n *

The name of the bucket for which the metrics configuration is set.

\n */\n Bucket: string | undefined;\n\n /**\n *

The ID used to identify the metrics configuration.

\n */\n Id: string | undefined;\n\n /**\n *

Specifies the metrics configuration.

\n */\n MetricsConfiguration: MetricsConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketMetricsConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketMetricsConfigurationRequest): any => ({\n ...obj,\n ...(obj.MetricsConfiguration && {\n MetricsConfiguration: MetricsConfiguration.filterSensitiveLog(obj.MetricsConfiguration),\n }),\n });\n}\n\nexport interface PutBucketNotificationConfigurationRequest {\n /**\n *

The name of the bucket.

\n */\n Bucket: string | undefined;\n\n /**\n *

A container for specifying the notification configuration of the bucket. If this element\n * is empty, notifications are turned off for the bucket.

\n */\n NotificationConfiguration: NotificationConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketNotificationConfigurationRequest {\n export const filterSensitiveLog = (obj: PutBucketNotificationConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketOwnershipControlsRequest {\n /**\n *

The name of the Amazon S3 bucket whose OwnershipControls you want to set.

\n */\n Bucket: string | undefined;\n\n /**\n *

The MD5 hash of the OwnershipControls request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n\n /**\n *

The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want\n * to apply to this Amazon S3 bucket.

\n */\n OwnershipControls: OwnershipControls | undefined;\n}\n\nexport namespace PutBucketOwnershipControlsRequest {\n export const filterSensitiveLog = (obj: PutBucketOwnershipControlsRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketPolicyRequest {\n /**\n *

The name of the bucket.

\n */\n Bucket: string | undefined;\n\n /**\n *

The MD5 hash of the request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Set this parameter to true to confirm that you want to remove your permissions to change\n * this bucket policy in the future.

\n */\n ConfirmRemoveSelfBucketAccess?: boolean;\n\n /**\n *

The bucket policy as a JSON document.

\n */\n Policy: string | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketPolicyRequest {\n export const filterSensitiveLog = (obj: PutBucketPolicyRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketReplicationRequest {\n /**\n *

The name of the bucket

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, see RFC 1864.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

A container for replication rules. You can add up to 1,000 rules. The maximum size of a\n * replication configuration is 2 MB.

\n */\n ReplicationConfiguration: ReplicationConfiguration | undefined;\n\n /**\n *

A token to allow Object Lock to be enabled for an existing bucket.

\n */\n Token?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketReplicationRequest {\n export const filterSensitiveLog = (obj: PutBucketReplicationRequest): any => ({\n ...obj,\n ...(obj.ReplicationConfiguration && {\n ReplicationConfiguration: ReplicationConfiguration.filterSensitiveLog(obj.ReplicationConfiguration),\n }),\n });\n}\n\n/**\n *

Container for Payer.

\n */\nexport interface RequestPaymentConfiguration {\n /**\n *

Specifies who pays for the download and request fees.

\n */\n Payer: Payer | string | undefined;\n}\n\nexport namespace RequestPaymentConfiguration {\n export const filterSensitiveLog = (obj: RequestPaymentConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketRequestPaymentRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

>The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n * message integrity check to verify that the request body was not corrupted in transit. For\n * more information, see RFC\n * 1864.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Container for Payer.

\n */\n RequestPaymentConfiguration: RequestPaymentConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketRequestPaymentRequest {\n export const filterSensitiveLog = (obj: PutBucketRequestPaymentRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for TagSet elements.

\n */\nexport interface Tagging {\n /**\n *

A collection for a set of tags

\n */\n TagSet: Tag[] | undefined;\n}\n\nexport namespace Tagging {\n export const filterSensitiveLog = (obj: Tagging): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketTaggingRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, see RFC 1864.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Container for the TagSet and Tag elements.

\n */\n Tagging: Tagging | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketTaggingRequest {\n export const filterSensitiveLog = (obj: PutBucketTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport type MFADelete = \"Disabled\" | \"Enabled\";\n\n/**\n *

Describes the versioning state of an Amazon S3 bucket. For more information, see PUT\n * Bucket versioning in the Amazon Simple Storage Service API Reference.

\n */\nexport interface VersioningConfiguration {\n /**\n *

Specifies whether MFA delete is enabled in the bucket versioning configuration. This\n * element is only returned if the bucket has been configured with MFA delete. If the bucket\n * has never been so configured, this element is not returned.

\n */\n MFADelete?: MFADelete | string;\n\n /**\n *

The versioning state of the bucket.

\n */\n Status?: BucketVersioningStatus | string;\n}\n\nexport namespace VersioningConfiguration {\n export const filterSensitiveLog = (obj: VersioningConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketVersioningRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

>The base64-encoded 128-bit MD5 digest of the data. You must use this header as a\n * message integrity check to verify that the request body was not corrupted in transit. For\n * more information, see RFC\n * 1864.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The concatenation of the authentication device's serial number, a space, and the value\n * that is displayed on your authentication device.

\n */\n MFA?: string;\n\n /**\n *

Container for setting the versioning state.

\n */\n VersioningConfiguration: VersioningConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketVersioningRequest {\n export const filterSensitiveLog = (obj: PutBucketVersioningRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies website configuration parameters for an Amazon S3 bucket.

\n */\nexport interface WebsiteConfiguration {\n /**\n *

The name of the error document for the website.

\n */\n ErrorDocument?: ErrorDocument;\n\n /**\n *

The name of the index document for the website.

\n */\n IndexDocument?: IndexDocument;\n\n /**\n *

The redirect behavior for every request to this bucket's website endpoint.

\n * \n *

If you specify this property, you can't specify any other property.

\n *
\n */\n RedirectAllRequestsTo?: RedirectAllRequestsTo;\n\n /**\n *

Rules that define when a redirect is applied and the redirect behavior.

\n */\n RoutingRules?: RoutingRule[];\n}\n\nexport namespace WebsiteConfiguration {\n export const filterSensitiveLog = (obj: WebsiteConfiguration): any => ({\n ...obj,\n });\n}\n\nexport interface PutBucketWebsiteRequest {\n /**\n *

The bucket name.

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, see RFC 1864.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Container for the request.

\n */\n WebsiteConfiguration: WebsiteConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutBucketWebsiteRequest {\n export const filterSensitiveLog = (obj: PutBucketWebsiteRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectOutput {\n /**\n *

If the expiration is configured for the object (see PutBucketLifecycleConfiguration), the response includes this header. It\n * includes the expiry-date and rule-id key-value pairs that provide information about object\n * expiration. The value of the rule-id is URL encoded.

\n */\n Expiration?: string;\n\n /**\n *

Entity tag for the uploaded object.

\n */\n ETag?: string;\n\n /**\n *

If you specified server-side encryption either with an AWS KMS customer master key (CMK)\n * or Amazon S3-managed encryption key in your PUT request, the response includes this header. It\n * confirms the encryption algorithm that Amazon S3 used to encrypt the object.

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

Version of the object.

\n */\n VersionId?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If x-amz-server-side-encryption is present and has the value of\n * aws:kms, this header specifies the ID of the AWS Key Management Service\n * (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the\n * object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

If present, specifies the AWS KMS Encryption Context to use for object encryption. The\n * value of this header is a base64-encoded UTF-8 string holding JSON with the encryption\n * context key-value pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace PutObjectOutput {\n export const filterSensitiveLog = (obj: PutObjectOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n });\n}\n\nexport interface PutObjectRequest {\n /**\n *

The canned ACL to apply to the object. For more information, see Canned\n * ACL.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n ACL?: ObjectCannedACL | string;\n\n /**\n *

Object data.

\n */\n Body?: Readable | ReadableStream | Blob;\n\n /**\n *

The bucket name to which the PUT operation was initiated.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Can be used to specify caching behavior along the request/reply chain. For more\n * information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

\n */\n CacheControl?: string;\n\n /**\n *

Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1.

\n */\n ContentDisposition?: string;\n\n /**\n *

Specifies what content encodings have been applied to the object and thus what decoding\n * mechanisms must be applied to obtain the media-type referenced by the Content-Type header\n * field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.

\n */\n ContentEncoding?: string;\n\n /**\n *

The language the content is in.

\n */\n ContentLanguage?: string;\n\n /**\n *

Size of the body in bytes. This parameter is useful when the size of the body cannot be\n * determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.

\n */\n ContentLength?: number;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the message (without the headers) according to\n * RFC 1864. This header can be used as a message integrity check to verify that the data is\n * the same data that was originally sent. Although it is optional, we recommend using the\n * Content-MD5 mechanism as an end-to-end integrity check. For more information about REST\n * request authentication, see REST\n * Authentication.

\n */\n ContentMD5?: string;\n\n /**\n *

A standard MIME type describing the format of the contents. For more information, see\n * http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.

\n */\n ContentType?: string;\n\n /**\n *

The date and time at which the object is no longer cacheable. For more information, see\n * http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.

\n */\n Expires?: Date;\n\n /**\n *

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to read the object data and its\n * metadata.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the object ACL.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable\n * object.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantWriteACP?: string;\n\n /**\n *

Object key for which the PUT operation was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

A map of metadata to store with the object in S3.

\n */\n Metadata?: { [key: string]: string };\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n * STANDARD storage class provides high durability and high availability. Depending on\n * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n * the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3\n * Service Developer Guide.

\n */\n StorageClass?: StorageClass | string;\n\n /**\n *

If the bucket is configured as a website, redirects requests for this object to another\n * object in the same bucket or to an external URL. Amazon S3 stores the value of this header in\n * the object metadata. For information about object metadata, see Object Key and Metadata.

\n *\n *

In the following example, the request header sets the redirect to an object\n * (anotherPage.html) in the same bucket:

\n *\n *

\n * x-amz-website-redirect-location: /anotherPage.html\n *

\n *\n *

In the following example, the request header sets the object redirect to another\n * website:

\n *\n *

\n * x-amz-website-redirect-location: http://www.example.com/\n *

\n *\n *

For more information about website hosting in Amazon S3, see Hosting Websites on Amazon S3 and How to Configure Website Page\n * Redirects.

\n */\n WebsiteRedirectLocation?: string;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If x-amz-server-side-encryption is present and has the value of\n * aws:kms, this header specifies the ID of the AWS Key Management Service\n * (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the\n * object.

\n *

If the value of x-amz-server-side-encryption is aws:kms, this\n * header specifies the ID of the symmetric customer managed AWS KMS CMK that will be used for\n * the object. If you specify x-amz-server-side-encryption:aws:kms, but do not\n * provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS\n * managed CMK in AWS to protect the data.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Specifies the AWS KMS Encryption Context to use for object encryption. The value of this\n * header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value\n * pairs.

\n */\n SSEKMSEncryptionContext?: string;\n\n /**\n *

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n *

Specifying this header with a PUT operation doesn’t affect bucket-level settings for S3 Bucket Key.

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For\n * example, \"Key1=Value1\")

\n */\n Tagging?: string;\n\n /**\n *

The Object Lock mode that you want to apply to this object.

\n */\n ObjectLockMode?: ObjectLockMode | string;\n\n /**\n *

The date and time when you want this object's Object Lock to expire.

\n */\n ObjectLockRetainUntilDate?: Date;\n\n /**\n *

Specifies whether a legal hold will be applied to this object. For more information\n * about S3 Object Lock, see Object\n * Lock.

\n */\n ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectRequest {\n export const filterSensitiveLog = (obj: PutObjectRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n ...(obj.SSEKMSEncryptionContext && { SSEKMSEncryptionContext: SENSITIVE_STRING }),\n });\n}\n\nexport interface PutObjectAclOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace PutObjectAclOutput {\n export const filterSensitiveLog = (obj: PutObjectAclOutput): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectAclRequest {\n /**\n *

The canned ACL to apply to the object. For more information, see Canned ACL.

\n */\n ACL?: ObjectCannedACL | string;\n\n /**\n *

Contains the elements that set the ACL permissions for an object per grantee.

\n */\n AccessControlPolicy?: AccessControlPolicy;\n\n /**\n *

The bucket name that contains the object to which you want to attach the ACL.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message\n * integrity check to verify that the request body was not corrupted in transit. For more\n * information, go to RFC\n * 1864.>\n *

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Allows grantee the read, write, read ACP, and write ACP permissions on the\n * bucket.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantFullControl?: string;\n\n /**\n *

Allows grantee to list the objects in the\n * bucket.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantRead?: string;\n\n /**\n *

Allows grantee to read the bucket ACL.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantReadACP?: string;\n\n /**\n *

Allows grantee to create, overwrite, and delete any object in the bucket.

\n */\n GrantWrite?: string;\n\n /**\n *

Allows grantee to write the ACL for the applicable\n * bucket.

\n *

This action is not supported by Amazon S3 on Outposts.

\n */\n GrantWriteACP?: string;\n\n /**\n *

Key for which the PUT operation was initiated.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Key: string | undefined;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectAclRequest {\n export const filterSensitiveLog = (obj: PutObjectAclRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectLegalHoldOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace PutObjectLegalHoldOutput {\n export const filterSensitiveLog = (obj: PutObjectLegalHoldOutput): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectLegalHoldRequest {\n /**\n *

The bucket name containing the object that you want to place a Legal Hold on.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The key name for the object that you want to place a Legal Hold on.

\n */\n Key: string | undefined;\n\n /**\n *

Container element for the Legal Hold configuration you want to apply to the specified\n * object.

\n */\n LegalHold?: ObjectLockLegalHold;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The version ID of the object that you want to place a Legal Hold on.

\n */\n VersionId?: string;\n\n /**\n *

The MD5 hash for the request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectLegalHoldRequest {\n export const filterSensitiveLog = (obj: PutObjectLegalHoldRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectLockConfigurationOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace PutObjectLockConfigurationOutput {\n export const filterSensitiveLog = (obj: PutObjectLockConfigurationOutput): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectLockConfigurationRequest {\n /**\n *

The bucket whose Object Lock configuration you want to create or replace.

\n */\n Bucket: string | undefined;\n\n /**\n *

The Object Lock configuration that you want to apply to the specified bucket.

\n */\n ObjectLockConfiguration?: ObjectLockConfiguration;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

A token to allow Object Lock to be enabled for an existing bucket.

\n */\n Token?: string;\n\n /**\n *

The MD5 hash for the request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectLockConfigurationRequest {\n export const filterSensitiveLog = (obj: PutObjectLockConfigurationRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectRetentionOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace PutObjectRetentionOutput {\n export const filterSensitiveLog = (obj: PutObjectRetentionOutput): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectRetentionRequest {\n /**\n *

The bucket name that contains the object you want to apply this Object Retention\n * configuration to.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

The key name for the object that you want to apply this Object Retention configuration\n * to.

\n */\n Key: string | undefined;\n\n /**\n *

The container element for the Object Retention configuration.

\n */\n Retention?: ObjectLockRetention;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The version ID for the object that you want to apply this Object Retention configuration\n * to.

\n */\n VersionId?: string;\n\n /**\n *

Indicates whether this operation should bypass Governance-mode restrictions.

\n */\n BypassGovernanceRetention?: boolean;\n\n /**\n *

The MD5 hash for the request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectRetentionRequest {\n export const filterSensitiveLog = (obj: PutObjectRetentionRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectTaggingOutput {\n /**\n *

The versionId of the object the tag-set was added to.

\n */\n VersionId?: string;\n}\n\nexport namespace PutObjectTaggingOutput {\n export const filterSensitiveLog = (obj: PutObjectTaggingOutput): any => ({\n ...obj,\n });\n}\n\nexport interface PutObjectTaggingRequest {\n /**\n *

The bucket name containing the object.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Name of the object key.

\n */\n Key: string | undefined;\n\n /**\n *

The versionId of the object that the tag-set will be added to.

\n */\n VersionId?: string;\n\n /**\n *

The MD5 hash for the request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

Container for the TagSet and Tag elements

\n */\n Tagging: Tagging | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutObjectTaggingRequest {\n export const filterSensitiveLog = (obj: PutObjectTaggingRequest): any => ({\n ...obj,\n });\n}\n\nexport interface PutPublicAccessBlockRequest {\n /**\n *

The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want\n * to set.

\n */\n Bucket: string | undefined;\n\n /**\n *

The MD5 hash of the PutPublicAccessBlock request body.

\n *

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

\n */\n ContentMD5?: string;\n\n /**\n *

The PublicAccessBlock configuration that you want to apply to this Amazon S3\n * bucket. You can enable the configuration options in any combination. For more information\n * about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer\n * Guide.

\n */\n PublicAccessBlockConfiguration: PublicAccessBlockConfiguration | undefined;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace PutPublicAccessBlockRequest {\n export const filterSensitiveLog = (obj: PutPublicAccessBlockRequest): any => ({\n ...obj,\n });\n}\n\n/**\n *

This operation is not allowed against this storage tier.

\n */\nexport interface ObjectAlreadyInActiveTierError extends __SmithyException, $MetadataBearer {\n name: \"ObjectAlreadyInActiveTierError\";\n $fault: \"client\";\n}\n\nexport namespace ObjectAlreadyInActiveTierError {\n export const filterSensitiveLog = (obj: ObjectAlreadyInActiveTierError): any => ({\n ...obj,\n });\n}\n\nexport interface RestoreObjectOutput {\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n\n /**\n *

Indicates the path in the provided S3 output location where Select results will be\n * restored to.

\n */\n RestoreOutputPath?: string;\n}\n\nexport namespace RestoreObjectOutput {\n export const filterSensitiveLog = (obj: RestoreObjectOutput): any => ({\n ...obj,\n });\n}\n\nexport type Tier = \"Bulk\" | \"Expedited\" | \"Standard\";\n\n/**\n *

Container for S3 Glacier job parameters.

\n */\nexport interface GlacierJobParameters {\n /**\n *

Retrieval tier at which the restore will be processed.

\n */\n Tier: Tier | string | undefined;\n}\n\nexport namespace GlacierJobParameters {\n export const filterSensitiveLog = (obj: GlacierJobParameters): any => ({\n ...obj,\n });\n}\n\n/**\n *

Contains the type of server-side encryption used.

\n */\nexport interface Encryption {\n /**\n *

The server-side encryption algorithm used when storing job results in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n EncryptionType: ServerSideEncryption | string | undefined;\n\n /**\n *

If the encryption type is aws:kms, this optional value specifies the ID of\n * the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only\n * supports symmetric CMKs. For more information, see Using Symmetric and\n * Asymmetric Keys in the AWS Key Management Service Developer\n * Guide.

\n */\n KMSKeyId?: string;\n\n /**\n *

If the encryption type is aws:kms, this optional value can be used to\n * specify the encryption context for the restore results.

\n */\n KMSContext?: string;\n}\n\nexport namespace Encryption {\n export const filterSensitiveLog = (obj: Encryption): any => ({\n ...obj,\n ...(obj.KMSKeyId && { KMSKeyId: SENSITIVE_STRING }),\n });\n}\n","/**\n * Escapes characters that can not be in an XML attribute.\n */\nexport function escapeAttribute(value: string): string {\n return value.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n}\n","import { escapeAttribute } from \"./escape-attribute\";\nimport { Stringable } from \"./stringable\";\n\n/**\n * Represents an XML node.\n */\nexport class XmlNode {\n private attributes: { [name: string]: any } = {};\n\n constructor(private name: string, public readonly children: Stringable[] = []) {}\n\n withName(name: string): XmlNode {\n this.name = name;\n return this;\n }\n\n addAttribute(name: string, value: any): XmlNode {\n this.attributes[name] = value;\n return this;\n }\n\n addChildNode(child: Stringable): XmlNode {\n this.children.push(child);\n return this;\n }\n\n removeAttribute(name: string): XmlNode {\n delete this.attributes[name];\n return this;\n }\n\n toString(): string {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n // add attributes\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (typeof attribute !== \"undefined\" && attribute !== null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}`);\n }\n}\n","/**\n * Escapes characters that can not be in an XML element.\n */\nexport function escapeElement(value: string): string {\n return value.replace(/&/g, \"&\").replace(//g, \">\");\n}\n","import { escapeElement } from \"./escape-element\";\nimport { Stringable } from \"./stringable\";\n/**\n * Represents an XML text value.\n */\nexport class XmlText implements Stringable {\n constructor(private value: string) {}\n\n toString(): string {\n return escapeElement(\"\" + this.value);\n }\n}\n","export * from \"./XmlNode\";\nexport * from \"./XmlText\";\n","import {\n AbortMultipartUploadCommandInput,\n AbortMultipartUploadCommandOutput,\n} from \"../commands/AbortMultipartUploadCommand\";\nimport {\n CompleteMultipartUploadCommandInput,\n CompleteMultipartUploadCommandOutput,\n} from \"../commands/CompleteMultipartUploadCommand\";\nimport { CopyObjectCommandInput, CopyObjectCommandOutput } from \"../commands/CopyObjectCommand\";\nimport { CreateBucketCommandInput, CreateBucketCommandOutput } from \"../commands/CreateBucketCommand\";\nimport {\n CreateMultipartUploadCommandInput,\n CreateMultipartUploadCommandOutput,\n} from \"../commands/CreateMultipartUploadCommand\";\nimport {\n DeleteBucketAnalyticsConfigurationCommandInput,\n DeleteBucketAnalyticsConfigurationCommandOutput,\n} from \"../commands/DeleteBucketAnalyticsConfigurationCommand\";\nimport { DeleteBucketCommandInput, DeleteBucketCommandOutput } from \"../commands/DeleteBucketCommand\";\nimport { DeleteBucketCorsCommandInput, DeleteBucketCorsCommandOutput } from \"../commands/DeleteBucketCorsCommand\";\nimport {\n DeleteBucketEncryptionCommandInput,\n DeleteBucketEncryptionCommandOutput,\n} from \"../commands/DeleteBucketEncryptionCommand\";\nimport {\n DeleteBucketIntelligentTieringConfigurationCommandInput,\n DeleteBucketIntelligentTieringConfigurationCommandOutput,\n} from \"../commands/DeleteBucketIntelligentTieringConfigurationCommand\";\nimport {\n DeleteBucketInventoryConfigurationCommandInput,\n DeleteBucketInventoryConfigurationCommandOutput,\n} from \"../commands/DeleteBucketInventoryConfigurationCommand\";\nimport {\n DeleteBucketLifecycleCommandInput,\n DeleteBucketLifecycleCommandOutput,\n} from \"../commands/DeleteBucketLifecycleCommand\";\nimport {\n DeleteBucketMetricsConfigurationCommandInput,\n DeleteBucketMetricsConfigurationCommandOutput,\n} from \"../commands/DeleteBucketMetricsConfigurationCommand\";\nimport {\n DeleteBucketOwnershipControlsCommandInput,\n DeleteBucketOwnershipControlsCommandOutput,\n} from \"../commands/DeleteBucketOwnershipControlsCommand\";\nimport { DeleteBucketPolicyCommandInput, DeleteBucketPolicyCommandOutput } from \"../commands/DeleteBucketPolicyCommand\";\nimport {\n DeleteBucketReplicationCommandInput,\n DeleteBucketReplicationCommandOutput,\n} from \"../commands/DeleteBucketReplicationCommand\";\nimport {\n DeleteBucketTaggingCommandInput,\n DeleteBucketTaggingCommandOutput,\n} from \"../commands/DeleteBucketTaggingCommand\";\nimport {\n DeleteBucketWebsiteCommandInput,\n DeleteBucketWebsiteCommandOutput,\n} from \"../commands/DeleteBucketWebsiteCommand\";\nimport { DeleteObjectCommandInput, DeleteObjectCommandOutput } from \"../commands/DeleteObjectCommand\";\nimport {\n DeleteObjectTaggingCommandInput,\n DeleteObjectTaggingCommandOutput,\n} from \"../commands/DeleteObjectTaggingCommand\";\nimport { DeleteObjectsCommandInput, DeleteObjectsCommandOutput } from \"../commands/DeleteObjectsCommand\";\nimport {\n DeletePublicAccessBlockCommandInput,\n DeletePublicAccessBlockCommandOutput,\n} from \"../commands/DeletePublicAccessBlockCommand\";\nimport {\n GetBucketAccelerateConfigurationCommandInput,\n GetBucketAccelerateConfigurationCommandOutput,\n} from \"../commands/GetBucketAccelerateConfigurationCommand\";\nimport { GetBucketAclCommandInput, GetBucketAclCommandOutput } from \"../commands/GetBucketAclCommand\";\nimport {\n GetBucketAnalyticsConfigurationCommandInput,\n GetBucketAnalyticsConfigurationCommandOutput,\n} from \"../commands/GetBucketAnalyticsConfigurationCommand\";\nimport { GetBucketCorsCommandInput, GetBucketCorsCommandOutput } from \"../commands/GetBucketCorsCommand\";\nimport {\n GetBucketEncryptionCommandInput,\n GetBucketEncryptionCommandOutput,\n} from \"../commands/GetBucketEncryptionCommand\";\nimport {\n GetBucketIntelligentTieringConfigurationCommandInput,\n GetBucketIntelligentTieringConfigurationCommandOutput,\n} from \"../commands/GetBucketIntelligentTieringConfigurationCommand\";\nimport {\n GetBucketInventoryConfigurationCommandInput,\n GetBucketInventoryConfigurationCommandOutput,\n} from \"../commands/GetBucketInventoryConfigurationCommand\";\nimport {\n GetBucketLifecycleConfigurationCommandInput,\n GetBucketLifecycleConfigurationCommandOutput,\n} from \"../commands/GetBucketLifecycleConfigurationCommand\";\nimport { GetBucketLocationCommandInput, GetBucketLocationCommandOutput } from \"../commands/GetBucketLocationCommand\";\nimport { GetBucketLoggingCommandInput, GetBucketLoggingCommandOutput } from \"../commands/GetBucketLoggingCommand\";\nimport {\n GetBucketMetricsConfigurationCommandInput,\n GetBucketMetricsConfigurationCommandOutput,\n} from \"../commands/GetBucketMetricsConfigurationCommand\";\nimport {\n GetBucketNotificationConfigurationCommandInput,\n GetBucketNotificationConfigurationCommandOutput,\n} from \"../commands/GetBucketNotificationConfigurationCommand\";\nimport {\n GetBucketOwnershipControlsCommandInput,\n GetBucketOwnershipControlsCommandOutput,\n} from \"../commands/GetBucketOwnershipControlsCommand\";\nimport { GetBucketPolicyCommandInput, GetBucketPolicyCommandOutput } from \"../commands/GetBucketPolicyCommand\";\nimport {\n GetBucketPolicyStatusCommandInput,\n GetBucketPolicyStatusCommandOutput,\n} from \"../commands/GetBucketPolicyStatusCommand\";\nimport {\n GetBucketReplicationCommandInput,\n GetBucketReplicationCommandOutput,\n} from \"../commands/GetBucketReplicationCommand\";\nimport {\n GetBucketRequestPaymentCommandInput,\n GetBucketRequestPaymentCommandOutput,\n} from \"../commands/GetBucketRequestPaymentCommand\";\nimport { GetBucketTaggingCommandInput, GetBucketTaggingCommandOutput } from \"../commands/GetBucketTaggingCommand\";\nimport {\n GetBucketVersioningCommandInput,\n GetBucketVersioningCommandOutput,\n} from \"../commands/GetBucketVersioningCommand\";\nimport { GetBucketWebsiteCommandInput, GetBucketWebsiteCommandOutput } from \"../commands/GetBucketWebsiteCommand\";\nimport { GetObjectAclCommandInput, GetObjectAclCommandOutput } from \"../commands/GetObjectAclCommand\";\nimport { GetObjectCommandInput, GetObjectCommandOutput } from \"../commands/GetObjectCommand\";\nimport { GetObjectLegalHoldCommandInput, GetObjectLegalHoldCommandOutput } from \"../commands/GetObjectLegalHoldCommand\";\nimport {\n GetObjectLockConfigurationCommandInput,\n GetObjectLockConfigurationCommandOutput,\n} from \"../commands/GetObjectLockConfigurationCommand\";\nimport { GetObjectRetentionCommandInput, GetObjectRetentionCommandOutput } from \"../commands/GetObjectRetentionCommand\";\nimport { GetObjectTaggingCommandInput, GetObjectTaggingCommandOutput } from \"../commands/GetObjectTaggingCommand\";\nimport { GetObjectTorrentCommandInput, GetObjectTorrentCommandOutput } from \"../commands/GetObjectTorrentCommand\";\nimport {\n GetPublicAccessBlockCommandInput,\n GetPublicAccessBlockCommandOutput,\n} from \"../commands/GetPublicAccessBlockCommand\";\nimport { HeadBucketCommandInput, HeadBucketCommandOutput } from \"../commands/HeadBucketCommand\";\nimport { HeadObjectCommandInput, HeadObjectCommandOutput } from \"../commands/HeadObjectCommand\";\nimport {\n ListBucketAnalyticsConfigurationsCommandInput,\n ListBucketAnalyticsConfigurationsCommandOutput,\n} from \"../commands/ListBucketAnalyticsConfigurationsCommand\";\nimport {\n ListBucketIntelligentTieringConfigurationsCommandInput,\n ListBucketIntelligentTieringConfigurationsCommandOutput,\n} from \"../commands/ListBucketIntelligentTieringConfigurationsCommand\";\nimport {\n ListBucketInventoryConfigurationsCommandInput,\n ListBucketInventoryConfigurationsCommandOutput,\n} from \"../commands/ListBucketInventoryConfigurationsCommand\";\nimport {\n ListBucketMetricsConfigurationsCommandInput,\n ListBucketMetricsConfigurationsCommandOutput,\n} from \"../commands/ListBucketMetricsConfigurationsCommand\";\nimport { ListBucketsCommandInput, ListBucketsCommandOutput } from \"../commands/ListBucketsCommand\";\nimport {\n ListMultipartUploadsCommandInput,\n ListMultipartUploadsCommandOutput,\n} from \"../commands/ListMultipartUploadsCommand\";\nimport { ListObjectVersionsCommandInput, ListObjectVersionsCommandOutput } from \"../commands/ListObjectVersionsCommand\";\nimport { ListObjectsCommandInput, ListObjectsCommandOutput } from \"../commands/ListObjectsCommand\";\nimport { ListObjectsV2CommandInput, ListObjectsV2CommandOutput } from \"../commands/ListObjectsV2Command\";\nimport { ListPartsCommandInput, ListPartsCommandOutput } from \"../commands/ListPartsCommand\";\nimport {\n PutBucketAccelerateConfigurationCommandInput,\n PutBucketAccelerateConfigurationCommandOutput,\n} from \"../commands/PutBucketAccelerateConfigurationCommand\";\nimport { PutBucketAclCommandInput, PutBucketAclCommandOutput } from \"../commands/PutBucketAclCommand\";\nimport {\n PutBucketAnalyticsConfigurationCommandInput,\n PutBucketAnalyticsConfigurationCommandOutput,\n} from \"../commands/PutBucketAnalyticsConfigurationCommand\";\nimport { PutBucketCorsCommandInput, PutBucketCorsCommandOutput } from \"../commands/PutBucketCorsCommand\";\nimport {\n PutBucketEncryptionCommandInput,\n PutBucketEncryptionCommandOutput,\n} from \"../commands/PutBucketEncryptionCommand\";\nimport {\n PutBucketIntelligentTieringConfigurationCommandInput,\n PutBucketIntelligentTieringConfigurationCommandOutput,\n} from \"../commands/PutBucketIntelligentTieringConfigurationCommand\";\nimport {\n PutBucketInventoryConfigurationCommandInput,\n PutBucketInventoryConfigurationCommandOutput,\n} from \"../commands/PutBucketInventoryConfigurationCommand\";\nimport {\n PutBucketLifecycleConfigurationCommandInput,\n PutBucketLifecycleConfigurationCommandOutput,\n} from \"../commands/PutBucketLifecycleConfigurationCommand\";\nimport { PutBucketLoggingCommandInput, PutBucketLoggingCommandOutput } from \"../commands/PutBucketLoggingCommand\";\nimport {\n PutBucketMetricsConfigurationCommandInput,\n PutBucketMetricsConfigurationCommandOutput,\n} from \"../commands/PutBucketMetricsConfigurationCommand\";\nimport {\n PutBucketNotificationConfigurationCommandInput,\n PutBucketNotificationConfigurationCommandOutput,\n} from \"../commands/PutBucketNotificationConfigurationCommand\";\nimport {\n PutBucketOwnershipControlsCommandInput,\n PutBucketOwnershipControlsCommandOutput,\n} from \"../commands/PutBucketOwnershipControlsCommand\";\nimport { PutBucketPolicyCommandInput, PutBucketPolicyCommandOutput } from \"../commands/PutBucketPolicyCommand\";\nimport {\n PutBucketReplicationCommandInput,\n PutBucketReplicationCommandOutput,\n} from \"../commands/PutBucketReplicationCommand\";\nimport {\n PutBucketRequestPaymentCommandInput,\n PutBucketRequestPaymentCommandOutput,\n} from \"../commands/PutBucketRequestPaymentCommand\";\nimport { PutBucketTaggingCommandInput, PutBucketTaggingCommandOutput } from \"../commands/PutBucketTaggingCommand\";\nimport {\n PutBucketVersioningCommandInput,\n PutBucketVersioningCommandOutput,\n} from \"../commands/PutBucketVersioningCommand\";\nimport { PutBucketWebsiteCommandInput, PutBucketWebsiteCommandOutput } from \"../commands/PutBucketWebsiteCommand\";\nimport { PutObjectAclCommandInput, PutObjectAclCommandOutput } from \"../commands/PutObjectAclCommand\";\nimport { PutObjectCommandInput, PutObjectCommandOutput } from \"../commands/PutObjectCommand\";\nimport { PutObjectLegalHoldCommandInput, PutObjectLegalHoldCommandOutput } from \"../commands/PutObjectLegalHoldCommand\";\nimport {\n PutObjectLockConfigurationCommandInput,\n PutObjectLockConfigurationCommandOutput,\n} from \"../commands/PutObjectLockConfigurationCommand\";\nimport { PutObjectRetentionCommandInput, PutObjectRetentionCommandOutput } from \"../commands/PutObjectRetentionCommand\";\nimport { PutObjectTaggingCommandInput, PutObjectTaggingCommandOutput } from \"../commands/PutObjectTaggingCommand\";\nimport {\n PutPublicAccessBlockCommandInput,\n PutPublicAccessBlockCommandOutput,\n} from \"../commands/PutPublicAccessBlockCommand\";\nimport { RestoreObjectCommandInput, RestoreObjectCommandOutput } from \"../commands/RestoreObjectCommand\";\nimport {\n SelectObjectContentCommandInput,\n SelectObjectContentCommandOutput,\n} from \"../commands/SelectObjectContentCommand\";\nimport { UploadPartCommandInput, UploadPartCommandOutput } from \"../commands/UploadPartCommand\";\nimport { UploadPartCopyCommandInput, UploadPartCopyCommandOutput } from \"../commands/UploadPartCopyCommand\";\nimport {\n AbortIncompleteMultipartUpload,\n AccelerateConfiguration,\n AccessControlPolicy,\n AccessControlTranslation,\n AnalyticsAndOperator,\n AnalyticsConfiguration,\n AnalyticsExportDestination,\n AnalyticsFilter,\n AnalyticsS3BucketDestination,\n Bucket,\n BucketAlreadyExists,\n BucketAlreadyOwnedByYou,\n BucketLifecycleConfiguration,\n BucketLoggingStatus,\n CORSConfiguration,\n CORSRule,\n CommonPrefix,\n CompletedMultipartUpload,\n CompletedPart,\n Condition,\n CopyObjectResult,\n CreateBucketConfiguration,\n DefaultRetention,\n Delete,\n DeleteMarkerEntry,\n DeleteMarkerReplication,\n DeletedObject,\n Destination,\n Encryption,\n EncryptionConfiguration,\n ErrorDocument,\n Event,\n ExistingObjectReplication,\n FilterRule,\n GlacierJobParameters,\n Grant,\n Grantee,\n IndexDocument,\n Initiator,\n IntelligentTieringAndOperator,\n IntelligentTieringConfiguration,\n IntelligentTieringFilter,\n InvalidObjectState,\n InventoryConfiguration,\n InventoryDestination,\n InventoryEncryption,\n InventoryFilter,\n InventoryOptionalField,\n InventoryS3BucketDestination,\n InventorySchedule,\n LambdaFunctionConfiguration,\n LifecycleExpiration,\n LifecycleRule,\n LifecycleRuleAndOperator,\n LifecycleRuleFilter,\n LoggingEnabled,\n Metrics,\n MetricsAndOperator,\n MetricsConfiguration,\n MetricsFilter,\n MultipartUpload,\n NoSuchBucket,\n NoSuchKey,\n NoSuchUpload,\n NoncurrentVersionExpiration,\n NoncurrentVersionTransition,\n NotificationConfiguration,\n NotificationConfigurationFilter,\n ObjectAlreadyInActiveTierError,\n ObjectIdentifier,\n ObjectLockConfiguration,\n ObjectLockLegalHold,\n ObjectLockRetention,\n ObjectLockRule,\n ObjectNotInActiveTierError,\n ObjectVersion,\n Owner,\n OwnershipControls,\n OwnershipControlsRule,\n Part,\n PolicyStatus,\n PublicAccessBlockConfiguration,\n QueueConfiguration,\n Redirect,\n RedirectAllRequestsTo,\n ReplicaModifications,\n ReplicationConfiguration,\n ReplicationRule,\n ReplicationRuleAndOperator,\n ReplicationRuleFilter,\n ReplicationTime,\n ReplicationTimeValue,\n RequestPaymentConfiguration,\n RoutingRule,\n S3KeyFilter,\n SSEKMS,\n SSES3,\n ServerSideEncryptionByDefault,\n ServerSideEncryptionConfiguration,\n ServerSideEncryptionRule,\n SourceSelectionCriteria,\n SseKmsEncryptedObjects,\n StorageClassAnalysis,\n StorageClassAnalysisDataExport,\n Tag,\n Tagging,\n TargetGrant,\n Tiering,\n TopicConfiguration,\n Transition,\n VersioningConfiguration,\n WebsiteConfiguration,\n _Error,\n _Object,\n} from \"../models/models_0\";\nimport {\n CSVInput,\n CSVOutput,\n ContinuationEvent,\n CopyPartResult,\n EndEvent,\n InputSerialization,\n JSONInput,\n JSONOutput,\n MetadataEntry,\n OutputLocation,\n OutputSerialization,\n ParquetInput,\n ProgressEvent,\n RecordsEvent,\n RequestProgress,\n RestoreRequest,\n S3Location,\n ScanRange,\n SelectObjectContentEventStream,\n SelectParameters,\n StatsEvent,\n} from \"../models/models_1\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport {\n SmithyException as __SmithyException,\n dateToUtcString as __dateToUtcString,\n extendedEncodeURIComponent as __extendedEncodeURIComponent,\n getArrayIfSingleItem as __getArrayIfSingleItem,\n getValueFromTextNode as __getValueFromTextNode,\n} from \"@aws-sdk/smithy-client\";\nimport {\n Endpoint as __Endpoint,\n EventStreamSerdeContext as __EventStreamSerdeContext,\n MetadataBearer as __MetadataBearer,\n ResponseMetadata as __ResponseMetadata,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\nimport { XmlNode as __XmlNode, XmlText as __XmlText } from \"@aws-sdk/xml-builder\";\nimport { parse as xmlParse } from \"fast-xml-parser\";\n\nexport const serializeAws_restXmlAbortMultipartUploadCommand = async (\n input: AbortMultipartUploadCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"AbortMultipartUpload\",\n ...(input.UploadId !== undefined && { uploadId: input.UploadId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlCompleteMultipartUploadCommand = async (\n input: CompleteMultipartUploadCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n ...(input.UploadId !== undefined && { uploadId: input.UploadId }),\n };\n let body: any;\n let contents: any;\n if (input.MultipartUpload !== undefined) {\n contents = serializeAws_restXmlCompletedMultipartUpload(input.MultipartUpload, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlCopyObjectCommand = async (\n input: CopyObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl! }),\n ...(isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition! }),\n ...(isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding! }),\n ...(isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage! }),\n ...(isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType! }),\n ...(isSerializableHeaderValue(input.CopySource) && { \"x-amz-copy-source\": input.CopySource! }),\n ...(isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires!).toString() }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.MetadataDirective) && { \"x-amz-metadata-directive\": input.MetadataDirective! }),\n ...(isSerializableHeaderValue(input.TaggingDirective) && { \"x-amz-tagging-directive\": input.TaggingDirective! }),\n ...(isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption!,\n }),\n ...(isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass! }),\n ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext!,\n }),\n ...(isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled!.toString(),\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging! }),\n ...(isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode! }),\n ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (\n input.ObjectLockRetainUntilDate!.toISOString().split(\".\")[0] + \"Z\"\n ).toString(),\n }),\n ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner!,\n }),\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(\n (acc: any, suffix: string) => ({\n ...acc,\n [`x-amz-meta-${suffix.toLowerCase()}`]: input.Metadata![suffix],\n }),\n {}\n )),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"CopyObject\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlCreateBucketCommand = async (\n input: CreateBucketCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.ObjectLockEnabledForBucket) && {\n \"x-amz-bucket-object-lock-enabled\": input.ObjectLockEnabledForBucket!.toString(),\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n let body: any;\n let contents: any;\n if (input.CreateBucketConfiguration !== undefined) {\n contents = serializeAws_restXmlCreateBucketConfiguration(input.CreateBucketConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n body,\n });\n};\n\nexport const serializeAws_restXmlCreateMultipartUploadCommand = async (\n input: CreateMultipartUploadCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl! }),\n ...(isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition! }),\n ...(isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding! }),\n ...(isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage! }),\n ...(isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType! }),\n ...(isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires!).toString() }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption!,\n }),\n ...(isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass! }),\n ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext!,\n }),\n ...(isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled!.toString(),\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging! }),\n ...(isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode! }),\n ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (\n input.ObjectLockRetainUntilDate!.toISOString().split(\".\")[0] + \"Z\"\n ).toString(),\n }),\n ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(\n (acc: any, suffix: string) => ({\n ...acc,\n [`x-amz-meta-${suffix.toLowerCase()}`]: input.Metadata![suffix],\n }),\n {}\n )),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n uploads: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketCommand = async (\n input: DeleteBucketCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (\n input: DeleteBucketAnalyticsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n analytics: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketCorsCommand = async (\n input: DeleteBucketCorsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n cors: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketEncryptionCommand = async (\n input: DeleteBucketEncryptionCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n encryption: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (\n input: DeleteBucketIntelligentTieringConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {};\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"intelligent-tiering\": \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (\n input: DeleteBucketInventoryConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n inventory: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketLifecycleCommand = async (\n input: DeleteBucketLifecycleCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n lifecycle: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (\n input: DeleteBucketMetricsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n metrics: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (\n input: DeleteBucketOwnershipControlsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n ownershipControls: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketPolicyCommand = async (\n input: DeleteBucketPolicyCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n policy: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketReplicationCommand = async (\n input: DeleteBucketReplicationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n replication: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketTaggingCommand = async (\n input: DeleteBucketTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n tagging: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteBucketWebsiteCommand = async (\n input: DeleteBucketWebsiteCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n website: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteObjectCommand = async (\n input: DeleteObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA! }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention!.toString(),\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"DeleteObject\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteObjectsCommand = async (\n input: DeleteObjectsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA! }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention!.toString(),\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n delete: \"\",\n };\n let body: any;\n let contents: any;\n if (input.Delete !== undefined) {\n contents = serializeAws_restXmlDelete(input.Delete, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeleteObjectTaggingCommand = async (\n input: DeleteObjectTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n tagging: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlDeletePublicAccessBlockCommand = async (\n input: DeletePublicAccessBlockCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n publicAccessBlock: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"DELETE\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (\n input: GetBucketAccelerateConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n accelerate: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketAclCommand = async (\n input: GetBucketAclCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n acl: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (\n input: GetBucketAnalyticsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n analytics: \"\",\n \"x-id\": \"GetBucketAnalyticsConfiguration\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketCorsCommand = async (\n input: GetBucketCorsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n cors: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketEncryptionCommand = async (\n input: GetBucketEncryptionCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n encryption: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (\n input: GetBucketIntelligentTieringConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {};\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"intelligent-tiering\": \"\",\n \"x-id\": \"GetBucketIntelligentTieringConfiguration\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketInventoryConfigurationCommand = async (\n input: GetBucketInventoryConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n inventory: \"\",\n \"x-id\": \"GetBucketInventoryConfiguration\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (\n input: GetBucketLifecycleConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n lifecycle: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketLocationCommand = async (\n input: GetBucketLocationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n location: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketLoggingCommand = async (\n input: GetBucketLoggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n logging: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketMetricsConfigurationCommand = async (\n input: GetBucketMetricsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n metrics: \"\",\n \"x-id\": \"GetBucketMetricsConfiguration\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketNotificationConfigurationCommand = async (\n input: GetBucketNotificationConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n notification: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketOwnershipControlsCommand = async (\n input: GetBucketOwnershipControlsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n ownershipControls: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketPolicyCommand = async (\n input: GetBucketPolicyCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n policy: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketPolicyStatusCommand = async (\n input: GetBucketPolicyStatusCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n policyStatus: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketReplicationCommand = async (\n input: GetBucketReplicationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n replication: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketRequestPaymentCommand = async (\n input: GetBucketRequestPaymentCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n requestPayment: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketTaggingCommand = async (\n input: GetBucketTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n tagging: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketVersioningCommand = async (\n input: GetBucketVersioningCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n versioning: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetBucketWebsiteCommand = async (\n input: GetBucketWebsiteCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n website: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectCommand = async (\n input: GetObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.IfMatch) && { \"if-match\": input.IfMatch! }),\n ...(isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.IfNoneMatch) && { \"if-none-match\": input.IfNoneMatch! }),\n ...(isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.Range) && { range: input.Range! }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"GetObject\",\n ...(input.ResponseCacheControl !== undefined && { \"response-cache-control\": input.ResponseCacheControl }),\n ...(input.ResponseContentDisposition !== undefined && {\n \"response-content-disposition\": input.ResponseContentDisposition,\n }),\n ...(input.ResponseContentEncoding !== undefined && { \"response-content-encoding\": input.ResponseContentEncoding }),\n ...(input.ResponseContentLanguage !== undefined && { \"response-content-language\": input.ResponseContentLanguage }),\n ...(input.ResponseContentType !== undefined && { \"response-content-type\": input.ResponseContentType }),\n ...(input.ResponseExpires !== undefined && {\n \"response-expires\": (input.ResponseExpires.toISOString().split(\".\")[0] + \"Z\").toString(),\n }),\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectAclCommand = async (\n input: GetObjectAclCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n acl: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectLegalHoldCommand = async (\n input: GetObjectLegalHoldCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"legal-hold\": \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectLockConfigurationCommand = async (\n input: GetObjectLockConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"object-lock\": \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectRetentionCommand = async (\n input: GetObjectRetentionCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n retention: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectTaggingCommand = async (\n input: GetObjectTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n tagging: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetObjectTorrentCommand = async (\n input: GetObjectTorrentCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n torrent: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlGetPublicAccessBlockCommand = async (\n input: GetPublicAccessBlockCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n publicAccessBlock: \"\",\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlHeadBucketCommand = async (\n input: HeadBucketCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n body,\n });\n};\n\nexport const serializeAws_restXmlHeadObjectCommand = async (\n input: HeadObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.IfMatch) && { \"if-match\": input.IfMatch! }),\n ...(isSerializableHeaderValue(input.IfModifiedSince) && {\n \"if-modified-since\": __dateToUtcString(input.IfModifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.IfNoneMatch) && { \"if-none-match\": input.IfNoneMatch! }),\n ...(isSerializableHeaderValue(input.IfUnmodifiedSince) && {\n \"if-unmodified-since\": __dateToUtcString(input.IfUnmodifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.Range) && { range: input.Range! }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"HEAD\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (\n input: ListBucketAnalyticsConfigurationsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n analytics: \"\",\n \"x-id\": \"ListBucketAnalyticsConfigurations\",\n ...(input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (\n input: ListBucketIntelligentTieringConfigurationsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {};\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"intelligent-tiering\": \"\",\n \"x-id\": \"ListBucketIntelligentTieringConfigurations\",\n ...(input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListBucketInventoryConfigurationsCommand = async (\n input: ListBucketInventoryConfigurationsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n inventory: \"\",\n \"x-id\": \"ListBucketInventoryConfigurations\",\n ...(input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListBucketMetricsConfigurationsCommand = async (\n input: ListBucketMetricsConfigurationsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n metrics: \"\",\n \"x-id\": \"ListBucketMetricsConfigurations\",\n ...(input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListBucketsCommand = async (\n input: ListBucketsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {};\n let resolvedPath = \"/\";\n let body: any;\n body = \"\";\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n body,\n });\n};\n\nexport const serializeAws_restXmlListMultipartUploadsCommand = async (\n input: ListMultipartUploadsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n uploads: \"\",\n ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }),\n ...(input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType }),\n ...(input.KeyMarker !== undefined && { \"key-marker\": input.KeyMarker }),\n ...(input.MaxUploads !== undefined && { \"max-uploads\": input.MaxUploads.toString() }),\n ...(input.Prefix !== undefined && { prefix: input.Prefix }),\n ...(input.UploadIdMarker !== undefined && { \"upload-id-marker\": input.UploadIdMarker }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListObjectsCommand = async (\n input: ListObjectsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }),\n ...(input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType }),\n ...(input.Marker !== undefined && { marker: input.Marker }),\n ...(input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() }),\n ...(input.Prefix !== undefined && { prefix: input.Prefix }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListObjectsV2Command = async (\n input: ListObjectsV2CommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"list-type\": \"2\",\n ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }),\n ...(input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType }),\n ...(input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() }),\n ...(input.Prefix !== undefined && { prefix: input.Prefix }),\n ...(input.ContinuationToken !== undefined && { \"continuation-token\": input.ContinuationToken }),\n ...(input.FetchOwner !== undefined && { \"fetch-owner\": input.FetchOwner.toString() }),\n ...(input.StartAfter !== undefined && { \"start-after\": input.StartAfter }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListObjectVersionsCommand = async (\n input: ListObjectVersionsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n versions: \"\",\n ...(input.Delimiter !== undefined && { delimiter: input.Delimiter }),\n ...(input.EncodingType !== undefined && { \"encoding-type\": input.EncodingType }),\n ...(input.KeyMarker !== undefined && { \"key-marker\": input.KeyMarker }),\n ...(input.MaxKeys !== undefined && { \"max-keys\": input.MaxKeys.toString() }),\n ...(input.Prefix !== undefined && { prefix: input.Prefix }),\n ...(input.VersionIdMarker !== undefined && { \"version-id-marker\": input.VersionIdMarker }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlListPartsCommand = async (\n input: ListPartsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"ListParts\",\n ...(input.MaxParts !== undefined && { \"max-parts\": input.MaxParts.toString() }),\n ...(input.PartNumberMarker !== undefined && { \"part-number-marker\": input.PartNumberMarker }),\n ...(input.UploadId !== undefined && { uploadId: input.UploadId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"GET\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (\n input: PutBucketAccelerateConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n accelerate: \"\",\n };\n let body: any;\n let contents: any;\n if (input.AccelerateConfiguration !== undefined) {\n contents = serializeAws_restXmlAccelerateConfiguration(input.AccelerateConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketAclCommand = async (\n input: PutBucketAclCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n acl: \"\",\n };\n let body: any;\n let contents: any;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (\n input: PutBucketAnalyticsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n analytics: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n let contents: any;\n if (input.AnalyticsConfiguration !== undefined) {\n contents = serializeAws_restXmlAnalyticsConfiguration(input.AnalyticsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketCorsCommand = async (\n input: PutBucketCorsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n cors: \"\",\n };\n let body: any;\n let contents: any;\n if (input.CORSConfiguration !== undefined) {\n contents = serializeAws_restXmlCORSConfiguration(input.CORSConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketEncryptionCommand = async (\n input: PutBucketEncryptionCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n encryption: \"\",\n };\n let body: any;\n let contents: any;\n if (input.ServerSideEncryptionConfiguration !== undefined) {\n contents = serializeAws_restXmlServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (\n input: PutBucketIntelligentTieringConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"intelligent-tiering\": \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n let contents: any;\n if (input.IntelligentTieringConfiguration !== undefined) {\n contents = serializeAws_restXmlIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketInventoryConfigurationCommand = async (\n input: PutBucketInventoryConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n inventory: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n let contents: any;\n if (input.InventoryConfiguration !== undefined) {\n contents = serializeAws_restXmlInventoryConfiguration(input.InventoryConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (\n input: PutBucketLifecycleConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n lifecycle: \"\",\n };\n let body: any;\n let contents: any;\n if (input.LifecycleConfiguration !== undefined) {\n contents = serializeAws_restXmlBucketLifecycleConfiguration(input.LifecycleConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketLoggingCommand = async (\n input: PutBucketLoggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n logging: \"\",\n };\n let body: any;\n let contents: any;\n if (input.BucketLoggingStatus !== undefined) {\n contents = serializeAws_restXmlBucketLoggingStatus(input.BucketLoggingStatus, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketMetricsConfigurationCommand = async (\n input: PutBucketMetricsConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n metrics: \"\",\n ...(input.Id !== undefined && { id: input.Id }),\n };\n let body: any;\n let contents: any;\n if (input.MetricsConfiguration !== undefined) {\n contents = serializeAws_restXmlMetricsConfiguration(input.MetricsConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketNotificationConfigurationCommand = async (\n input: PutBucketNotificationConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n notification: \"\",\n };\n let body: any;\n let contents: any;\n if (input.NotificationConfiguration !== undefined) {\n contents = serializeAws_restXmlNotificationConfiguration(input.NotificationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketOwnershipControlsCommand = async (\n input: PutBucketOwnershipControlsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n ownershipControls: \"\",\n };\n let body: any;\n let contents: any;\n if (input.OwnershipControls !== undefined) {\n contents = serializeAws_restXmlOwnershipControls(input.OwnershipControls, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketPolicyCommand = async (\n input: PutBucketPolicyCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"text/plain\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ConfirmRemoveSelfBucketAccess) && {\n \"x-amz-confirm-remove-self-bucket-access\": input.ConfirmRemoveSelfBucketAccess!.toString(),\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n policy: \"\",\n };\n let body: any;\n let contents: any;\n if (input.Policy !== undefined) {\n contents = input.Policy;\n body = contents;\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketReplicationCommand = async (\n input: PutBucketReplicationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.Token) && { \"x-amz-bucket-object-lock-token\": input.Token! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n replication: \"\",\n };\n let body: any;\n let contents: any;\n if (input.ReplicationConfiguration !== undefined) {\n contents = serializeAws_restXmlReplicationConfiguration(input.ReplicationConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketRequestPaymentCommand = async (\n input: PutBucketRequestPaymentCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n requestPayment: \"\",\n };\n let body: any;\n let contents: any;\n if (input.RequestPaymentConfiguration !== undefined) {\n contents = serializeAws_restXmlRequestPaymentConfiguration(input.RequestPaymentConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketTaggingCommand = async (\n input: PutBucketTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n tagging: \"\",\n };\n let body: any;\n let contents: any;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketVersioningCommand = async (\n input: PutBucketVersioningCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.MFA) && { \"x-amz-mfa\": input.MFA! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n versioning: \"\",\n };\n let body: any;\n let contents: any;\n if (input.VersioningConfiguration !== undefined) {\n contents = serializeAws_restXmlVersioningConfiguration(input.VersioningConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutBucketWebsiteCommand = async (\n input: PutBucketWebsiteCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n website: \"\",\n };\n let body: any;\n let contents: any;\n if (input.WebsiteConfiguration !== undefined) {\n contents = serializeAws_restXmlWebsiteConfiguration(input.WebsiteConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectCommand = async (\n input: PutObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/octet-stream\",\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.CacheControl) && { \"cache-control\": input.CacheControl! }),\n ...(isSerializableHeaderValue(input.ContentDisposition) && { \"content-disposition\": input.ContentDisposition! }),\n ...(isSerializableHeaderValue(input.ContentEncoding) && { \"content-encoding\": input.ContentEncoding! }),\n ...(isSerializableHeaderValue(input.ContentLanguage) && { \"content-language\": input.ContentLanguage! }),\n ...(isSerializableHeaderValue(input.ContentLength) && { \"content-length\": input.ContentLength!.toString() }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ContentType) && { \"content-type\": input.ContentType! }),\n ...(isSerializableHeaderValue(input.Expires) && { expires: __dateToUtcString(input.Expires!).toString() }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.ServerSideEncryption) && {\n \"x-amz-server-side-encryption\": input.ServerSideEncryption!,\n }),\n ...(isSerializableHeaderValue(input.StorageClass) && { \"x-amz-storage-class\": input.StorageClass! }),\n ...(isSerializableHeaderValue(input.WebsiteRedirectLocation) && {\n \"x-amz-website-redirect-location\": input.WebsiteRedirectLocation!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSKeyId) && {\n \"x-amz-server-side-encryption-aws-kms-key-id\": input.SSEKMSKeyId!,\n }),\n ...(isSerializableHeaderValue(input.SSEKMSEncryptionContext) && {\n \"x-amz-server-side-encryption-context\": input.SSEKMSEncryptionContext!,\n }),\n ...(isSerializableHeaderValue(input.BucketKeyEnabled) && {\n \"x-amz-server-side-encryption-bucket-key-enabled\": input.BucketKeyEnabled!.toString(),\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.Tagging) && { \"x-amz-tagging\": input.Tagging! }),\n ...(isSerializableHeaderValue(input.ObjectLockMode) && { \"x-amz-object-lock-mode\": input.ObjectLockMode! }),\n ...(isSerializableHeaderValue(input.ObjectLockRetainUntilDate) && {\n \"x-amz-object-lock-retain-until-date\": (\n input.ObjectLockRetainUntilDate!.toISOString().split(\".\")[0] + \"Z\"\n ).toString(),\n }),\n ...(isSerializableHeaderValue(input.ObjectLockLegalHoldStatus) && {\n \"x-amz-object-lock-legal-hold\": input.ObjectLockLegalHoldStatus!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n ...(input.Metadata !== undefined &&\n Object.keys(input.Metadata).reduce(\n (acc: any, suffix: string) => ({\n ...acc,\n [`x-amz-meta-${suffix.toLowerCase()}`]: input.Metadata![suffix],\n }),\n {}\n )),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"PutObject\",\n };\n let body: any;\n let contents: any;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectAclCommand = async (\n input: PutObjectAclCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ACL) && { \"x-amz-acl\": input.ACL! }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.GrantFullControl) && { \"x-amz-grant-full-control\": input.GrantFullControl! }),\n ...(isSerializableHeaderValue(input.GrantRead) && { \"x-amz-grant-read\": input.GrantRead! }),\n ...(isSerializableHeaderValue(input.GrantReadACP) && { \"x-amz-grant-read-acp\": input.GrantReadACP! }),\n ...(isSerializableHeaderValue(input.GrantWrite) && { \"x-amz-grant-write\": input.GrantWrite! }),\n ...(isSerializableHeaderValue(input.GrantWriteACP) && { \"x-amz-grant-write-acp\": input.GrantWriteACP! }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n acl: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n let contents: any;\n if (input.AccessControlPolicy !== undefined) {\n contents = serializeAws_restXmlAccessControlPolicy(input.AccessControlPolicy, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectLegalHoldCommand = async (\n input: PutObjectLegalHoldCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"legal-hold\": \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n let contents: any;\n if (input.LegalHold !== undefined) {\n contents = serializeAws_restXmlObjectLockLegalHold(input.LegalHold, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectLockConfigurationCommand = async (\n input: PutObjectLockConfigurationCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.Token) && { \"x-amz-bucket-object-lock-token\": input.Token! }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n \"object-lock\": \"\",\n };\n let body: any;\n let contents: any;\n if (input.ObjectLockConfiguration !== undefined) {\n contents = serializeAws_restXmlObjectLockConfiguration(input.ObjectLockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectRetentionCommand = async (\n input: PutObjectRetentionCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.BypassGovernanceRetention) && {\n \"x-amz-bypass-governance-retention\": input.BypassGovernanceRetention!.toString(),\n }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n retention: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n let contents: any;\n if (input.Retention !== undefined) {\n contents = serializeAws_restXmlObjectLockRetention(input.Retention, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutObjectTaggingCommand = async (\n input: PutObjectTaggingCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n tagging: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n let contents: any;\n if (input.Tagging !== undefined) {\n contents = serializeAws_restXmlTagging(input.Tagging, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlPutPublicAccessBlockCommand = async (\n input: PutPublicAccessBlockCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n const query: any = {\n publicAccessBlock: \"\",\n };\n let body: any;\n let contents: any;\n if (input.PublicAccessBlockConfiguration !== undefined) {\n contents = serializeAws_restXmlPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlRestoreObjectCommand = async (\n input: RestoreObjectCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n restore: \"\",\n ...(input.VersionId !== undefined && { versionId: input.VersionId }),\n };\n let body: any;\n let contents: any;\n if (input.RestoreRequest !== undefined) {\n contents = serializeAws_restXmlRestoreRequest(input.RestoreRequest, context);\n body = '';\n contents.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n body += contents.toString();\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlSelectObjectContentCommand = async (\n input: SelectObjectContentCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/xml\",\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n select: \"\",\n \"select-type\": \"2\",\n };\n let body: any;\n body = '';\n const bodyNode = new __XmlNode(\"SelectObjectContentRequest\");\n bodyNode.addAttribute(\"xmlns\", \"http://s3.amazonaws.com/doc/2006-03-01/\");\n if (input.Expression !== undefined) {\n const node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined) {\n const node = new __XmlNode(\"ExpressionType\")\n .addChildNode(new __XmlText(input.ExpressionType))\n .withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.InputSerialization !== undefined) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\n \"InputSerialization\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\n \"OutputSerialization\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.RequestProgress !== undefined) {\n const node = serializeAws_restXmlRequestProgress(input.RequestProgress, context).withName(\"RequestProgress\");\n bodyNode.addChildNode(node);\n }\n if (input.ScanRange !== undefined) {\n const node = serializeAws_restXmlScanRange(input.ScanRange, context).withName(\"ScanRange\");\n bodyNode.addChildNode(node);\n }\n body += bodyNode.toString();\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"POST\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlUploadPartCommand = async (\n input: UploadPartCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n \"content-type\": \"application/octet-stream\",\n ...(isSerializableHeaderValue(input.ContentLength) && { \"content-length\": input.ContentLength!.toString() }),\n ...(isSerializableHeaderValue(input.ContentMD5) && { \"content-md5\": input.ContentMD5! }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"UploadPart\",\n ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }),\n ...(input.UploadId !== undefined && { uploadId: input.UploadId }),\n };\n let body: any;\n let contents: any;\n if (input.Body !== undefined) {\n contents = input.Body;\n body = contents;\n }\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const serializeAws_restXmlUploadPartCopyCommand = async (\n input: UploadPartCopyCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: any = {\n ...(isSerializableHeaderValue(input.CopySource) && { \"x-amz-copy-source\": input.CopySource! }),\n ...(isSerializableHeaderValue(input.CopySourceIfMatch) && {\n \"x-amz-copy-source-if-match\": input.CopySourceIfMatch!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfModifiedSince) && {\n \"x-amz-copy-source-if-modified-since\": __dateToUtcString(input.CopySourceIfModifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfNoneMatch) && {\n \"x-amz-copy-source-if-none-match\": input.CopySourceIfNoneMatch!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceIfUnmodifiedSince) && {\n \"x-amz-copy-source-if-unmodified-since\": __dateToUtcString(input.CopySourceIfUnmodifiedSince!).toString(),\n }),\n ...(isSerializableHeaderValue(input.CopySourceRange) && { \"x-amz-copy-source-range\": input.CopySourceRange! }),\n ...(isSerializableHeaderValue(input.SSECustomerAlgorithm) && {\n \"x-amz-server-side-encryption-customer-algorithm\": input.SSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKey) && {\n \"x-amz-server-side-encryption-customer-key\": input.SSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.SSECustomerKeyMD5) && {\n \"x-amz-server-side-encryption-customer-key-md5\": input.SSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerAlgorithm) && {\n \"x-amz-copy-source-server-side-encryption-customer-algorithm\": input.CopySourceSSECustomerAlgorithm!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerKey) && {\n \"x-amz-copy-source-server-side-encryption-customer-key\": input.CopySourceSSECustomerKey!,\n }),\n ...(isSerializableHeaderValue(input.CopySourceSSECustomerKeyMD5) && {\n \"x-amz-copy-source-server-side-encryption-customer-key-md5\": input.CopySourceSSECustomerKeyMD5!,\n }),\n ...(isSerializableHeaderValue(input.RequestPayer) && { \"x-amz-request-payer\": input.RequestPayer! }),\n ...(isSerializableHeaderValue(input.ExpectedBucketOwner) && {\n \"x-amz-expected-bucket-owner\": input.ExpectedBucketOwner!,\n }),\n ...(isSerializableHeaderValue(input.ExpectedSourceBucketOwner) && {\n \"x-amz-source-expected-bucket-owner\": input.ExpectedSourceBucketOwner!,\n }),\n };\n let resolvedPath = \"/{Bucket}/{Key+}\";\n if (input.Bucket !== undefined) {\n const labelValue: string = input.Bucket;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Bucket.\");\n }\n resolvedPath = resolvedPath.replace(\"{Bucket}\", __extendedEncodeURIComponent(labelValue));\n } else {\n throw new Error(\"No value provided for input HTTP label: Bucket.\");\n }\n if (input.Key !== undefined) {\n const labelValue: string = input.Key;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: Key.\");\n }\n resolvedPath = resolvedPath.replace(\n \"{Key+}\",\n labelValue\n .split(\"/\")\n .map((segment) => __extendedEncodeURIComponent(segment))\n .join(\"/\")\n );\n } else {\n throw new Error(\"No value provided for input HTTP label: Key.\");\n }\n const query: any = {\n \"x-id\": \"UploadPartCopy\",\n ...(input.PartNumber !== undefined && { partNumber: input.PartNumber.toString() }),\n ...(input.UploadId !== undefined && { uploadId: input.UploadId }),\n };\n let body: any;\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n return new __HttpRequest({\n protocol,\n hostname,\n port,\n method: \"PUT\",\n headers,\n path: resolvedPath,\n query,\n body,\n });\n};\n\nexport const deserializeAws_restXmlAbortMultipartUploadCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlAbortMultipartUploadCommandError(output, context);\n }\n const contents: AbortMultipartUploadCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlAbortMultipartUploadCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchUpload\":\n case \"com.amazonaws.s3#NoSuchUpload\":\n response = {\n ...(await deserializeAws_restXmlNoSuchUploadResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlCompleteMultipartUploadCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCompleteMultipartUploadCommandError(output, context);\n }\n const contents: CompleteMultipartUploadCommandOutput = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n Key: undefined,\n Location: undefined,\n RequestCharged: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"ETag\"] !== undefined) {\n contents.ETag = data[\"ETag\"];\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"Location\"] !== undefined) {\n contents.Location = data[\"Location\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlCompleteMultipartUploadCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlCopyObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCopyObjectCommandError(output, context);\n }\n const contents: CopyObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyObjectResult: undefined,\n CopySourceVersionId: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n contents.CopyObjectResult = deserializeAws_restXmlCopyObjectResult(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlCopyObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectNotInActiveTierError\":\n case \"com.amazonaws.s3#ObjectNotInActiveTierError\":\n response = {\n ...(await deserializeAws_restXmlObjectNotInActiveTierErrorResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlCreateBucketCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateBucketCommandError(output, context);\n }\n const contents: CreateBucketCommandOutput = {\n $metadata: deserializeMetadata(output),\n Location: undefined,\n };\n if (output.headers[\"location\"] !== undefined) {\n contents.Location = output.headers[\"location\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlCreateBucketCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"BucketAlreadyExists\":\n case \"com.amazonaws.s3#BucketAlreadyExists\":\n response = {\n ...(await deserializeAws_restXmlBucketAlreadyExistsResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"BucketAlreadyOwnedByYou\":\n case \"com.amazonaws.s3#BucketAlreadyOwnedByYou\":\n response = {\n ...(await deserializeAws_restXmlBucketAlreadyOwnedByYouResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlCreateMultipartUploadCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlCreateMultipartUploadCommandError(output, context);\n }\n const contents: CreateMultipartUploadCommandOutput = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n BucketKeyEnabled: undefined,\n Key: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n UploadId: undefined,\n };\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlCreateMultipartUploadCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCommandError(output, context);\n }\n const contents: DeleteBucketCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents: DeleteBucketAnalyticsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketAnalyticsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketCorsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketCorsCommandError(output, context);\n }\n const contents: DeleteBucketCorsCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketCorsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketEncryptionCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketEncryptionCommandError(output, context);\n }\n const contents: DeleteBucketEncryptionCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketEncryptionCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents: DeleteBucketIntelligentTieringConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketIntelligentTieringConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketInventoryConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError(output, context);\n }\n const contents: DeleteBucketInventoryConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketInventoryConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketLifecycleCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketLifecycleCommandError(output, context);\n }\n const contents: DeleteBucketLifecycleCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketLifecycleCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketMetricsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError(output, context);\n }\n const contents: DeleteBucketMetricsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketMetricsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketOwnershipControlsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError(output, context);\n }\n const contents: DeleteBucketOwnershipControlsCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketOwnershipControlsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketPolicyCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketPolicyCommandError(output, context);\n }\n const contents: DeleteBucketPolicyCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketPolicyCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketReplicationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketReplicationCommandError(output, context);\n }\n const contents: DeleteBucketReplicationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketReplicationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketTaggingCommandError(output, context);\n }\n const contents: DeleteBucketTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteBucketWebsiteCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteBucketWebsiteCommandError(output, context);\n }\n const contents: DeleteBucketWebsiteCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteBucketWebsiteCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectCommandError(output, context);\n }\n const contents: DeleteObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n DeleteMarker: undefined,\n RequestCharged: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteObjectsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectsCommandError(output, context);\n }\n const contents: DeleteObjectsCommandOutput = {\n $metadata: deserializeMetadata(output),\n Deleted: undefined,\n Errors: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data.Deleted === \"\") {\n contents.Deleted = [];\n }\n if (data[\"Deleted\"] !== undefined) {\n contents.Deleted = deserializeAws_restXmlDeletedObjects(__getArrayIfSingleItem(data[\"Deleted\"]), context);\n }\n if (data.Error === \"\") {\n contents.Errors = [];\n }\n if (data[\"Error\"] !== undefined) {\n contents.Errors = deserializeAws_restXmlErrors(__getArrayIfSingleItem(data[\"Error\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteObjectsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeleteObjectTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeleteObjectTaggingCommandError(output, context);\n }\n const contents: DeleteObjectTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeleteObjectTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlDeletePublicAccessBlockCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 204 && output.statusCode >= 300) {\n return deserializeAws_restXmlDeletePublicAccessBlockCommandError(output, context);\n }\n const contents: DeletePublicAccessBlockCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlDeletePublicAccessBlockCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketAccelerateConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents: GetBucketAccelerateConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n Status: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketAccelerateConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketAclCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAclCommandError(output, context);\n }\n const contents: GetBucketAclCommandOutput = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketAclCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketAnalyticsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents: GetBucketAnalyticsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.AnalyticsConfiguration = deserializeAws_restXmlAnalyticsConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketAnalyticsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketCorsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketCorsCommandError(output, context);\n }\n const contents: GetBucketCorsCommandOutput = {\n $metadata: deserializeMetadata(output),\n CORSRules: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.CORSRule === \"\") {\n contents.CORSRules = [];\n }\n if (data[\"CORSRule\"] !== undefined) {\n contents.CORSRules = deserializeAws_restXmlCORSRules(__getArrayIfSingleItem(data[\"CORSRule\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketCorsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketEncryptionCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketEncryptionCommandError(output, context);\n }\n const contents: GetBucketEncryptionCommandOutput = {\n $metadata: deserializeMetadata(output),\n ServerSideEncryptionConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.ServerSideEncryptionConfiguration = deserializeAws_restXmlServerSideEncryptionConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketEncryptionCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents: GetBucketIntelligentTieringConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n IntelligentTieringConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.IntelligentTieringConfiguration = deserializeAws_restXmlIntelligentTieringConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketIntelligentTieringConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketInventoryConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketInventoryConfigurationCommandError(output, context);\n }\n const contents: GetBucketInventoryConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n InventoryConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.InventoryConfiguration = deserializeAws_restXmlInventoryConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketInventoryConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketLifecycleConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents: GetBucketLifecycleConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n Rules: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.Rule === \"\") {\n contents.Rules = [];\n }\n if (data[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlLifecycleRules(__getArrayIfSingleItem(data[\"Rule\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketLifecycleConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketLocationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLocationCommandError(output, context);\n }\n const contents: GetBucketLocationCommandOutput = {\n $metadata: deserializeMetadata(output),\n LocationConstraint: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"LocationConstraint\"] !== undefined) {\n contents.LocationConstraint = data[\"LocationConstraint\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketLocationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketLoggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketLoggingCommandError(output, context);\n }\n const contents: GetBucketLoggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n LoggingEnabled: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"LoggingEnabled\"] !== undefined) {\n contents.LoggingEnabled = deserializeAws_restXmlLoggingEnabled(data[\"LoggingEnabled\"], context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketLoggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketMetricsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketMetricsConfigurationCommandError(output, context);\n }\n const contents: GetBucketMetricsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n MetricsConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.MetricsConfiguration = deserializeAws_restXmlMetricsConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketMetricsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketNotificationConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketNotificationConfigurationCommandError(output, context);\n }\n const contents: GetBucketNotificationConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n LambdaFunctionConfigurations: undefined,\n QueueConfigurations: undefined,\n TopicConfigurations: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.CloudFunctionConfiguration === \"\") {\n contents.LambdaFunctionConfigurations = [];\n }\n if (data[\"CloudFunctionConfiguration\"] !== undefined) {\n contents.LambdaFunctionConfigurations = deserializeAws_restXmlLambdaFunctionConfigurationList(\n __getArrayIfSingleItem(data[\"CloudFunctionConfiguration\"]),\n context\n );\n }\n if (data.QueueConfiguration === \"\") {\n contents.QueueConfigurations = [];\n }\n if (data[\"QueueConfiguration\"] !== undefined) {\n contents.QueueConfigurations = deserializeAws_restXmlQueueConfigurationList(\n __getArrayIfSingleItem(data[\"QueueConfiguration\"]),\n context\n );\n }\n if (data.TopicConfiguration === \"\") {\n contents.TopicConfigurations = [];\n }\n if (data[\"TopicConfiguration\"] !== undefined) {\n contents.TopicConfigurations = deserializeAws_restXmlTopicConfigurationList(\n __getArrayIfSingleItem(data[\"TopicConfiguration\"]),\n context\n );\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketNotificationConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketOwnershipControlsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketOwnershipControlsCommandError(output, context);\n }\n const contents: GetBucketOwnershipControlsCommandOutput = {\n $metadata: deserializeMetadata(output),\n OwnershipControls: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.OwnershipControls = deserializeAws_restXmlOwnershipControls(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketOwnershipControlsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketPolicyCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyCommandError(output, context);\n }\n const contents: GetBucketPolicyCommandOutput = {\n $metadata: deserializeMetadata(output),\n Policy: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"Policy\"] !== undefined) {\n contents.Policy = data[\"Policy\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketPolicyCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketPolicyStatusCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketPolicyStatusCommandError(output, context);\n }\n const contents: GetBucketPolicyStatusCommandOutput = {\n $metadata: deserializeMetadata(output),\n PolicyStatus: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.PolicyStatus = deserializeAws_restXmlPolicyStatus(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketPolicyStatusCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketReplicationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketReplicationCommandError(output, context);\n }\n const contents: GetBucketReplicationCommandOutput = {\n $metadata: deserializeMetadata(output),\n ReplicationConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.ReplicationConfiguration = deserializeAws_restXmlReplicationConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketReplicationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketRequestPaymentCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketRequestPaymentCommandError(output, context);\n }\n const contents: GetBucketRequestPaymentCommandOutput = {\n $metadata: deserializeMetadata(output),\n Payer: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"Payer\"] !== undefined) {\n contents.Payer = data[\"Payer\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketRequestPaymentCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketTaggingCommandError(output, context);\n }\n const contents: GetBucketTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketVersioningCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketVersioningCommandError(output, context);\n }\n const contents: GetBucketVersioningCommandOutput = {\n $metadata: deserializeMetadata(output),\n MFADelete: undefined,\n Status: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"MfaDelete\"] !== undefined) {\n contents.MFADelete = data[\"MfaDelete\"];\n }\n if (data[\"Status\"] !== undefined) {\n contents.Status = data[\"Status\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketVersioningCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetBucketWebsiteCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetBucketWebsiteCommandError(output, context);\n }\n const contents: GetBucketWebsiteCommandOutput = {\n $metadata: deserializeMetadata(output),\n ErrorDocument: undefined,\n IndexDocument: undefined,\n RedirectAllRequestsTo: undefined,\n RoutingRules: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"ErrorDocument\"] !== undefined) {\n contents.ErrorDocument = deserializeAws_restXmlErrorDocument(data[\"ErrorDocument\"], context);\n }\n if (data[\"IndexDocument\"] !== undefined) {\n contents.IndexDocument = deserializeAws_restXmlIndexDocument(data[\"IndexDocument\"], context);\n }\n if (data[\"RedirectAllRequestsTo\"] !== undefined) {\n contents.RedirectAllRequestsTo = deserializeAws_restXmlRedirectAllRequestsTo(\n data[\"RedirectAllRequestsTo\"],\n context\n );\n }\n if (data.RoutingRules === \"\") {\n contents.RoutingRules = [];\n }\n if (data[\"RoutingRules\"] !== undefined && data[\"RoutingRules\"][\"RoutingRule\"] !== undefined) {\n contents.RoutingRules = deserializeAws_restXmlRoutingRules(\n __getArrayIfSingleItem(data[\"RoutingRules\"][\"RoutingRule\"]),\n context\n );\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetBucketWebsiteCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectCommandError(output, context);\n }\n const contents: GetObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n Body: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentRange: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n TagCount: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n if (output.headers[\"content-range\"] !== undefined) {\n contents.ContentRange = output.headers[\"content-range\"];\n }\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n if (output.headers[\"x-amz-tagging-count\"] !== undefined) {\n contents.TagCount = parseInt(output.headers[\"x-amz-tagging-count\"], 10);\n }\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n Object.keys(output.headers).forEach((header) => {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n const data: any = output.body;\n contents.Body = data;\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InvalidObjectState\":\n case \"com.amazonaws.s3#InvalidObjectState\":\n response = {\n ...(await deserializeAws_restXmlInvalidObjectStateResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n response = {\n ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectAclCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectAclCommandError(output, context);\n }\n const contents: GetObjectAclCommandOutput = {\n $metadata: deserializeMetadata(output),\n Grants: undefined,\n Owner: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data.AccessControlList === \"\") {\n contents.Grants = [];\n }\n if (data[\"AccessControlList\"] !== undefined && data[\"AccessControlList\"][\"Grant\"] !== undefined) {\n contents.Grants = deserializeAws_restXmlGrants(__getArrayIfSingleItem(data[\"AccessControlList\"][\"Grant\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectAclCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n response = {\n ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectLegalHoldCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLegalHoldCommandError(output, context);\n }\n const contents: GetObjectLegalHoldCommandOutput = {\n $metadata: deserializeMetadata(output),\n LegalHold: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.LegalHold = deserializeAws_restXmlObjectLockLegalHold(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectLegalHoldCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectLockConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectLockConfigurationCommandError(output, context);\n }\n const contents: GetObjectLockConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n ObjectLockConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.ObjectLockConfiguration = deserializeAws_restXmlObjectLockConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectLockConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectRetentionCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectRetentionCommandError(output, context);\n }\n const contents: GetObjectRetentionCommandOutput = {\n $metadata: deserializeMetadata(output),\n Retention: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.Retention = deserializeAws_restXmlObjectLockRetention(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectRetentionCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTaggingCommandError(output, context);\n }\n const contents: GetObjectTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n TagSet: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data.TagSet === \"\") {\n contents.TagSet = [];\n }\n if (data[\"TagSet\"] !== undefined && data[\"TagSet\"][\"Tag\"] !== undefined) {\n contents.TagSet = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(data[\"TagSet\"][\"Tag\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetObjectTorrentCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetObjectTorrentCommandError(output, context);\n }\n const contents: GetObjectTorrentCommandOutput = {\n $metadata: deserializeMetadata(output),\n Body: undefined,\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = output.body;\n contents.Body = data;\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetObjectTorrentCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlGetPublicAccessBlockCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlGetPublicAccessBlockCommandError(output, context);\n }\n const contents: GetPublicAccessBlockCommandOutput = {\n $metadata: deserializeMetadata(output),\n PublicAccessBlockConfiguration: undefined,\n };\n const data: any = await parseBody(output.body, context);\n contents.PublicAccessBlockConfiguration = deserializeAws_restXmlPublicAccessBlockConfiguration(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlGetPublicAccessBlockCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlHeadBucketCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadBucketCommandError(output, context);\n }\n const contents: HeadBucketCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlHeadBucketCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n response = {\n ...(await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlHeadObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlHeadObjectCommandError(output, context);\n }\n const contents: HeadObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n AcceptRanges: undefined,\n ArchiveStatus: undefined,\n BucketKeyEnabled: undefined,\n CacheControl: undefined,\n ContentDisposition: undefined,\n ContentEncoding: undefined,\n ContentLanguage: undefined,\n ContentLength: undefined,\n ContentType: undefined,\n DeleteMarker: undefined,\n ETag: undefined,\n Expiration: undefined,\n Expires: undefined,\n LastModified: undefined,\n Metadata: undefined,\n MissingMeta: undefined,\n ObjectLockLegalHoldStatus: undefined,\n ObjectLockMode: undefined,\n ObjectLockRetainUntilDate: undefined,\n PartsCount: undefined,\n ReplicationStatus: undefined,\n RequestCharged: undefined,\n Restore: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n StorageClass: undefined,\n VersionId: undefined,\n WebsiteRedirectLocation: undefined,\n };\n if (output.headers[\"x-amz-delete-marker\"] !== undefined) {\n contents.DeleteMarker = output.headers[\"x-amz-delete-marker\"] === \"true\";\n }\n if (output.headers[\"accept-ranges\"] !== undefined) {\n contents.AcceptRanges = output.headers[\"accept-ranges\"];\n }\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"x-amz-restore\"] !== undefined) {\n contents.Restore = output.headers[\"x-amz-restore\"];\n }\n if (output.headers[\"x-amz-archive-status\"] !== undefined) {\n contents.ArchiveStatus = output.headers[\"x-amz-archive-status\"];\n }\n if (output.headers[\"last-modified\"] !== undefined) {\n contents.LastModified = new Date(output.headers[\"last-modified\"]);\n }\n if (output.headers[\"content-length\"] !== undefined) {\n contents.ContentLength = parseInt(output.headers[\"content-length\"], 10);\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-missing-meta\"] !== undefined) {\n contents.MissingMeta = parseInt(output.headers[\"x-amz-missing-meta\"], 10);\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"cache-control\"] !== undefined) {\n contents.CacheControl = output.headers[\"cache-control\"];\n }\n if (output.headers[\"content-disposition\"] !== undefined) {\n contents.ContentDisposition = output.headers[\"content-disposition\"];\n }\n if (output.headers[\"content-encoding\"] !== undefined) {\n contents.ContentEncoding = output.headers[\"content-encoding\"];\n }\n if (output.headers[\"content-language\"] !== undefined) {\n contents.ContentLanguage = output.headers[\"content-language\"];\n }\n if (output.headers[\"content-type\"] !== undefined) {\n contents.ContentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"expires\"] !== undefined) {\n contents.Expires = new Date(output.headers[\"expires\"]);\n }\n if (output.headers[\"x-amz-website-redirect-location\"] !== undefined) {\n contents.WebsiteRedirectLocation = output.headers[\"x-amz-website-redirect-location\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-storage-class\"] !== undefined) {\n contents.StorageClass = output.headers[\"x-amz-storage-class\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-replication-status\"] !== undefined) {\n contents.ReplicationStatus = output.headers[\"x-amz-replication-status\"];\n }\n if (output.headers[\"x-amz-mp-parts-count\"] !== undefined) {\n contents.PartsCount = parseInt(output.headers[\"x-amz-mp-parts-count\"], 10);\n }\n if (output.headers[\"x-amz-object-lock-mode\"] !== undefined) {\n contents.ObjectLockMode = output.headers[\"x-amz-object-lock-mode\"];\n }\n if (output.headers[\"x-amz-object-lock-retain-until-date\"] !== undefined) {\n contents.ObjectLockRetainUntilDate = new Date(output.headers[\"x-amz-object-lock-retain-until-date\"]);\n }\n if (output.headers[\"x-amz-object-lock-legal-hold\"] !== undefined) {\n contents.ObjectLockLegalHoldStatus = output.headers[\"x-amz-object-lock-legal-hold\"];\n }\n Object.keys(output.headers).forEach((header) => {\n if (contents.Metadata === undefined) {\n contents.Metadata = {};\n }\n if (header.startsWith(\"x-amz-meta-\")) {\n contents.Metadata[header.substring(11)] = output.headers[header];\n }\n });\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlHeadObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n response = {\n ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListBucketAnalyticsConfigurationsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError(output, context);\n }\n const contents: ListBucketAnalyticsConfigurationsCommandOutput = {\n $metadata: deserializeMetadata(output),\n AnalyticsConfigurationList: undefined,\n ContinuationToken: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.AnalyticsConfiguration === \"\") {\n contents.AnalyticsConfigurationList = [];\n }\n if (data[\"AnalyticsConfiguration\"] !== undefined) {\n contents.AnalyticsConfigurationList = deserializeAws_restXmlAnalyticsConfigurationList(\n __getArrayIfSingleItem(data[\"AnalyticsConfiguration\"]),\n context\n );\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListBucketAnalyticsConfigurationsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError(output, context);\n }\n const contents: ListBucketIntelligentTieringConfigurationsCommandOutput = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IntelligentTieringConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data.IntelligentTieringConfiguration === \"\") {\n contents.IntelligentTieringConfigurationList = [];\n }\n if (data[\"IntelligentTieringConfiguration\"] !== undefined) {\n contents.IntelligentTieringConfigurationList = deserializeAws_restXmlIntelligentTieringConfigurationList(\n __getArrayIfSingleItem(data[\"IntelligentTieringConfiguration\"]),\n context\n );\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListBucketIntelligentTieringConfigurationsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListBucketInventoryConfigurationsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketInventoryConfigurationsCommandError(output, context);\n }\n const contents: ListBucketInventoryConfigurationsCommandOutput = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n InventoryConfigurationList: undefined,\n IsTruncated: undefined,\n NextContinuationToken: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data.InventoryConfiguration === \"\") {\n contents.InventoryConfigurationList = [];\n }\n if (data[\"InventoryConfiguration\"] !== undefined) {\n contents.InventoryConfigurationList = deserializeAws_restXmlInventoryConfigurationList(\n __getArrayIfSingleItem(data[\"InventoryConfiguration\"]),\n context\n );\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListBucketInventoryConfigurationsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListBucketMetricsConfigurationsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketMetricsConfigurationsCommandError(output, context);\n }\n const contents: ListBucketMetricsConfigurationsCommandOutput = {\n $metadata: deserializeMetadata(output),\n ContinuationToken: undefined,\n IsTruncated: undefined,\n MetricsConfigurationList: undefined,\n NextContinuationToken: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data.MetricsConfiguration === \"\") {\n contents.MetricsConfigurationList = [];\n }\n if (data[\"MetricsConfiguration\"] !== undefined) {\n contents.MetricsConfigurationList = deserializeAws_restXmlMetricsConfigurationList(\n __getArrayIfSingleItem(data[\"MetricsConfiguration\"]),\n context\n );\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListBucketMetricsConfigurationsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListBucketsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListBucketsCommandError(output, context);\n }\n const contents: ListBucketsCommandOutput = {\n $metadata: deserializeMetadata(output),\n Buckets: undefined,\n Owner: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.Buckets === \"\") {\n contents.Buckets = [];\n }\n if (data[\"Buckets\"] !== undefined && data[\"Buckets\"][\"Bucket\"] !== undefined) {\n contents.Buckets = deserializeAws_restXmlBuckets(__getArrayIfSingleItem(data[\"Buckets\"][\"Bucket\"]), context);\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListBucketsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListMultipartUploadsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListMultipartUploadsCommandError(output, context);\n }\n const contents: ListMultipartUploadsCommandOutput = {\n $metadata: deserializeMetadata(output),\n Bucket: undefined,\n CommonPrefixes: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxUploads: undefined,\n NextKeyMarker: undefined,\n NextUploadIdMarker: undefined,\n Prefix: undefined,\n UploadIdMarker: undefined,\n Uploads: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(\n __getArrayIfSingleItem(data[\"CommonPrefixes\"]),\n context\n );\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n if (data[\"MaxUploads\"] !== undefined) {\n contents.MaxUploads = parseInt(data[\"MaxUploads\"]);\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n if (data[\"NextUploadIdMarker\"] !== undefined) {\n contents.NextUploadIdMarker = data[\"NextUploadIdMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"UploadIdMarker\"] !== undefined) {\n contents.UploadIdMarker = data[\"UploadIdMarker\"];\n }\n if (data.Upload === \"\") {\n contents.Uploads = [];\n }\n if (data[\"Upload\"] !== undefined) {\n contents.Uploads = deserializeAws_restXmlMultipartUploadList(__getArrayIfSingleItem(data[\"Upload\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListMultipartUploadsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListObjectsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsCommandError(output, context);\n }\n const contents: ListObjectsCommandOutput = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n Marker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextMarker: undefined,\n Prefix: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(\n __getArrayIfSingleItem(data[\"CommonPrefixes\"]),\n context\n );\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"Marker\"] !== undefined) {\n contents.Marker = data[\"Marker\"];\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextMarker\"] !== undefined) {\n contents.NextMarker = data[\"NextMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListObjectsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n response = {\n ...(await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListObjectsV2Command = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectsV2CommandError(output, context);\n }\n const contents: ListObjectsV2CommandOutput = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n Contents: undefined,\n ContinuationToken: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyCount: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextContinuationToken: undefined,\n Prefix: undefined,\n StartAfter: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(\n __getArrayIfSingleItem(data[\"CommonPrefixes\"]),\n context\n );\n }\n if (data.Contents === \"\") {\n contents.Contents = [];\n }\n if (data[\"Contents\"] !== undefined) {\n contents.Contents = deserializeAws_restXmlObjectList(__getArrayIfSingleItem(data[\"Contents\"]), context);\n }\n if (data[\"ContinuationToken\"] !== undefined) {\n contents.ContinuationToken = data[\"ContinuationToken\"];\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyCount\"] !== undefined) {\n contents.KeyCount = parseInt(data[\"KeyCount\"]);\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextContinuationToken\"] !== undefined) {\n contents.NextContinuationToken = data[\"NextContinuationToken\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"StartAfter\"] !== undefined) {\n contents.StartAfter = data[\"StartAfter\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListObjectsV2CommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchBucket\":\n case \"com.amazonaws.s3#NoSuchBucket\":\n response = {\n ...(await deserializeAws_restXmlNoSuchBucketResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListObjectVersionsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListObjectVersionsCommandError(output, context);\n }\n const contents: ListObjectVersionsCommandOutput = {\n $metadata: deserializeMetadata(output),\n CommonPrefixes: undefined,\n DeleteMarkers: undefined,\n Delimiter: undefined,\n EncodingType: undefined,\n IsTruncated: undefined,\n KeyMarker: undefined,\n MaxKeys: undefined,\n Name: undefined,\n NextKeyMarker: undefined,\n NextVersionIdMarker: undefined,\n Prefix: undefined,\n VersionIdMarker: undefined,\n Versions: undefined,\n };\n const data: any = await parseBody(output.body, context);\n if (data.CommonPrefixes === \"\") {\n contents.CommonPrefixes = [];\n }\n if (data[\"CommonPrefixes\"] !== undefined) {\n contents.CommonPrefixes = deserializeAws_restXmlCommonPrefixList(\n __getArrayIfSingleItem(data[\"CommonPrefixes\"]),\n context\n );\n }\n if (data.DeleteMarker === \"\") {\n contents.DeleteMarkers = [];\n }\n if (data[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarkers = deserializeAws_restXmlDeleteMarkers(__getArrayIfSingleItem(data[\"DeleteMarker\"]), context);\n }\n if (data[\"Delimiter\"] !== undefined) {\n contents.Delimiter = data[\"Delimiter\"];\n }\n if (data[\"EncodingType\"] !== undefined) {\n contents.EncodingType = data[\"EncodingType\"];\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"KeyMarker\"] !== undefined) {\n contents.KeyMarker = data[\"KeyMarker\"];\n }\n if (data[\"MaxKeys\"] !== undefined) {\n contents.MaxKeys = parseInt(data[\"MaxKeys\"]);\n }\n if (data[\"Name\"] !== undefined) {\n contents.Name = data[\"Name\"];\n }\n if (data[\"NextKeyMarker\"] !== undefined) {\n contents.NextKeyMarker = data[\"NextKeyMarker\"];\n }\n if (data[\"NextVersionIdMarker\"] !== undefined) {\n contents.NextVersionIdMarker = data[\"NextVersionIdMarker\"];\n }\n if (data[\"Prefix\"] !== undefined) {\n contents.Prefix = data[\"Prefix\"];\n }\n if (data[\"VersionIdMarker\"] !== undefined) {\n contents.VersionIdMarker = data[\"VersionIdMarker\"];\n }\n if (data.Version === \"\") {\n contents.Versions = [];\n }\n if (data[\"Version\"] !== undefined) {\n contents.Versions = deserializeAws_restXmlObjectVersionList(__getArrayIfSingleItem(data[\"Version\"]), context);\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListObjectVersionsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlListPartsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlListPartsCommandError(output, context);\n }\n const contents: ListPartsCommandOutput = {\n $metadata: deserializeMetadata(output),\n AbortDate: undefined,\n AbortRuleId: undefined,\n Bucket: undefined,\n Initiator: undefined,\n IsTruncated: undefined,\n Key: undefined,\n MaxParts: undefined,\n NextPartNumberMarker: undefined,\n Owner: undefined,\n PartNumberMarker: undefined,\n Parts: undefined,\n RequestCharged: undefined,\n StorageClass: undefined,\n UploadId: undefined,\n };\n if (output.headers[\"x-amz-abort-date\"] !== undefined) {\n contents.AbortDate = new Date(output.headers[\"x-amz-abort-date\"]);\n }\n if (output.headers[\"x-amz-abort-rule-id\"] !== undefined) {\n contents.AbortRuleId = output.headers[\"x-amz-abort-rule-id\"];\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n if (data[\"Bucket\"] !== undefined) {\n contents.Bucket = data[\"Bucket\"];\n }\n if (data[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(data[\"Initiator\"], context);\n }\n if (data[\"IsTruncated\"] !== undefined) {\n contents.IsTruncated = data[\"IsTruncated\"] == \"true\";\n }\n if (data[\"Key\"] !== undefined) {\n contents.Key = data[\"Key\"];\n }\n if (data[\"MaxParts\"] !== undefined) {\n contents.MaxParts = parseInt(data[\"MaxParts\"]);\n }\n if (data[\"NextPartNumberMarker\"] !== undefined) {\n contents.NextPartNumberMarker = data[\"NextPartNumberMarker\"];\n }\n if (data[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(data[\"Owner\"], context);\n }\n if (data[\"PartNumberMarker\"] !== undefined) {\n contents.PartNumberMarker = data[\"PartNumberMarker\"];\n }\n if (data.Part === \"\") {\n contents.Parts = [];\n }\n if (data[\"Part\"] !== undefined) {\n contents.Parts = deserializeAws_restXmlParts(__getArrayIfSingleItem(data[\"Part\"]), context);\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n if (data[\"UploadId\"] !== undefined) {\n contents.UploadId = data[\"UploadId\"];\n }\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlListPartsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketAccelerateConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError(output, context);\n }\n const contents: PutBucketAccelerateConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketAccelerateConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketAclCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAclCommandError(output, context);\n }\n const contents: PutBucketAclCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketAclCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketAnalyticsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError(output, context);\n }\n const contents: PutBucketAnalyticsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketAnalyticsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketCorsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketCorsCommandError(output, context);\n }\n const contents: PutBucketCorsCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketCorsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketEncryptionCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketEncryptionCommandError(output, context);\n }\n const contents: PutBucketEncryptionCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketEncryptionCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError(output, context);\n }\n const contents: PutBucketIntelligentTieringConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketIntelligentTieringConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketInventoryConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketInventoryConfigurationCommandError(output, context);\n }\n const contents: PutBucketInventoryConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketInventoryConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketLifecycleConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError(output, context);\n }\n const contents: PutBucketLifecycleConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketLifecycleConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketLoggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketLoggingCommandError(output, context);\n }\n const contents: PutBucketLoggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketLoggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketMetricsConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketMetricsConfigurationCommandError(output, context);\n }\n const contents: PutBucketMetricsConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketMetricsConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketNotificationConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketNotificationConfigurationCommandError(output, context);\n }\n const contents: PutBucketNotificationConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketNotificationConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketOwnershipControlsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketOwnershipControlsCommandError(output, context);\n }\n const contents: PutBucketOwnershipControlsCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketOwnershipControlsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketPolicyCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketPolicyCommandError(output, context);\n }\n const contents: PutBucketPolicyCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketPolicyCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketReplicationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketReplicationCommandError(output, context);\n }\n const contents: PutBucketReplicationCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketReplicationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketRequestPaymentCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketRequestPaymentCommandError(output, context);\n }\n const contents: PutBucketRequestPaymentCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketRequestPaymentCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketTaggingCommandError(output, context);\n }\n const contents: PutBucketTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketVersioningCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketVersioningCommandError(output, context);\n }\n const contents: PutBucketVersioningCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketVersioningCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutBucketWebsiteCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutBucketWebsiteCommandError(output, context);\n }\n const contents: PutBucketWebsiteCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutBucketWebsiteCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectCommandError(output, context);\n }\n const contents: PutObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n Expiration: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSEncryptionContext: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-expiration\"] !== undefined) {\n contents.Expiration = output.headers[\"x-amz-expiration\"];\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-context\"] !== undefined) {\n contents.SSEKMSEncryptionContext = output.headers[\"x-amz-server-side-encryption-context\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectAclCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectAclCommandError(output, context);\n }\n const contents: PutObjectAclCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectAclCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"NoSuchKey\":\n case \"com.amazonaws.s3#NoSuchKey\":\n response = {\n ...(await deserializeAws_restXmlNoSuchKeyResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectLegalHoldCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLegalHoldCommandError(output, context);\n }\n const contents: PutObjectLegalHoldCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectLegalHoldCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectLockConfigurationCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectLockConfigurationCommandError(output, context);\n }\n const contents: PutObjectLockConfigurationCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectLockConfigurationCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectRetentionCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectRetentionCommandError(output, context);\n }\n const contents: PutObjectRetentionCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectRetentionCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutObjectTaggingCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutObjectTaggingCommandError(output, context);\n }\n const contents: PutObjectTaggingCommandOutput = {\n $metadata: deserializeMetadata(output),\n VersionId: undefined,\n };\n if (output.headers[\"x-amz-version-id\"] !== undefined) {\n contents.VersionId = output.headers[\"x-amz-version-id\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutObjectTaggingCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlPutPublicAccessBlockCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlPutPublicAccessBlockCommandError(output, context);\n }\n const contents: PutPublicAccessBlockCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlPutPublicAccessBlockCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlRestoreObjectCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlRestoreObjectCommandError(output, context);\n }\n const contents: RestoreObjectCommandOutput = {\n $metadata: deserializeMetadata(output),\n RequestCharged: undefined,\n RestoreOutputPath: undefined,\n };\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n if (output.headers[\"x-amz-restore-output-path\"] !== undefined) {\n contents.RestoreOutputPath = output.headers[\"x-amz-restore-output-path\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlRestoreObjectCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ObjectAlreadyInActiveTierError\":\n case \"com.amazonaws.s3#ObjectAlreadyInActiveTierError\":\n response = {\n ...(await deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlSelectObjectContentCommand = async (\n output: __HttpResponse,\n context: __SerdeContext & __EventStreamSerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlSelectObjectContentCommandError(output, context);\n }\n const contents: SelectObjectContentCommandOutput = {\n $metadata: deserializeMetadata(output),\n Payload: undefined,\n };\n const data: any = context.eventStreamMarshaller.deserialize(output.body, async (event) => {\n const eventName = Object.keys(event)[0];\n const eventHeaders = Object.entries(event[eventName].headers).reduce((accummulator, curr) => {\n accummulator[curr[0]] = curr[1].value;\n return accummulator;\n }, {} as { [key: string]: any });\n const eventMessage = {\n headers: eventHeaders,\n body: event[eventName].body,\n };\n const parsedEvent = {\n [eventName]: eventMessage,\n };\n return await deserializeAws_restXmlSelectObjectContentEventStream_event(parsedEvent, context);\n });\n contents.Payload = data;\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlSelectObjectContentCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlUploadPartCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCommandError(output, context);\n }\n const contents: UploadPartCommandOutput = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n ETag: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n };\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"etag\"] !== undefined) {\n contents.ETag = output.headers[\"etag\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n await collectBody(output.body, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlUploadPartCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_restXmlUploadPartCopyCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return deserializeAws_restXmlUploadPartCopyCommandError(output, context);\n }\n const contents: UploadPartCopyCommandOutput = {\n $metadata: deserializeMetadata(output),\n BucketKeyEnabled: undefined,\n CopyPartResult: undefined,\n CopySourceVersionId: undefined,\n RequestCharged: undefined,\n SSECustomerAlgorithm: undefined,\n SSECustomerKeyMD5: undefined,\n SSEKMSKeyId: undefined,\n ServerSideEncryption: undefined,\n };\n if (output.headers[\"x-amz-copy-source-version-id\"] !== undefined) {\n contents.CopySourceVersionId = output.headers[\"x-amz-copy-source-version-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption\"] !== undefined) {\n contents.ServerSideEncryption = output.headers[\"x-amz-server-side-encryption\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-algorithm\"] !== undefined) {\n contents.SSECustomerAlgorithm = output.headers[\"x-amz-server-side-encryption-customer-algorithm\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-customer-key-md5\"] !== undefined) {\n contents.SSECustomerKeyMD5 = output.headers[\"x-amz-server-side-encryption-customer-key-md5\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"] !== undefined) {\n contents.SSEKMSKeyId = output.headers[\"x-amz-server-side-encryption-aws-kms-key-id\"];\n }\n if (output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] !== undefined) {\n contents.BucketKeyEnabled = output.headers[\"x-amz-server-side-encryption-bucket-key-enabled\"] === \"true\";\n }\n if (output.headers[\"x-amz-request-charged\"] !== undefined) {\n contents.RequestCharged = output.headers[\"x-amz-request-charged\"];\n }\n const data: any = await parseBody(output.body, context);\n contents.CopyPartResult = deserializeAws_restXmlCopyPartResult(data, context);\n return Promise.resolve(contents);\n};\n\nconst deserializeAws_restXmlUploadPartCopyCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestXmlErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nconst deserializeAws_restXmlSelectObjectContentEventStream_event = async (\n output: any,\n context: __SerdeContext\n): Promise => {\n if (output[\"Records\"] !== undefined) {\n return {\n Records: await deserializeAws_restXmlRecordsEvent_event(output[\"Records\"], context),\n };\n }\n if (output[\"Stats\"] !== undefined) {\n return {\n Stats: await deserializeAws_restXmlStatsEvent_event(output[\"Stats\"], context),\n };\n }\n if (output[\"Progress\"] !== undefined) {\n return {\n Progress: await deserializeAws_restXmlProgressEvent_event(output[\"Progress\"], context),\n };\n }\n if (output[\"Cont\"] !== undefined) {\n return {\n Cont: await deserializeAws_restXmlContinuationEvent_event(output[\"Cont\"], context),\n };\n }\n if (output[\"End\"] !== undefined) {\n return {\n End: await deserializeAws_restXmlEndEvent_event(output[\"End\"], context),\n };\n }\n return { $unknown: output };\n};\nconst deserializeAws_restXmlContinuationEvent_event = async (\n output: any,\n context: __SerdeContext\n): Promise => {\n let contents: ContinuationEvent = {} as any;\n return contents;\n};\nconst deserializeAws_restXmlEndEvent_event = async (output: any, context: __SerdeContext): Promise => {\n let contents: EndEvent = {} as any;\n return contents;\n};\nconst deserializeAws_restXmlProgressEvent_event = async (\n output: any,\n context: __SerdeContext\n): Promise => {\n let contents: ProgressEvent = {} as any;\n contents.Details = await parseBody(output.body, context);\n return contents;\n};\nconst deserializeAws_restXmlRecordsEvent_event = async (\n output: any,\n context: __SerdeContext\n): Promise => {\n let contents: RecordsEvent = {} as any;\n contents.Payload = output.body;\n return contents;\n};\nconst deserializeAws_restXmlStatsEvent_event = async (output: any, context: __SerdeContext): Promise => {\n let contents: StatsEvent = {} as any;\n contents.Details = await parseBody(output.body, context);\n return contents;\n};\nconst deserializeAws_restXmlBucketAlreadyExistsResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: BucketAlreadyExists = {\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlBucketAlreadyOwnedByYouResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: BucketAlreadyOwnedByYou = {\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlInvalidObjectStateResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: InvalidObjectState = {\n name: \"InvalidObjectState\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n AccessTier: undefined,\n StorageClass: undefined,\n };\n const data: any = parsedOutput.body;\n if (data[\"AccessTier\"] !== undefined) {\n contents.AccessTier = data[\"AccessTier\"];\n }\n if (data[\"StorageClass\"] !== undefined) {\n contents.StorageClass = data[\"StorageClass\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlNoSuchBucketResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: NoSuchBucket = {\n name: \"NoSuchBucket\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlNoSuchKeyResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: NoSuchKey = {\n name: \"NoSuchKey\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlNoSuchUploadResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: NoSuchUpload = {\n name: \"NoSuchUpload\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlObjectAlreadyInActiveTierErrorResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: ObjectAlreadyInActiveTierError = {\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst deserializeAws_restXmlObjectNotInActiveTierErrorResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise => {\n const contents: ObjectNotInActiveTierError = {\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n };\n const data: any = parsedOutput.body;\n return contents;\n};\n\nconst serializeAws_restXmlAbortIncompleteMultipartUpload = (\n input: AbortIncompleteMultipartUpload,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"AbortIncompleteMultipartUpload\");\n if (input.DaysAfterInitiation !== undefined && input.DaysAfterInitiation !== null) {\n const node = new __XmlNode(\"DaysAfterInitiation\")\n .addChildNode(new __XmlText(String(input.DaysAfterInitiation)))\n .withName(\"DaysAfterInitiation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAccelerateConfiguration = (input: AccelerateConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"AccelerateConfiguration\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"BucketAccelerateStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAccessControlPolicy = (input: AccessControlPolicy, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"AccessControlPolicy\");\n if (input.Grants !== undefined && input.Grants !== null) {\n const nodes = serializeAws_restXmlGrants(input.Grants, context);\n const containerNode = new __XmlNode(\"AccessControlList\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Owner !== undefined && input.Owner !== null) {\n const node = serializeAws_restXmlOwner(input.Owner, context).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAccessControlTranslation = (\n input: AccessControlTranslation,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"AccessControlTranslation\");\n if (input.Owner !== undefined && input.Owner !== null) {\n const node = new __XmlNode(\"OwnerOverride\").addChildNode(new __XmlText(input.Owner)).withName(\"Owner\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAllowedHeaders = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"AllowedHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlAllowedMethods = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"AllowedMethod\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlAllowedOrigins = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"AllowedOrigin\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlAnalyticsAndOperator = (input: AnalyticsAndOperator, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"AnalyticsAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAnalyticsConfiguration = (input: AnalyticsConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"AnalyticsConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"AnalyticsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlAnalyticsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClassAnalysis !== undefined && input.StorageClassAnalysis !== null) {\n const node = serializeAws_restXmlStorageClassAnalysis(input.StorageClassAnalysis, context).withName(\n \"StorageClassAnalysis\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAnalyticsExportDestination = (\n input: AnalyticsExportDestination,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"AnalyticsExportDestination\");\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n const node = serializeAws_restXmlAnalyticsS3BucketDestination(input.S3BucketDestination, context).withName(\n \"S3BucketDestination\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlAnalyticsFilter = (input: AnalyticsFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"AnalyticsFilter\");\n AnalyticsFilter.visit(input, {\n Prefix: (value) => {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlAnalyticsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name: string, value: any) => {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\n\nconst serializeAws_restXmlAnalyticsS3BucketDestination = (\n input: AnalyticsS3BucketDestination,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"AnalyticsS3BucketDestination\");\n if (input.Format !== undefined && input.Format !== null) {\n const node = new __XmlNode(\"AnalyticsS3ExportFileFormat\")\n .addChildNode(new __XmlText(input.Format))\n .withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketAccountId !== undefined && input.BucketAccountId !== null) {\n const node = new __XmlNode(\"AccountId\")\n .addChildNode(new __XmlText(input.BucketAccountId))\n .withName(\"BucketAccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket !== undefined && input.Bucket !== null) {\n const node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlBucketLifecycleConfiguration = (\n input: BucketLifecycleConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"BucketLifecycleConfiguration\");\n if (input.Rules !== undefined && input.Rules !== null) {\n const nodes = serializeAws_restXmlLifecycleRules(input.Rules, context);\n nodes.map((node: any) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlBucketLoggingStatus = (input: BucketLoggingStatus, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"BucketLoggingStatus\");\n if (input.LoggingEnabled !== undefined && input.LoggingEnabled !== null) {\n const node = serializeAws_restXmlLoggingEnabled(input.LoggingEnabled, context).withName(\"LoggingEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCompletedMultipartUpload = (\n input: CompletedMultipartUpload,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"CompletedMultipartUpload\");\n if (input.Parts !== undefined && input.Parts !== null) {\n const nodes = serializeAws_restXmlCompletedPartList(input.Parts, context);\n nodes.map((node: any) => {\n node = node.withName(\"Part\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCompletedPart = (input: CompletedPart, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"CompletedPart\");\n if (input.ETag !== undefined && input.ETag !== null) {\n const node = new __XmlNode(\"ETag\").addChildNode(new __XmlText(input.ETag)).withName(\"ETag\");\n bodyNode.addChildNode(node);\n }\n if (input.PartNumber !== undefined && input.PartNumber !== null) {\n const node = new __XmlNode(\"PartNumber\")\n .addChildNode(new __XmlText(String(input.PartNumber)))\n .withName(\"PartNumber\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCompletedPartList = (input: CompletedPart[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlCompletedPart(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlCondition = (input: Condition, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Condition\");\n if (input.HttpErrorCodeReturnedEquals !== undefined && input.HttpErrorCodeReturnedEquals !== null) {\n const node = new __XmlNode(\"HttpErrorCodeReturnedEquals\")\n .addChildNode(new __XmlText(input.HttpErrorCodeReturnedEquals))\n .withName(\"HttpErrorCodeReturnedEquals\");\n bodyNode.addChildNode(node);\n }\n if (input.KeyPrefixEquals !== undefined && input.KeyPrefixEquals !== null) {\n const node = new __XmlNode(\"KeyPrefixEquals\")\n .addChildNode(new __XmlText(input.KeyPrefixEquals))\n .withName(\"KeyPrefixEquals\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCORSConfiguration = (input: CORSConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"CORSConfiguration\");\n if (input.CORSRules !== undefined && input.CORSRules !== null) {\n const nodes = serializeAws_restXmlCORSRules(input.CORSRules, context);\n nodes.map((node: any) => {\n node = node.withName(\"CORSRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCORSRule = (input: CORSRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"CORSRule\");\n if (input.AllowedHeaders !== undefined && input.AllowedHeaders !== null) {\n const nodes = serializeAws_restXmlAllowedHeaders(input.AllowedHeaders, context);\n nodes.map((node: any) => {\n node = node.withName(\"AllowedHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedMethods !== undefined && input.AllowedMethods !== null) {\n const nodes = serializeAws_restXmlAllowedMethods(input.AllowedMethods, context);\n nodes.map((node: any) => {\n node = node.withName(\"AllowedMethod\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.AllowedOrigins !== undefined && input.AllowedOrigins !== null) {\n const nodes = serializeAws_restXmlAllowedOrigins(input.AllowedOrigins, context);\n nodes.map((node: any) => {\n node = node.withName(\"AllowedOrigin\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.ExposeHeaders !== undefined && input.ExposeHeaders !== null) {\n const nodes = serializeAws_restXmlExposeHeaders(input.ExposeHeaders, context);\n nodes.map((node: any) => {\n node = node.withName(\"ExposeHeader\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.MaxAgeSeconds !== undefined && input.MaxAgeSeconds !== null) {\n const node = new __XmlNode(\"MaxAgeSeconds\")\n .addChildNode(new __XmlText(String(input.MaxAgeSeconds)))\n .withName(\"MaxAgeSeconds\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCORSRules = (input: CORSRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlCORSRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlCreateBucketConfiguration = (\n input: CreateBucketConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"CreateBucketConfiguration\");\n if (input.LocationConstraint !== undefined && input.LocationConstraint !== null) {\n const node = new __XmlNode(\"BucketLocationConstraint\")\n .addChildNode(new __XmlText(input.LocationConstraint))\n .withName(\"LocationConstraint\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCSVInput = (input: CSVInput, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"CSVInput\");\n if (input.FileHeaderInfo !== undefined && input.FileHeaderInfo !== null) {\n const node = new __XmlNode(\"FileHeaderInfo\")\n .addChildNode(new __XmlText(input.FileHeaderInfo))\n .withName(\"FileHeaderInfo\");\n bodyNode.addChildNode(node);\n }\n if (input.Comments !== undefined && input.Comments !== null) {\n const node = new __XmlNode(\"Comments\").addChildNode(new __XmlText(input.Comments)).withName(\"Comments\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n const node = new __XmlNode(\"QuoteEscapeCharacter\")\n .addChildNode(new __XmlText(input.QuoteEscapeCharacter))\n .withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n const node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n const node = new __XmlNode(\"FieldDelimiter\")\n .addChildNode(new __XmlText(input.FieldDelimiter))\n .withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n const node = new __XmlNode(\"QuoteCharacter\")\n .addChildNode(new __XmlText(input.QuoteCharacter))\n .withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.AllowQuotedRecordDelimiter !== undefined && input.AllowQuotedRecordDelimiter !== null) {\n const node = new __XmlNode(\"AllowQuotedRecordDelimiter\")\n .addChildNode(new __XmlText(String(input.AllowQuotedRecordDelimiter)))\n .withName(\"AllowQuotedRecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlCSVOutput = (input: CSVOutput, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"CSVOutput\");\n if (input.QuoteFields !== undefined && input.QuoteFields !== null) {\n const node = new __XmlNode(\"QuoteFields\").addChildNode(new __XmlText(input.QuoteFields)).withName(\"QuoteFields\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteEscapeCharacter !== undefined && input.QuoteEscapeCharacter !== null) {\n const node = new __XmlNode(\"QuoteEscapeCharacter\")\n .addChildNode(new __XmlText(input.QuoteEscapeCharacter))\n .withName(\"QuoteEscapeCharacter\");\n bodyNode.addChildNode(node);\n }\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n const node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.FieldDelimiter !== undefined && input.FieldDelimiter !== null) {\n const node = new __XmlNode(\"FieldDelimiter\")\n .addChildNode(new __XmlText(input.FieldDelimiter))\n .withName(\"FieldDelimiter\");\n bodyNode.addChildNode(node);\n }\n if (input.QuoteCharacter !== undefined && input.QuoteCharacter !== null) {\n const node = new __XmlNode(\"QuoteCharacter\")\n .addChildNode(new __XmlText(input.QuoteCharacter))\n .withName(\"QuoteCharacter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlDefaultRetention = (input: DefaultRetention, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"DefaultRetention\");\n if (input.Mode !== undefined && input.Mode !== null) {\n const node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n const node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.Years !== undefined && input.Years !== null) {\n const node = new __XmlNode(\"Years\").addChildNode(new __XmlText(String(input.Years))).withName(\"Years\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlDelete = (input: Delete, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Delete\");\n if (input.Objects !== undefined && input.Objects !== null) {\n const nodes = serializeAws_restXmlObjectIdentifierList(input.Objects, context);\n nodes.map((node: any) => {\n node = node.withName(\"Object\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Quiet !== undefined && input.Quiet !== null) {\n const node = new __XmlNode(\"Quiet\").addChildNode(new __XmlText(String(input.Quiet))).withName(\"Quiet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlDeleteMarkerReplication = (input: DeleteMarkerReplication, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"DeleteMarkerReplication\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"DeleteMarkerReplicationStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlDestination = (input: Destination, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Destination\");\n if (input.Bucket !== undefined && input.Bucket !== null) {\n const node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Account !== undefined && input.Account !== null) {\n const node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.Account)).withName(\"Account\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n const node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlTranslation !== undefined && input.AccessControlTranslation !== null) {\n const node = serializeAws_restXmlAccessControlTranslation(input.AccessControlTranslation, context).withName(\n \"AccessControlTranslation\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.EncryptionConfiguration !== undefined && input.EncryptionConfiguration !== null) {\n const node = serializeAws_restXmlEncryptionConfiguration(input.EncryptionConfiguration, context).withName(\n \"EncryptionConfiguration\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.ReplicationTime !== undefined && input.ReplicationTime !== null) {\n const node = serializeAws_restXmlReplicationTime(input.ReplicationTime, context).withName(\"ReplicationTime\");\n bodyNode.addChildNode(node);\n }\n if (input.Metrics !== undefined && input.Metrics !== null) {\n const node = serializeAws_restXmlMetrics(input.Metrics, context).withName(\"Metrics\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlEncryption = (input: Encryption, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Encryption\");\n if (input.EncryptionType !== undefined && input.EncryptionType !== null) {\n const node = new __XmlNode(\"ServerSideEncryption\")\n .addChildNode(new __XmlText(input.EncryptionType))\n .withName(\"EncryptionType\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSKeyId !== undefined && input.KMSKeyId !== null) {\n const node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KMSKeyId)).withName(\"KMSKeyId\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSContext !== undefined && input.KMSContext !== null) {\n const node = new __XmlNode(\"KMSContext\").addChildNode(new __XmlText(input.KMSContext)).withName(\"KMSContext\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlEncryptionConfiguration = (input: EncryptionConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"EncryptionConfiguration\");\n if (input.ReplicaKmsKeyID !== undefined && input.ReplicaKmsKeyID !== null) {\n const node = new __XmlNode(\"ReplicaKmsKeyID\")\n .addChildNode(new __XmlText(input.ReplicaKmsKeyID))\n .withName(\"ReplicaKmsKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlErrorDocument = (input: ErrorDocument, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ErrorDocument\");\n if (input.Key !== undefined && input.Key !== null) {\n const node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlEventList = (input: (Event | string)[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"Event\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlExistingObjectReplication = (\n input: ExistingObjectReplication,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ExistingObjectReplication\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ExistingObjectReplicationStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlExposeHeaders = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"ExposeHeader\").addChildNode(new __XmlText(entry));\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlFilterRule = (input: FilterRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"FilterRule\");\n if (input.Name !== undefined && input.Name !== null) {\n const node = new __XmlNode(\"FilterRuleName\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n const node = new __XmlNode(\"FilterRuleValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlFilterRuleList = (input: FilterRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlFilterRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlGlacierJobParameters = (input: GlacierJobParameters, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"GlacierJobParameters\");\n if (input.Tier !== undefined && input.Tier !== null) {\n const node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlGrant = (input: Grant, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Grant\");\n if (input.Grantee !== undefined && input.Grantee !== null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission !== undefined && input.Permission !== null) {\n const node = new __XmlNode(\"Permission\").addChildNode(new __XmlText(input.Permission)).withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlGrantee = (input: Grantee, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Grantee\");\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n const node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.EmailAddress !== undefined && input.EmailAddress !== null) {\n const node = new __XmlNode(\"EmailAddress\").addChildNode(new __XmlText(input.EmailAddress)).withName(\"EmailAddress\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n const node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.URI !== undefined && input.URI !== null) {\n const node = new __XmlNode(\"URI\").addChildNode(new __XmlText(input.URI)).withName(\"URI\");\n bodyNode.addChildNode(node);\n }\n if (input.Type !== undefined && input.Type !== null) {\n bodyNode.addAttribute(\"xsi:type\", input.Type);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlGrants = (input: Grant[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nconst serializeAws_restXmlIndexDocument = (input: IndexDocument, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"IndexDocument\");\n if (input.Suffix !== undefined && input.Suffix !== null) {\n const node = new __XmlNode(\"Suffix\").addChildNode(new __XmlText(input.Suffix)).withName(\"Suffix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInputSerialization = (input: InputSerialization, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InputSerialization\");\n if (input.CSV !== undefined && input.CSV !== null) {\n const node = serializeAws_restXmlCSVInput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.CompressionType !== undefined && input.CompressionType !== null) {\n const node = new __XmlNode(\"CompressionType\")\n .addChildNode(new __XmlText(input.CompressionType))\n .withName(\"CompressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON !== undefined && input.JSON !== null) {\n const node = serializeAws_restXmlJSONInput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n if (input.Parquet !== undefined && input.Parquet !== null) {\n const node = serializeAws_restXmlParquetInput(input.Parquet, context).withName(\"Parquet\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlIntelligentTieringAndOperator = (\n input: IntelligentTieringAndOperator,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"IntelligentTieringAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlIntelligentTieringConfiguration = (\n input: IntelligentTieringConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"IntelligentTieringConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"IntelligentTieringId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlIntelligentTieringFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"IntelligentTieringStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Tierings !== undefined && input.Tierings !== null) {\n const nodes = serializeAws_restXmlTieringList(input.Tierings, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tiering\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlIntelligentTieringFilter = (\n input: IntelligentTieringFilter,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"IntelligentTieringFilter\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tag !== undefined && input.Tag !== null) {\n const node = serializeAws_restXmlTag(input.Tag, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n }\n if (input.And !== undefined && input.And !== null) {\n const node = serializeAws_restXmlIntelligentTieringAndOperator(input.And, context).withName(\"And\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventoryConfiguration = (input: InventoryConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InventoryConfiguration\");\n if (input.Destination !== undefined && input.Destination !== null) {\n const node = serializeAws_restXmlInventoryDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.IsEnabled !== undefined && input.IsEnabled !== null) {\n const node = new __XmlNode(\"IsEnabled\").addChildNode(new __XmlText(String(input.IsEnabled))).withName(\"IsEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlInventoryFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"InventoryId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.IncludedObjectVersions !== undefined && input.IncludedObjectVersions !== null) {\n const node = new __XmlNode(\"InventoryIncludedObjectVersions\")\n .addChildNode(new __XmlText(input.IncludedObjectVersions))\n .withName(\"IncludedObjectVersions\");\n bodyNode.addChildNode(node);\n }\n if (input.OptionalFields !== undefined && input.OptionalFields !== null) {\n const nodes = serializeAws_restXmlInventoryOptionalFields(input.OptionalFields, context);\n const containerNode = new __XmlNode(\"OptionalFields\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Schedule !== undefined && input.Schedule !== null) {\n const node = serializeAws_restXmlInventorySchedule(input.Schedule, context).withName(\"Schedule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventoryDestination = (input: InventoryDestination, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InventoryDestination\");\n if (input.S3BucketDestination !== undefined && input.S3BucketDestination !== null) {\n const node = serializeAws_restXmlInventoryS3BucketDestination(input.S3BucketDestination, context).withName(\n \"S3BucketDestination\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventoryEncryption = (input: InventoryEncryption, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InventoryEncryption\");\n if (input.SSES3 !== undefined && input.SSES3 !== null) {\n const node = serializeAws_restXmlSSES3(input.SSES3, context).withName(\"SSE-S3\");\n bodyNode.addChildNode(node);\n }\n if (input.SSEKMS !== undefined && input.SSEKMS !== null) {\n const node = serializeAws_restXmlSSEKMS(input.SSEKMS, context).withName(\"SSE-KMS\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventoryFilter = (input: InventoryFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InventoryFilter\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventoryOptionalFields = (\n input: (InventoryOptionalField | string)[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = new __XmlNode(\"InventoryOptionalField\").addChildNode(new __XmlText(entry));\n return node.withName(\"Field\");\n });\n};\n\nconst serializeAws_restXmlInventoryS3BucketDestination = (\n input: InventoryS3BucketDestination,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"InventoryS3BucketDestination\");\n if (input.AccountId !== undefined && input.AccountId !== null) {\n const node = new __XmlNode(\"AccountId\").addChildNode(new __XmlText(input.AccountId)).withName(\"AccountId\");\n bodyNode.addChildNode(node);\n }\n if (input.Bucket !== undefined && input.Bucket !== null) {\n const node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.Bucket)).withName(\"Bucket\");\n bodyNode.addChildNode(node);\n }\n if (input.Format !== undefined && input.Format !== null) {\n const node = new __XmlNode(\"InventoryFormat\").addChildNode(new __XmlText(input.Format)).withName(\"Format\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption !== undefined && input.Encryption !== null) {\n const node = serializeAws_restXmlInventoryEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlInventorySchedule = (input: InventorySchedule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"InventorySchedule\");\n if (input.Frequency !== undefined && input.Frequency !== null) {\n const node = new __XmlNode(\"InventoryFrequency\").addChildNode(new __XmlText(input.Frequency)).withName(\"Frequency\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlJSONInput = (input: JSONInput, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"JSONInput\");\n if (input.Type !== undefined && input.Type !== null) {\n const node = new __XmlNode(\"JSONType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlJSONOutput = (input: JSONOutput, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"JSONOutput\");\n if (input.RecordDelimiter !== undefined && input.RecordDelimiter !== null) {\n const node = new __XmlNode(\"RecordDelimiter\")\n .addChildNode(new __XmlText(input.RecordDelimiter))\n .withName(\"RecordDelimiter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlLambdaFunctionConfiguration = (\n input: LambdaFunctionConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"LambdaFunctionConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.LambdaFunctionArn !== undefined && input.LambdaFunctionArn !== null) {\n const node = new __XmlNode(\"LambdaFunctionArn\")\n .addChildNode(new __XmlText(input.LambdaFunctionArn))\n .withName(\"CloudFunction\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node: any) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlLambdaFunctionConfigurationList = (\n input: LambdaFunctionConfiguration[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlLifecycleExpiration = (input: LifecycleExpiration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"LifecycleExpiration\");\n if (input.Date !== undefined && input.Date !== null) {\n const node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n const node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.ExpiredObjectDeleteMarker !== undefined && input.ExpiredObjectDeleteMarker !== null) {\n const node = new __XmlNode(\"ExpiredObjectDeleteMarker\")\n .addChildNode(new __XmlText(String(input.ExpiredObjectDeleteMarker)))\n .withName(\"ExpiredObjectDeleteMarker\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlLifecycleRule = (input: LifecycleRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"LifecycleRule\");\n if (input.Expiration !== undefined && input.Expiration !== null) {\n const node = serializeAws_restXmlLifecycleExpiration(input.Expiration, context).withName(\"Expiration\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n const node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlLifecycleRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ExpirationStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Transitions !== undefined && input.Transitions !== null) {\n const nodes = serializeAws_restXmlTransitionList(input.Transitions, context);\n nodes.map((node: any) => {\n node = node.withName(\"Transition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionTransitions !== undefined && input.NoncurrentVersionTransitions !== null) {\n const nodes = serializeAws_restXmlNoncurrentVersionTransitionList(input.NoncurrentVersionTransitions, context);\n nodes.map((node: any) => {\n node = node.withName(\"NoncurrentVersionTransition\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.NoncurrentVersionExpiration !== undefined && input.NoncurrentVersionExpiration !== null) {\n const node = serializeAws_restXmlNoncurrentVersionExpiration(input.NoncurrentVersionExpiration, context).withName(\n \"NoncurrentVersionExpiration\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.AbortIncompleteMultipartUpload !== undefined && input.AbortIncompleteMultipartUpload !== null) {\n const node = serializeAws_restXmlAbortIncompleteMultipartUpload(\n input.AbortIncompleteMultipartUpload,\n context\n ).withName(\"AbortIncompleteMultipartUpload\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlLifecycleRuleAndOperator = (\n input: LifecycleRuleAndOperator,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"LifecycleRuleAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlLifecycleRuleFilter = (input: LifecycleRuleFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"LifecycleRuleFilter\");\n LifecycleRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlLifecycleRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name: string, value: any) => {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\n\nconst serializeAws_restXmlLifecycleRules = (input: LifecycleRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlLifecycleRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlLoggingEnabled = (input: LoggingEnabled, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"LoggingEnabled\");\n if (input.TargetBucket !== undefined && input.TargetBucket !== null) {\n const node = new __XmlNode(\"TargetBucket\").addChildNode(new __XmlText(input.TargetBucket)).withName(\"TargetBucket\");\n bodyNode.addChildNode(node);\n }\n if (input.TargetGrants !== undefined && input.TargetGrants !== null) {\n const nodes = serializeAws_restXmlTargetGrants(input.TargetGrants, context);\n const containerNode = new __XmlNode(\"TargetGrants\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.TargetPrefix !== undefined && input.TargetPrefix !== null) {\n const node = new __XmlNode(\"TargetPrefix\").addChildNode(new __XmlText(input.TargetPrefix)).withName(\"TargetPrefix\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlMetadataEntry = (input: MetadataEntry, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"MetadataEntry\");\n if (input.Name !== undefined && input.Name !== null) {\n const node = new __XmlNode(\"MetadataKey\").addChildNode(new __XmlText(input.Name)).withName(\"Name\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n const node = new __XmlNode(\"MetadataValue\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlMetrics = (input: Metrics, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Metrics\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"MetricsStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.EventThreshold !== undefined && input.EventThreshold !== null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.EventThreshold, context).withName(\"EventThreshold\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlMetricsAndOperator = (input: MetricsAndOperator, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"MetricsAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlMetricsConfiguration = (input: MetricsConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"MetricsConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"MetricsId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlMetricsFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlMetricsFilter = (input: MetricsFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"MetricsFilter\");\n MetricsFilter.visit(input, {\n Prefix: (value) => {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlMetricsAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name: string, value: any) => {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\n\nconst serializeAws_restXmlNoncurrentVersionExpiration = (\n input: NoncurrentVersionExpiration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"NoncurrentVersionExpiration\");\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n const node = new __XmlNode(\"Days\")\n .addChildNode(new __XmlText(String(input.NoncurrentDays)))\n .withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlNoncurrentVersionTransition = (\n input: NoncurrentVersionTransition,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"NoncurrentVersionTransition\");\n if (input.NoncurrentDays !== undefined && input.NoncurrentDays !== null) {\n const node = new __XmlNode(\"Days\")\n .addChildNode(new __XmlText(String(input.NoncurrentDays)))\n .withName(\"NoncurrentDays\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n const node = new __XmlNode(\"TransitionStorageClass\")\n .addChildNode(new __XmlText(input.StorageClass))\n .withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlNoncurrentVersionTransitionList = (\n input: NoncurrentVersionTransition[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlNoncurrentVersionTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlNotificationConfiguration = (\n input: NotificationConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"NotificationConfiguration\");\n if (input.TopicConfigurations !== undefined && input.TopicConfigurations !== null) {\n const nodes = serializeAws_restXmlTopicConfigurationList(input.TopicConfigurations, context);\n nodes.map((node: any) => {\n node = node.withName(\"TopicConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.QueueConfigurations !== undefined && input.QueueConfigurations !== null) {\n const nodes = serializeAws_restXmlQueueConfigurationList(input.QueueConfigurations, context);\n nodes.map((node: any) => {\n node = node.withName(\"QueueConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.LambdaFunctionConfigurations !== undefined && input.LambdaFunctionConfigurations !== null) {\n const nodes = serializeAws_restXmlLambdaFunctionConfigurationList(input.LambdaFunctionConfigurations, context);\n nodes.map((node: any) => {\n node = node.withName(\"CloudFunctionConfiguration\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlNotificationConfigurationFilter = (\n input: NotificationConfigurationFilter,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"NotificationConfigurationFilter\");\n if (input.Key !== undefined && input.Key !== null) {\n const node = serializeAws_restXmlS3KeyFilter(input.Key, context).withName(\"S3Key\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlObjectIdentifier = (input: ObjectIdentifier, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ObjectIdentifier\");\n if (input.Key !== undefined && input.Key !== null) {\n const node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.VersionId !== undefined && input.VersionId !== null) {\n const node = new __XmlNode(\"ObjectVersionId\").addChildNode(new __XmlText(input.VersionId)).withName(\"VersionId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlObjectIdentifierList = (input: ObjectIdentifier[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlObjectIdentifier(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlObjectLockConfiguration = (input: ObjectLockConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ObjectLockConfiguration\");\n if (input.ObjectLockEnabled !== undefined && input.ObjectLockEnabled !== null) {\n const node = new __XmlNode(\"ObjectLockEnabled\")\n .addChildNode(new __XmlText(input.ObjectLockEnabled))\n .withName(\"ObjectLockEnabled\");\n bodyNode.addChildNode(node);\n }\n if (input.Rule !== undefined && input.Rule !== null) {\n const node = serializeAws_restXmlObjectLockRule(input.Rule, context).withName(\"Rule\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlObjectLockLegalHold = (input: ObjectLockLegalHold, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ObjectLockLegalHold\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ObjectLockLegalHoldStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlObjectLockRetention = (input: ObjectLockRetention, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ObjectLockRetention\");\n if (input.Mode !== undefined && input.Mode !== null) {\n const node = new __XmlNode(\"ObjectLockRetentionMode\").addChildNode(new __XmlText(input.Mode)).withName(\"Mode\");\n bodyNode.addChildNode(node);\n }\n if (input.RetainUntilDate !== undefined && input.RetainUntilDate !== null) {\n const node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.RetainUntilDate.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"RetainUntilDate\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlObjectLockRule = (input: ObjectLockRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ObjectLockRule\");\n if (input.DefaultRetention !== undefined && input.DefaultRetention !== null) {\n const node = serializeAws_restXmlDefaultRetention(input.DefaultRetention, context).withName(\"DefaultRetention\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOutputLocation = (input: OutputLocation, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"OutputLocation\");\n if (input.S3 !== undefined && input.S3 !== null) {\n const node = serializeAws_restXmlS3Location(input.S3, context).withName(\"S3\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOutputSerialization = (input: OutputSerialization, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"OutputSerialization\");\n if (input.CSV !== undefined && input.CSV !== null) {\n const node = serializeAws_restXmlCSVOutput(input.CSV, context).withName(\"CSV\");\n bodyNode.addChildNode(node);\n }\n if (input.JSON !== undefined && input.JSON !== null) {\n const node = serializeAws_restXmlJSONOutput(input.JSON, context).withName(\"JSON\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOwner = (input: Owner, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Owner\");\n if (input.DisplayName !== undefined && input.DisplayName !== null) {\n const node = new __XmlNode(\"DisplayName\").addChildNode(new __XmlText(input.DisplayName)).withName(\"DisplayName\");\n bodyNode.addChildNode(node);\n }\n if (input.ID !== undefined && input.ID !== null) {\n const node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOwnershipControls = (input: OwnershipControls, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"OwnershipControls\");\n if (input.Rules !== undefined && input.Rules !== null) {\n const nodes = serializeAws_restXmlOwnershipControlsRules(input.Rules, context);\n nodes.map((node: any) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOwnershipControlsRule = (input: OwnershipControlsRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"OwnershipControlsRule\");\n if (input.ObjectOwnership !== undefined && input.ObjectOwnership !== null) {\n const node = new __XmlNode(\"ObjectOwnership\")\n .addChildNode(new __XmlText(input.ObjectOwnership))\n .withName(\"ObjectOwnership\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlOwnershipControlsRules = (input: OwnershipControlsRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlOwnershipControlsRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlParquetInput = (input: ParquetInput, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ParquetInput\");\n return bodyNode;\n};\n\nconst serializeAws_restXmlPublicAccessBlockConfiguration = (\n input: PublicAccessBlockConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"PublicAccessBlockConfiguration\");\n if (input.BlockPublicAcls !== undefined && input.BlockPublicAcls !== null) {\n const node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.BlockPublicAcls)))\n .withName(\"BlockPublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.IgnorePublicAcls !== undefined && input.IgnorePublicAcls !== null) {\n const node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.IgnorePublicAcls)))\n .withName(\"IgnorePublicAcls\");\n bodyNode.addChildNode(node);\n }\n if (input.BlockPublicPolicy !== undefined && input.BlockPublicPolicy !== null) {\n const node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.BlockPublicPolicy)))\n .withName(\"BlockPublicPolicy\");\n bodyNode.addChildNode(node);\n }\n if (input.RestrictPublicBuckets !== undefined && input.RestrictPublicBuckets !== null) {\n const node = new __XmlNode(\"Setting\")\n .addChildNode(new __XmlText(String(input.RestrictPublicBuckets)))\n .withName(\"RestrictPublicBuckets\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlQueueConfiguration = (input: QueueConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"QueueConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.QueueArn !== undefined && input.QueueArn !== null) {\n const node = new __XmlNode(\"QueueArn\").addChildNode(new __XmlText(input.QueueArn)).withName(\"Queue\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node: any) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlQueueConfigurationList = (input: QueueConfiguration[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlQueueConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlRedirect = (input: Redirect, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Redirect\");\n if (input.HostName !== undefined && input.HostName !== null) {\n const node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.HttpRedirectCode !== undefined && input.HttpRedirectCode !== null) {\n const node = new __XmlNode(\"HttpRedirectCode\")\n .addChildNode(new __XmlText(input.HttpRedirectCode))\n .withName(\"HttpRedirectCode\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol !== undefined && input.Protocol !== null) {\n const node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyPrefixWith !== undefined && input.ReplaceKeyPrefixWith !== null) {\n const node = new __XmlNode(\"ReplaceKeyPrefixWith\")\n .addChildNode(new __XmlText(input.ReplaceKeyPrefixWith))\n .withName(\"ReplaceKeyPrefixWith\");\n bodyNode.addChildNode(node);\n }\n if (input.ReplaceKeyWith !== undefined && input.ReplaceKeyWith !== null) {\n const node = new __XmlNode(\"ReplaceKeyWith\")\n .addChildNode(new __XmlText(input.ReplaceKeyWith))\n .withName(\"ReplaceKeyWith\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRedirectAllRequestsTo = (input: RedirectAllRequestsTo, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"RedirectAllRequestsTo\");\n if (input.HostName !== undefined && input.HostName !== null) {\n const node = new __XmlNode(\"HostName\").addChildNode(new __XmlText(input.HostName)).withName(\"HostName\");\n bodyNode.addChildNode(node);\n }\n if (input.Protocol !== undefined && input.Protocol !== null) {\n const node = new __XmlNode(\"Protocol\").addChildNode(new __XmlText(input.Protocol)).withName(\"Protocol\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicaModifications = (input: ReplicaModifications, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ReplicaModifications\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ReplicaModificationsStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationConfiguration = (\n input: ReplicationConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ReplicationConfiguration\");\n if (input.Role !== undefined && input.Role !== null) {\n const node = new __XmlNode(\"Role\").addChildNode(new __XmlText(input.Role)).withName(\"Role\");\n bodyNode.addChildNode(node);\n }\n if (input.Rules !== undefined && input.Rules !== null) {\n const nodes = serializeAws_restXmlReplicationRules(input.Rules, context);\n nodes.map((node: any) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationRule = (input: ReplicationRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ReplicationRule\");\n if (input.ID !== undefined && input.ID !== null) {\n const node = new __XmlNode(\"ID\").addChildNode(new __XmlText(input.ID)).withName(\"ID\");\n bodyNode.addChildNode(node);\n }\n if (input.Priority !== undefined && input.Priority !== null) {\n const node = new __XmlNode(\"Priority\").addChildNode(new __XmlText(String(input.Priority))).withName(\"Priority\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlReplicationRuleFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ReplicationRuleStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.SourceSelectionCriteria !== undefined && input.SourceSelectionCriteria !== null) {\n const node = serializeAws_restXmlSourceSelectionCriteria(input.SourceSelectionCriteria, context).withName(\n \"SourceSelectionCriteria\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.ExistingObjectReplication !== undefined && input.ExistingObjectReplication !== null) {\n const node = serializeAws_restXmlExistingObjectReplication(input.ExistingObjectReplication, context).withName(\n \"ExistingObjectReplication\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.Destination !== undefined && input.Destination !== null) {\n const node = serializeAws_restXmlDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n if (input.DeleteMarkerReplication !== undefined && input.DeleteMarkerReplication !== null) {\n const node = serializeAws_restXmlDeleteMarkerReplication(input.DeleteMarkerReplication, context).withName(\n \"DeleteMarkerReplication\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationRuleAndOperator = (\n input: ReplicationRuleAndOperator,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ReplicationRuleAndOperator\");\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Tags !== undefined && input.Tags !== null) {\n const nodes = serializeAws_restXmlTagSet(input.Tags, context);\n nodes.map((node: any) => {\n node = node.withName(\"Tag\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationRuleFilter = (input: ReplicationRuleFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ReplicationRuleFilter\");\n ReplicationRuleFilter.visit(input, {\n Prefix: (value) => {\n const node = new __XmlNode(\"Prefix\").addChildNode(new __XmlText(value)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n },\n Tag: (value) => {\n const node = serializeAws_restXmlTag(value, context).withName(\"Tag\");\n bodyNode.addChildNode(node);\n },\n And: (value) => {\n const node = serializeAws_restXmlReplicationRuleAndOperator(value, context).withName(\"And\");\n bodyNode.addChildNode(node);\n },\n _: (name: string, value: any) => {\n if (!(value instanceof __XmlNode || value instanceof __XmlText)) {\n throw new Error(\"Unable to serialize unknown union members in XML.\");\n }\n bodyNode.addChildNode(new __XmlNode(name).addChildNode(value));\n },\n });\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationRules = (input: ReplicationRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlReplicationRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlReplicationTime = (input: ReplicationTime, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ReplicationTime\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"ReplicationTimeStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n if (input.Time !== undefined && input.Time !== null) {\n const node = serializeAws_restXmlReplicationTimeValue(input.Time, context).withName(\"Time\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlReplicationTimeValue = (input: ReplicationTimeValue, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ReplicationTimeValue\");\n if (input.Minutes !== undefined && input.Minutes !== null) {\n const node = new __XmlNode(\"Minutes\").addChildNode(new __XmlText(String(input.Minutes))).withName(\"Minutes\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRequestPaymentConfiguration = (\n input: RequestPaymentConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"RequestPaymentConfiguration\");\n if (input.Payer !== undefined && input.Payer !== null) {\n const node = new __XmlNode(\"Payer\").addChildNode(new __XmlText(input.Payer)).withName(\"Payer\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRequestProgress = (input: RequestProgress, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"RequestProgress\");\n if (input.Enabled !== undefined && input.Enabled !== null) {\n const node = new __XmlNode(\"EnableRequestProgress\")\n .addChildNode(new __XmlText(String(input.Enabled)))\n .withName(\"Enabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRestoreRequest = (input: RestoreRequest, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"RestoreRequest\");\n if (input.Days !== undefined && input.Days !== null) {\n const node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.GlacierJobParameters !== undefined && input.GlacierJobParameters !== null) {\n const node = serializeAws_restXmlGlacierJobParameters(input.GlacierJobParameters, context).withName(\n \"GlacierJobParameters\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.Type !== undefined && input.Type !== null) {\n const node = new __XmlNode(\"RestoreRequestType\").addChildNode(new __XmlText(input.Type)).withName(\"Type\");\n bodyNode.addChildNode(node);\n }\n if (input.Tier !== undefined && input.Tier !== null) {\n const node = new __XmlNode(\"Tier\").addChildNode(new __XmlText(input.Tier)).withName(\"Tier\");\n bodyNode.addChildNode(node);\n }\n if (input.Description !== undefined && input.Description !== null) {\n const node = new __XmlNode(\"Description\").addChildNode(new __XmlText(input.Description)).withName(\"Description\");\n bodyNode.addChildNode(node);\n }\n if (input.SelectParameters !== undefined && input.SelectParameters !== null) {\n const node = serializeAws_restXmlSelectParameters(input.SelectParameters, context).withName(\"SelectParameters\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputLocation !== undefined && input.OutputLocation !== null) {\n const node = serializeAws_restXmlOutputLocation(input.OutputLocation, context).withName(\"OutputLocation\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRoutingRule = (input: RoutingRule, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"RoutingRule\");\n if (input.Condition !== undefined && input.Condition !== null) {\n const node = serializeAws_restXmlCondition(input.Condition, context).withName(\"Condition\");\n bodyNode.addChildNode(node);\n }\n if (input.Redirect !== undefined && input.Redirect !== null) {\n const node = serializeAws_restXmlRedirect(input.Redirect, context).withName(\"Redirect\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlRoutingRules = (input: RoutingRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlRoutingRule(entry, context);\n return node.withName(\"RoutingRule\");\n });\n};\n\nconst serializeAws_restXmlS3KeyFilter = (input: S3KeyFilter, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"S3KeyFilter\");\n if (input.FilterRules !== undefined && input.FilterRules !== null) {\n const nodes = serializeAws_restXmlFilterRuleList(input.FilterRules, context);\n nodes.map((node: any) => {\n node = node.withName(\"FilterRule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlS3Location = (input: S3Location, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"S3Location\");\n if (input.BucketName !== undefined && input.BucketName !== null) {\n const node = new __XmlNode(\"BucketName\").addChildNode(new __XmlText(input.BucketName)).withName(\"BucketName\");\n bodyNode.addChildNode(node);\n }\n if (input.Prefix !== undefined && input.Prefix !== null) {\n const node = new __XmlNode(\"LocationPrefix\").addChildNode(new __XmlText(input.Prefix)).withName(\"Prefix\");\n bodyNode.addChildNode(node);\n }\n if (input.Encryption !== undefined && input.Encryption !== null) {\n const node = serializeAws_restXmlEncryption(input.Encryption, context).withName(\"Encryption\");\n bodyNode.addChildNode(node);\n }\n if (input.CannedACL !== undefined && input.CannedACL !== null) {\n const node = new __XmlNode(\"ObjectCannedACL\").addChildNode(new __XmlText(input.CannedACL)).withName(\"CannedACL\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessControlList !== undefined && input.AccessControlList !== null) {\n const nodes = serializeAws_restXmlGrants(input.AccessControlList, context);\n const containerNode = new __XmlNode(\"AccessControlList\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.Tagging !== undefined && input.Tagging !== null) {\n const node = serializeAws_restXmlTagging(input.Tagging, context).withName(\"Tagging\");\n bodyNode.addChildNode(node);\n }\n if (input.UserMetadata !== undefined && input.UserMetadata !== null) {\n const nodes = serializeAws_restXmlUserMetadata(input.UserMetadata, context);\n const containerNode = new __XmlNode(\"UserMetadata\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n const node = new __XmlNode(\"StorageClass\").addChildNode(new __XmlText(input.StorageClass)).withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlScanRange = (input: ScanRange, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"ScanRange\");\n if (input.Start !== undefined && input.Start !== null) {\n const node = new __XmlNode(\"Start\").addChildNode(new __XmlText(String(input.Start))).withName(\"Start\");\n bodyNode.addChildNode(node);\n }\n if (input.End !== undefined && input.End !== null) {\n const node = new __XmlNode(\"End\").addChildNode(new __XmlText(String(input.End))).withName(\"End\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlSelectParameters = (input: SelectParameters, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"SelectParameters\");\n if (input.InputSerialization !== undefined && input.InputSerialization !== null) {\n const node = serializeAws_restXmlInputSerialization(input.InputSerialization, context).withName(\n \"InputSerialization\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.ExpressionType !== undefined && input.ExpressionType !== null) {\n const node = new __XmlNode(\"ExpressionType\")\n .addChildNode(new __XmlText(input.ExpressionType))\n .withName(\"ExpressionType\");\n bodyNode.addChildNode(node);\n }\n if (input.Expression !== undefined && input.Expression !== null) {\n const node = new __XmlNode(\"Expression\").addChildNode(new __XmlText(input.Expression)).withName(\"Expression\");\n bodyNode.addChildNode(node);\n }\n if (input.OutputSerialization !== undefined && input.OutputSerialization !== null) {\n const node = serializeAws_restXmlOutputSerialization(input.OutputSerialization, context).withName(\n \"OutputSerialization\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlServerSideEncryptionByDefault = (\n input: ServerSideEncryptionByDefault,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ServerSideEncryptionByDefault\");\n if (input.SSEAlgorithm !== undefined && input.SSEAlgorithm !== null) {\n const node = new __XmlNode(\"ServerSideEncryption\")\n .addChildNode(new __XmlText(input.SSEAlgorithm))\n .withName(\"SSEAlgorithm\");\n bodyNode.addChildNode(node);\n }\n if (input.KMSMasterKeyID !== undefined && input.KMSMasterKeyID !== null) {\n const node = new __XmlNode(\"SSEKMSKeyId\")\n .addChildNode(new __XmlText(input.KMSMasterKeyID))\n .withName(\"KMSMasterKeyID\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlServerSideEncryptionConfiguration = (\n input: ServerSideEncryptionConfiguration,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ServerSideEncryptionConfiguration\");\n if (input.Rules !== undefined && input.Rules !== null) {\n const nodes = serializeAws_restXmlServerSideEncryptionRules(input.Rules, context);\n nodes.map((node: any) => {\n node = node.withName(\"Rule\");\n bodyNode.addChildNode(node);\n });\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlServerSideEncryptionRule = (\n input: ServerSideEncryptionRule,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"ServerSideEncryptionRule\");\n if (input.ApplyServerSideEncryptionByDefault !== undefined && input.ApplyServerSideEncryptionByDefault !== null) {\n const node = serializeAws_restXmlServerSideEncryptionByDefault(\n input.ApplyServerSideEncryptionByDefault,\n context\n ).withName(\"ApplyServerSideEncryptionByDefault\");\n bodyNode.addChildNode(node);\n }\n if (input.BucketKeyEnabled !== undefined && input.BucketKeyEnabled !== null) {\n const node = new __XmlNode(\"BucketKeyEnabled\")\n .addChildNode(new __XmlText(String(input.BucketKeyEnabled)))\n .withName(\"BucketKeyEnabled\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlServerSideEncryptionRules = (\n input: ServerSideEncryptionRule[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlServerSideEncryptionRule(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlSourceSelectionCriteria = (input: SourceSelectionCriteria, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"SourceSelectionCriteria\");\n if (input.SseKmsEncryptedObjects !== undefined && input.SseKmsEncryptedObjects !== null) {\n const node = serializeAws_restXmlSseKmsEncryptedObjects(input.SseKmsEncryptedObjects, context).withName(\n \"SseKmsEncryptedObjects\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.ReplicaModifications !== undefined && input.ReplicaModifications !== null) {\n const node = serializeAws_restXmlReplicaModifications(input.ReplicaModifications, context).withName(\n \"ReplicaModifications\"\n );\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlSSEKMS = (input: SSEKMS, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"SSE-KMS\");\n if (input.KeyId !== undefined && input.KeyId !== null) {\n const node = new __XmlNode(\"SSEKMSKeyId\").addChildNode(new __XmlText(input.KeyId)).withName(\"KeyId\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlSseKmsEncryptedObjects = (input: SseKmsEncryptedObjects, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"SseKmsEncryptedObjects\");\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"SseKmsEncryptedObjectsStatus\")\n .addChildNode(new __XmlText(input.Status))\n .withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlSSES3 = (input: SSES3, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"SSE-S3\");\n return bodyNode;\n};\n\nconst serializeAws_restXmlStorageClassAnalysis = (input: StorageClassAnalysis, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"StorageClassAnalysis\");\n if (input.DataExport !== undefined && input.DataExport !== null) {\n const node = serializeAws_restXmlStorageClassAnalysisDataExport(input.DataExport, context).withName(\"DataExport\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlStorageClassAnalysisDataExport = (\n input: StorageClassAnalysisDataExport,\n context: __SerdeContext\n): any => {\n const bodyNode = new __XmlNode(\"StorageClassAnalysisDataExport\");\n if (input.OutputSchemaVersion !== undefined && input.OutputSchemaVersion !== null) {\n const node = new __XmlNode(\"StorageClassAnalysisSchemaVersion\")\n .addChildNode(new __XmlText(input.OutputSchemaVersion))\n .withName(\"OutputSchemaVersion\");\n bodyNode.addChildNode(node);\n }\n if (input.Destination !== undefined && input.Destination !== null) {\n const node = serializeAws_restXmlAnalyticsExportDestination(input.Destination, context).withName(\"Destination\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTag = (input: Tag, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Tag\");\n if (input.Key !== undefined && input.Key !== null) {\n const node = new __XmlNode(\"ObjectKey\").addChildNode(new __XmlText(input.Key)).withName(\"Key\");\n bodyNode.addChildNode(node);\n }\n if (input.Value !== undefined && input.Value !== null) {\n const node = new __XmlNode(\"Value\").addChildNode(new __XmlText(input.Value)).withName(\"Value\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTagging = (input: Tagging, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Tagging\");\n if (input.TagSet !== undefined && input.TagSet !== null) {\n const nodes = serializeAws_restXmlTagSet(input.TagSet, context);\n const containerNode = new __XmlNode(\"TagSet\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTagSet = (input: Tag[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlTag(entry, context);\n return node.withName(\"Tag\");\n });\n};\n\nconst serializeAws_restXmlTargetGrant = (input: TargetGrant, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"TargetGrant\");\n if (input.Grantee !== undefined && input.Grantee !== null) {\n const node = serializeAws_restXmlGrantee(input.Grantee, context).withName(\"Grantee\");\n bodyNode.addChildNode(node);\n }\n if (input.Permission !== undefined && input.Permission !== null) {\n const node = new __XmlNode(\"BucketLogsPermission\")\n .addChildNode(new __XmlText(input.Permission))\n .withName(\"Permission\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTargetGrants = (input: TargetGrant[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlTargetGrant(entry, context);\n return node.withName(\"Grant\");\n });\n};\n\nconst serializeAws_restXmlTiering = (input: Tiering, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Tiering\");\n if (input.Days !== undefined && input.Days !== null) {\n const node = new __XmlNode(\"IntelligentTieringDays\")\n .addChildNode(new __XmlText(String(input.Days)))\n .withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.AccessTier !== undefined && input.AccessTier !== null) {\n const node = new __XmlNode(\"IntelligentTieringAccessTier\")\n .addChildNode(new __XmlText(input.AccessTier))\n .withName(\"AccessTier\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTieringList = (input: Tiering[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlTiering(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlTopicConfiguration = (input: TopicConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"TopicConfiguration\");\n if (input.Id !== undefined && input.Id !== null) {\n const node = new __XmlNode(\"NotificationId\").addChildNode(new __XmlText(input.Id)).withName(\"Id\");\n bodyNode.addChildNode(node);\n }\n if (input.TopicArn !== undefined && input.TopicArn !== null) {\n const node = new __XmlNode(\"TopicArn\").addChildNode(new __XmlText(input.TopicArn)).withName(\"Topic\");\n bodyNode.addChildNode(node);\n }\n if (input.Events !== undefined && input.Events !== null) {\n const nodes = serializeAws_restXmlEventList(input.Events, context);\n nodes.map((node: any) => {\n node = node.withName(\"Event\");\n bodyNode.addChildNode(node);\n });\n }\n if (input.Filter !== undefined && input.Filter !== null) {\n const node = serializeAws_restXmlNotificationConfigurationFilter(input.Filter, context).withName(\"Filter\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTopicConfigurationList = (input: TopicConfiguration[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlTopicConfiguration(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlTransition = (input: Transition, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"Transition\");\n if (input.Date !== undefined && input.Date !== null) {\n const node = new __XmlNode(\"Date\")\n .addChildNode(new __XmlText(input.Date.toISOString().split(\".\")[0] + \"Z\"))\n .withName(\"Date\");\n bodyNode.addChildNode(node);\n }\n if (input.Days !== undefined && input.Days !== null) {\n const node = new __XmlNode(\"Days\").addChildNode(new __XmlText(String(input.Days))).withName(\"Days\");\n bodyNode.addChildNode(node);\n }\n if (input.StorageClass !== undefined && input.StorageClass !== null) {\n const node = new __XmlNode(\"TransitionStorageClass\")\n .addChildNode(new __XmlText(input.StorageClass))\n .withName(\"StorageClass\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlTransitionList = (input: Transition[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlTransition(entry, context);\n return node.withName(\"member\");\n });\n};\n\nconst serializeAws_restXmlUserMetadata = (input: MetadataEntry[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n const node = serializeAws_restXmlMetadataEntry(entry, context);\n return node.withName(\"MetadataEntry\");\n });\n};\n\nconst serializeAws_restXmlVersioningConfiguration = (input: VersioningConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"VersioningConfiguration\");\n if (input.MFADelete !== undefined && input.MFADelete !== null) {\n const node = new __XmlNode(\"MFADelete\").addChildNode(new __XmlText(input.MFADelete)).withName(\"MfaDelete\");\n bodyNode.addChildNode(node);\n }\n if (input.Status !== undefined && input.Status !== null) {\n const node = new __XmlNode(\"BucketVersioningStatus\").addChildNode(new __XmlText(input.Status)).withName(\"Status\");\n bodyNode.addChildNode(node);\n }\n return bodyNode;\n};\n\nconst serializeAws_restXmlWebsiteConfiguration = (input: WebsiteConfiguration, context: __SerdeContext): any => {\n const bodyNode = new __XmlNode(\"WebsiteConfiguration\");\n if (input.ErrorDocument !== undefined && input.ErrorDocument !== null) {\n const node = serializeAws_restXmlErrorDocument(input.ErrorDocument, context).withName(\"ErrorDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.IndexDocument !== undefined && input.IndexDocument !== null) {\n const node = serializeAws_restXmlIndexDocument(input.IndexDocument, context).withName(\"IndexDocument\");\n bodyNode.addChildNode(node);\n }\n if (input.RedirectAllRequestsTo !== undefined && input.RedirectAllRequestsTo !== null) {\n const node = serializeAws_restXmlRedirectAllRequestsTo(input.RedirectAllRequestsTo, context).withName(\n \"RedirectAllRequestsTo\"\n );\n bodyNode.addChildNode(node);\n }\n if (input.RoutingRules !== undefined && input.RoutingRules !== null) {\n const nodes = serializeAws_restXmlRoutingRules(input.RoutingRules, context);\n const containerNode = new __XmlNode(\"RoutingRules\");\n nodes.map((node: any) => {\n containerNode.addChildNode(node);\n });\n bodyNode.addChildNode(containerNode);\n }\n return bodyNode;\n};\n\nconst deserializeAws_restXmlAbortIncompleteMultipartUpload = (\n output: any,\n context: __SerdeContext\n): AbortIncompleteMultipartUpload => {\n let contents: any = {\n DaysAfterInitiation: undefined,\n };\n if (output[\"DaysAfterInitiation\"] !== undefined) {\n contents.DaysAfterInitiation = parseInt(output[\"DaysAfterInitiation\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlAccessControlTranslation = (\n output: any,\n context: __SerdeContext\n): AccessControlTranslation => {\n let contents: any = {\n Owner: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = output[\"Owner\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlAllowedHeaders = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlAllowedMethods = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlAllowedOrigins = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlAnalyticsAndOperator = (output: any, context: __SerdeContext): AnalyticsAndOperator => {\n let contents: any = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlAnalyticsConfiguration = (output: any, context: __SerdeContext): AnalyticsConfiguration => {\n let contents: any = {\n Id: undefined,\n Filter: undefined,\n StorageClassAnalysis: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlAnalyticsFilter(output[\"Filter\"], context);\n }\n if (output[\"StorageClassAnalysis\"] !== undefined) {\n contents.StorageClassAnalysis = deserializeAws_restXmlStorageClassAnalysis(output[\"StorageClassAnalysis\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlAnalyticsConfigurationList = (\n output: any,\n context: __SerdeContext\n): AnalyticsConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlAnalyticsConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlAnalyticsExportDestination = (\n output: any,\n context: __SerdeContext\n): AnalyticsExportDestination => {\n let contents: any = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlAnalyticsS3BucketDestination(\n output[\"S3BucketDestination\"],\n context\n );\n }\n return contents;\n};\n\nconst deserializeAws_restXmlAnalyticsFilter = (output: any, context: __SerdeContext): AnalyticsFilter => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlAnalyticsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\n\nconst deserializeAws_restXmlAnalyticsS3BucketDestination = (\n output: any,\n context: __SerdeContext\n): AnalyticsS3BucketDestination => {\n let contents: any = {\n Format: undefined,\n BucketAccountId: undefined,\n Bucket: undefined,\n Prefix: undefined,\n };\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n if (output[\"BucketAccountId\"] !== undefined) {\n contents.BucketAccountId = output[\"BucketAccountId\"];\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlBucket = (output: any, context: __SerdeContext): Bucket => {\n let contents: any = {\n Name: undefined,\n CreationDate: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n if (output[\"CreationDate\"] !== undefined) {\n contents.CreationDate = new Date(output[\"CreationDate\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlBuckets = (output: any, context: __SerdeContext): Bucket[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlBucket(entry, context);\n });\n};\n\nconst deserializeAws_restXmlCommonPrefix = (output: any, context: __SerdeContext): CommonPrefix => {\n let contents: any = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlCommonPrefixList = (output: any, context: __SerdeContext): CommonPrefix[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlCommonPrefix(entry, context);\n });\n};\n\nconst deserializeAws_restXmlCondition = (output: any, context: __SerdeContext): Condition => {\n let contents: any = {\n HttpErrorCodeReturnedEquals: undefined,\n KeyPrefixEquals: undefined,\n };\n if (output[\"HttpErrorCodeReturnedEquals\"] !== undefined) {\n contents.HttpErrorCodeReturnedEquals = output[\"HttpErrorCodeReturnedEquals\"];\n }\n if (output[\"KeyPrefixEquals\"] !== undefined) {\n contents.KeyPrefixEquals = output[\"KeyPrefixEquals\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlCopyObjectResult = (output: any, context: __SerdeContext): CopyObjectResult => {\n let contents: any = {\n ETag: undefined,\n LastModified: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlCopyPartResult = (output: any, context: __SerdeContext): CopyPartResult => {\n let contents: any = {\n ETag: undefined,\n LastModified: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlCORSRule = (output: any, context: __SerdeContext): CORSRule => {\n let contents: any = {\n AllowedHeaders: undefined,\n AllowedMethods: undefined,\n AllowedOrigins: undefined,\n ExposeHeaders: undefined,\n MaxAgeSeconds: undefined,\n };\n if (output.AllowedHeader === \"\") {\n contents.AllowedHeaders = [];\n }\n if (output[\"AllowedHeader\"] !== undefined) {\n contents.AllowedHeaders = deserializeAws_restXmlAllowedHeaders(\n __getArrayIfSingleItem(output[\"AllowedHeader\"]),\n context\n );\n }\n if (output.AllowedMethod === \"\") {\n contents.AllowedMethods = [];\n }\n if (output[\"AllowedMethod\"] !== undefined) {\n contents.AllowedMethods = deserializeAws_restXmlAllowedMethods(\n __getArrayIfSingleItem(output[\"AllowedMethod\"]),\n context\n );\n }\n if (output.AllowedOrigin === \"\") {\n contents.AllowedOrigins = [];\n }\n if (output[\"AllowedOrigin\"] !== undefined) {\n contents.AllowedOrigins = deserializeAws_restXmlAllowedOrigins(\n __getArrayIfSingleItem(output[\"AllowedOrigin\"]),\n context\n );\n }\n if (output.ExposeHeader === \"\") {\n contents.ExposeHeaders = [];\n }\n if (output[\"ExposeHeader\"] !== undefined) {\n contents.ExposeHeaders = deserializeAws_restXmlExposeHeaders(\n __getArrayIfSingleItem(output[\"ExposeHeader\"]),\n context\n );\n }\n if (output[\"MaxAgeSeconds\"] !== undefined) {\n contents.MaxAgeSeconds = parseInt(output[\"MaxAgeSeconds\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlCORSRules = (output: any, context: __SerdeContext): CORSRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlCORSRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlDefaultRetention = (output: any, context: __SerdeContext): DefaultRetention => {\n let contents: any = {\n Mode: undefined,\n Days: undefined,\n Years: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"Years\"] !== undefined) {\n contents.Years = parseInt(output[\"Years\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlDeletedObject = (output: any, context: __SerdeContext): DeletedObject => {\n let contents: any = {\n Key: undefined,\n VersionId: undefined,\n DeleteMarker: undefined,\n DeleteMarkerVersionId: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"DeleteMarker\"] !== undefined) {\n contents.DeleteMarker = output[\"DeleteMarker\"] == \"true\";\n }\n if (output[\"DeleteMarkerVersionId\"] !== undefined) {\n contents.DeleteMarkerVersionId = output[\"DeleteMarkerVersionId\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlDeletedObjects = (output: any, context: __SerdeContext): DeletedObject[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlDeletedObject(entry, context);\n });\n};\n\nconst deserializeAws_restXmlDeleteMarkerEntry = (output: any, context: __SerdeContext): DeleteMarkerEntry => {\n let contents: any = {\n Owner: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n };\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlDeleteMarkerReplication = (\n output: any,\n context: __SerdeContext\n): DeleteMarkerReplication => {\n let contents: any = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlDeleteMarkers = (output: any, context: __SerdeContext): DeleteMarkerEntry[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlDeleteMarkerEntry(entry, context);\n });\n};\n\nconst deserializeAws_restXmlDestination = (output: any, context: __SerdeContext): Destination => {\n let contents: any = {\n Bucket: undefined,\n Account: undefined,\n StorageClass: undefined,\n AccessControlTranslation: undefined,\n EncryptionConfiguration: undefined,\n ReplicationTime: undefined,\n Metrics: undefined,\n };\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Account\"] !== undefined) {\n contents.Account = output[\"Account\"];\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"AccessControlTranslation\"] !== undefined) {\n contents.AccessControlTranslation = deserializeAws_restXmlAccessControlTranslation(\n output[\"AccessControlTranslation\"],\n context\n );\n }\n if (output[\"EncryptionConfiguration\"] !== undefined) {\n contents.EncryptionConfiguration = deserializeAws_restXmlEncryptionConfiguration(\n output[\"EncryptionConfiguration\"],\n context\n );\n }\n if (output[\"ReplicationTime\"] !== undefined) {\n contents.ReplicationTime = deserializeAws_restXmlReplicationTime(output[\"ReplicationTime\"], context);\n }\n if (output[\"Metrics\"] !== undefined) {\n contents.Metrics = deserializeAws_restXmlMetrics(output[\"Metrics\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlEncryptionConfiguration = (\n output: any,\n context: __SerdeContext\n): EncryptionConfiguration => {\n let contents: any = {\n ReplicaKmsKeyID: undefined,\n };\n if (output[\"ReplicaKmsKeyID\"] !== undefined) {\n contents.ReplicaKmsKeyID = output[\"ReplicaKmsKeyID\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXml_Error = (output: any, context: __SerdeContext): _Error => {\n let contents: any = {\n Key: undefined,\n VersionId: undefined,\n Code: undefined,\n Message: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"Code\"] !== undefined) {\n contents.Code = output[\"Code\"];\n }\n if (output[\"Message\"] !== undefined) {\n contents.Message = output[\"Message\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlErrorDocument = (output: any, context: __SerdeContext): ErrorDocument => {\n let contents: any = {\n Key: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlErrors = (output: any, context: __SerdeContext): _Error[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXml_Error(entry, context);\n });\n};\n\nconst deserializeAws_restXmlEventList = (output: any, context: __SerdeContext): (Event | string)[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlExistingObjectReplication = (\n output: any,\n context: __SerdeContext\n): ExistingObjectReplication => {\n let contents: any = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlExposeHeaders = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlFilterRule = (output: any, context: __SerdeContext): FilterRule => {\n let contents: any = {\n Name: undefined,\n Value: undefined,\n };\n if (output[\"Name\"] !== undefined) {\n contents.Name = output[\"Name\"];\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlFilterRuleList = (output: any, context: __SerdeContext): FilterRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlFilterRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlGrant = (output: any, context: __SerdeContext): Grant => {\n let contents: any = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlGrantee = (output: any, context: __SerdeContext): Grantee => {\n let contents: any = {\n DisplayName: undefined,\n EmailAddress: undefined,\n ID: undefined,\n URI: undefined,\n Type: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n if (output[\"EmailAddress\"] !== undefined) {\n contents.EmailAddress = output[\"EmailAddress\"];\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"URI\"] !== undefined) {\n contents.URI = output[\"URI\"];\n }\n if (output[\"xsi:type\"] !== undefined) {\n contents.Type = output[\"xsi:type\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlGrants = (output: any, context: __SerdeContext): Grant[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlGrant(entry, context);\n });\n};\n\nconst deserializeAws_restXmlIndexDocument = (output: any, context: __SerdeContext): IndexDocument => {\n let contents: any = {\n Suffix: undefined,\n };\n if (output[\"Suffix\"] !== undefined) {\n contents.Suffix = output[\"Suffix\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInitiator = (output: any, context: __SerdeContext): Initiator => {\n let contents: any = {\n ID: undefined,\n DisplayName: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlIntelligentTieringAndOperator = (\n output: any,\n context: __SerdeContext\n): IntelligentTieringAndOperator => {\n let contents: any = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlIntelligentTieringConfiguration = (\n output: any,\n context: __SerdeContext\n): IntelligentTieringConfiguration => {\n let contents: any = {\n Id: undefined,\n Filter: undefined,\n Status: undefined,\n Tierings: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlIntelligentTieringFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output.Tiering === \"\") {\n contents.Tierings = [];\n }\n if (output[\"Tiering\"] !== undefined) {\n contents.Tierings = deserializeAws_restXmlTieringList(__getArrayIfSingleItem(output[\"Tiering\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlIntelligentTieringConfigurationList = (\n output: any,\n context: __SerdeContext\n): IntelligentTieringConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlIntelligentTieringConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlIntelligentTieringFilter = (\n output: any,\n context: __SerdeContext\n): IntelligentTieringFilter => {\n let contents: any = {\n Prefix: undefined,\n Tag: undefined,\n And: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tag = deserializeAws_restXmlTag(output[\"Tag\"], context);\n }\n if (output[\"And\"] !== undefined) {\n contents.And = deserializeAws_restXmlIntelligentTieringAndOperator(output[\"And\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventoryConfiguration = (output: any, context: __SerdeContext): InventoryConfiguration => {\n let contents: any = {\n Destination: undefined,\n IsEnabled: undefined,\n Filter: undefined,\n Id: undefined,\n IncludedObjectVersions: undefined,\n OptionalFields: undefined,\n Schedule: undefined,\n };\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlInventoryDestination(output[\"Destination\"], context);\n }\n if (output[\"IsEnabled\"] !== undefined) {\n contents.IsEnabled = output[\"IsEnabled\"] == \"true\";\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlInventoryFilter(output[\"Filter\"], context);\n }\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"IncludedObjectVersions\"] !== undefined) {\n contents.IncludedObjectVersions = output[\"IncludedObjectVersions\"];\n }\n if (output.OptionalFields === \"\") {\n contents.OptionalFields = [];\n }\n if (output[\"OptionalFields\"] !== undefined && output[\"OptionalFields\"][\"Field\"] !== undefined) {\n contents.OptionalFields = deserializeAws_restXmlInventoryOptionalFields(\n __getArrayIfSingleItem(output[\"OptionalFields\"][\"Field\"]),\n context\n );\n }\n if (output[\"Schedule\"] !== undefined) {\n contents.Schedule = deserializeAws_restXmlInventorySchedule(output[\"Schedule\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventoryConfigurationList = (\n output: any,\n context: __SerdeContext\n): InventoryConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlInventoryConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlInventoryDestination = (output: any, context: __SerdeContext): InventoryDestination => {\n let contents: any = {\n S3BucketDestination: undefined,\n };\n if (output[\"S3BucketDestination\"] !== undefined) {\n contents.S3BucketDestination = deserializeAws_restXmlInventoryS3BucketDestination(\n output[\"S3BucketDestination\"],\n context\n );\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventoryEncryption = (output: any, context: __SerdeContext): InventoryEncryption => {\n let contents: any = {\n SSES3: undefined,\n SSEKMS: undefined,\n };\n if (output[\"SSE-S3\"] !== undefined) {\n contents.SSES3 = deserializeAws_restXmlSSES3(output[\"SSE-S3\"], context);\n }\n if (output[\"SSE-KMS\"] !== undefined) {\n contents.SSEKMS = deserializeAws_restXmlSSEKMS(output[\"SSE-KMS\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventoryFilter = (output: any, context: __SerdeContext): InventoryFilter => {\n let contents: any = {\n Prefix: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventoryOptionalFields = (\n output: any,\n context: __SerdeContext\n): (InventoryOptionalField | string)[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_restXmlInventoryS3BucketDestination = (\n output: any,\n context: __SerdeContext\n): InventoryS3BucketDestination => {\n let contents: any = {\n AccountId: undefined,\n Bucket: undefined,\n Format: undefined,\n Prefix: undefined,\n Encryption: undefined,\n };\n if (output[\"AccountId\"] !== undefined) {\n contents.AccountId = output[\"AccountId\"];\n }\n if (output[\"Bucket\"] !== undefined) {\n contents.Bucket = output[\"Bucket\"];\n }\n if (output[\"Format\"] !== undefined) {\n contents.Format = output[\"Format\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Encryption\"] !== undefined) {\n contents.Encryption = deserializeAws_restXmlInventoryEncryption(output[\"Encryption\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlInventorySchedule = (output: any, context: __SerdeContext): InventorySchedule => {\n let contents: any = {\n Frequency: undefined,\n };\n if (output[\"Frequency\"] !== undefined) {\n contents.Frequency = output[\"Frequency\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlLambdaFunctionConfiguration = (\n output: any,\n context: __SerdeContext\n): LambdaFunctionConfiguration => {\n let contents: any = {\n Id: undefined,\n LambdaFunctionArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"CloudFunction\"] !== undefined) {\n contents.LambdaFunctionArn = output[\"CloudFunction\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlLambdaFunctionConfigurationList = (\n output: any,\n context: __SerdeContext\n): LambdaFunctionConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlLambdaFunctionConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlLifecycleExpiration = (output: any, context: __SerdeContext): LifecycleExpiration => {\n let contents: any = {\n Date: undefined,\n Days: undefined,\n ExpiredObjectDeleteMarker: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"ExpiredObjectDeleteMarker\"] !== undefined) {\n contents.ExpiredObjectDeleteMarker = output[\"ExpiredObjectDeleteMarker\"] == \"true\";\n }\n return contents;\n};\n\nconst deserializeAws_restXmlLifecycleRule = (output: any, context: __SerdeContext): LifecycleRule => {\n let contents: any = {\n Expiration: undefined,\n ID: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n Transitions: undefined,\n NoncurrentVersionTransitions: undefined,\n NoncurrentVersionExpiration: undefined,\n AbortIncompleteMultipartUpload: undefined,\n };\n if (output[\"Expiration\"] !== undefined) {\n contents.Expiration = deserializeAws_restXmlLifecycleExpiration(output[\"Expiration\"], context);\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlLifecycleRuleFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output.Transition === \"\") {\n contents.Transitions = [];\n }\n if (output[\"Transition\"] !== undefined) {\n contents.Transitions = deserializeAws_restXmlTransitionList(__getArrayIfSingleItem(output[\"Transition\"]), context);\n }\n if (output.NoncurrentVersionTransition === \"\") {\n contents.NoncurrentVersionTransitions = [];\n }\n if (output[\"NoncurrentVersionTransition\"] !== undefined) {\n contents.NoncurrentVersionTransitions = deserializeAws_restXmlNoncurrentVersionTransitionList(\n __getArrayIfSingleItem(output[\"NoncurrentVersionTransition\"]),\n context\n );\n }\n if (output[\"NoncurrentVersionExpiration\"] !== undefined) {\n contents.NoncurrentVersionExpiration = deserializeAws_restXmlNoncurrentVersionExpiration(\n output[\"NoncurrentVersionExpiration\"],\n context\n );\n }\n if (output[\"AbortIncompleteMultipartUpload\"] !== undefined) {\n contents.AbortIncompleteMultipartUpload = deserializeAws_restXmlAbortIncompleteMultipartUpload(\n output[\"AbortIncompleteMultipartUpload\"],\n context\n );\n }\n return contents;\n};\n\nconst deserializeAws_restXmlLifecycleRuleAndOperator = (\n output: any,\n context: __SerdeContext\n): LifecycleRuleAndOperator => {\n let contents: any = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlLifecycleRuleFilter = (output: any, context: __SerdeContext): LifecycleRuleFilter => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlLifecycleRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\n\nconst deserializeAws_restXmlLifecycleRules = (output: any, context: __SerdeContext): LifecycleRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlLifecycleRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlLoggingEnabled = (output: any, context: __SerdeContext): LoggingEnabled => {\n let contents: any = {\n TargetBucket: undefined,\n TargetGrants: undefined,\n TargetPrefix: undefined,\n };\n if (output[\"TargetBucket\"] !== undefined) {\n contents.TargetBucket = output[\"TargetBucket\"];\n }\n if (output.TargetGrants === \"\") {\n contents.TargetGrants = [];\n }\n if (output[\"TargetGrants\"] !== undefined && output[\"TargetGrants\"][\"Grant\"] !== undefined) {\n contents.TargetGrants = deserializeAws_restXmlTargetGrants(\n __getArrayIfSingleItem(output[\"TargetGrants\"][\"Grant\"]),\n context\n );\n }\n if (output[\"TargetPrefix\"] !== undefined) {\n contents.TargetPrefix = output[\"TargetPrefix\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlMetrics = (output: any, context: __SerdeContext): Metrics => {\n let contents: any = {\n Status: undefined,\n EventThreshold: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"EventThreshold\"] !== undefined) {\n contents.EventThreshold = deserializeAws_restXmlReplicationTimeValue(output[\"EventThreshold\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlMetricsAndOperator = (output: any, context: __SerdeContext): MetricsAndOperator => {\n let contents: any = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlMetricsConfiguration = (output: any, context: __SerdeContext): MetricsConfiguration => {\n let contents: any = {\n Id: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlMetricsFilter(output[\"Filter\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlMetricsConfigurationList = (\n output: any,\n context: __SerdeContext\n): MetricsConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlMetricsConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlMetricsFilter = (output: any, context: __SerdeContext): MetricsFilter => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlMetricsAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\n\nconst deserializeAws_restXmlMultipartUpload = (output: any, context: __SerdeContext): MultipartUpload => {\n let contents: any = {\n UploadId: undefined,\n Key: undefined,\n Initiated: undefined,\n StorageClass: undefined,\n Owner: undefined,\n Initiator: undefined,\n };\n if (output[\"UploadId\"] !== undefined) {\n contents.UploadId = output[\"UploadId\"];\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"Initiated\"] !== undefined) {\n contents.Initiated = new Date(output[\"Initiated\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n if (output[\"Initiator\"] !== undefined) {\n contents.Initiator = deserializeAws_restXmlInitiator(output[\"Initiator\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlMultipartUploadList = (output: any, context: __SerdeContext): MultipartUpload[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlMultipartUpload(entry, context);\n });\n};\n\nconst deserializeAws_restXmlNoncurrentVersionExpiration = (\n output: any,\n context: __SerdeContext\n): NoncurrentVersionExpiration => {\n let contents: any = {\n NoncurrentDays: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlNoncurrentVersionTransition = (\n output: any,\n context: __SerdeContext\n): NoncurrentVersionTransition => {\n let contents: any = {\n NoncurrentDays: undefined,\n StorageClass: undefined,\n };\n if (output[\"NoncurrentDays\"] !== undefined) {\n contents.NoncurrentDays = parseInt(output[\"NoncurrentDays\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlNoncurrentVersionTransitionList = (\n output: any,\n context: __SerdeContext\n): NoncurrentVersionTransition[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlNoncurrentVersionTransition(entry, context);\n });\n};\n\nconst deserializeAws_restXmlNotificationConfigurationFilter = (\n output: any,\n context: __SerdeContext\n): NotificationConfigurationFilter => {\n let contents: any = {\n Key: undefined,\n };\n if (output[\"S3Key\"] !== undefined) {\n contents.Key = deserializeAws_restXmlS3KeyFilter(output[\"S3Key\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXml_Object = (output: any, context: __SerdeContext): _Object => {\n let contents: any = {\n Key: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Owner: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectList = (output: any, context: __SerdeContext): _Object[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXml_Object(entry, context);\n });\n};\n\nconst deserializeAws_restXmlObjectLockConfiguration = (\n output: any,\n context: __SerdeContext\n): ObjectLockConfiguration => {\n let contents: any = {\n ObjectLockEnabled: undefined,\n Rule: undefined,\n };\n if (output[\"ObjectLockEnabled\"] !== undefined) {\n contents.ObjectLockEnabled = output[\"ObjectLockEnabled\"];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rule = deserializeAws_restXmlObjectLockRule(output[\"Rule\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectLockLegalHold = (output: any, context: __SerdeContext): ObjectLockLegalHold => {\n let contents: any = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectLockRetention = (output: any, context: __SerdeContext): ObjectLockRetention => {\n let contents: any = {\n Mode: undefined,\n RetainUntilDate: undefined,\n };\n if (output[\"Mode\"] !== undefined) {\n contents.Mode = output[\"Mode\"];\n }\n if (output[\"RetainUntilDate\"] !== undefined) {\n contents.RetainUntilDate = new Date(output[\"RetainUntilDate\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectLockRule = (output: any, context: __SerdeContext): ObjectLockRule => {\n let contents: any = {\n DefaultRetention: undefined,\n };\n if (output[\"DefaultRetention\"] !== undefined) {\n contents.DefaultRetention = deserializeAws_restXmlDefaultRetention(output[\"DefaultRetention\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectVersion = (output: any, context: __SerdeContext): ObjectVersion => {\n let contents: any = {\n ETag: undefined,\n Size: undefined,\n StorageClass: undefined,\n Key: undefined,\n VersionId: undefined,\n IsLatest: undefined,\n LastModified: undefined,\n Owner: undefined,\n };\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"VersionId\"] !== undefined) {\n contents.VersionId = output[\"VersionId\"];\n }\n if (output[\"IsLatest\"] !== undefined) {\n contents.IsLatest = output[\"IsLatest\"] == \"true\";\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"Owner\"] !== undefined) {\n contents.Owner = deserializeAws_restXmlOwner(output[\"Owner\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlObjectVersionList = (output: any, context: __SerdeContext): ObjectVersion[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlObjectVersion(entry, context);\n });\n};\n\nconst deserializeAws_restXmlOwner = (output: any, context: __SerdeContext): Owner => {\n let contents: any = {\n DisplayName: undefined,\n ID: undefined,\n };\n if (output[\"DisplayName\"] !== undefined) {\n contents.DisplayName = output[\"DisplayName\"];\n }\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlOwnershipControls = (output: any, context: __SerdeContext): OwnershipControls => {\n let contents: any = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlOwnershipControlsRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlOwnershipControlsRule = (output: any, context: __SerdeContext): OwnershipControlsRule => {\n let contents: any = {\n ObjectOwnership: undefined,\n };\n if (output[\"ObjectOwnership\"] !== undefined) {\n contents.ObjectOwnership = output[\"ObjectOwnership\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlOwnershipControlsRules = (\n output: any,\n context: __SerdeContext\n): OwnershipControlsRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlOwnershipControlsRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlPart = (output: any, context: __SerdeContext): Part => {\n let contents: any = {\n PartNumber: undefined,\n LastModified: undefined,\n ETag: undefined,\n Size: undefined,\n };\n if (output[\"PartNumber\"] !== undefined) {\n contents.PartNumber = parseInt(output[\"PartNumber\"]);\n }\n if (output[\"LastModified\"] !== undefined) {\n contents.LastModified = new Date(output[\"LastModified\"]);\n }\n if (output[\"ETag\"] !== undefined) {\n contents.ETag = output[\"ETag\"];\n }\n if (output[\"Size\"] !== undefined) {\n contents.Size = parseInt(output[\"Size\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlParts = (output: any, context: __SerdeContext): Part[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlPart(entry, context);\n });\n};\n\nconst deserializeAws_restXmlPolicyStatus = (output: any, context: __SerdeContext): PolicyStatus => {\n let contents: any = {\n IsPublic: undefined,\n };\n if (output[\"IsPublic\"] !== undefined) {\n contents.IsPublic = output[\"IsPublic\"] == \"true\";\n }\n return contents;\n};\n\nconst deserializeAws_restXmlPublicAccessBlockConfiguration = (\n output: any,\n context: __SerdeContext\n): PublicAccessBlockConfiguration => {\n let contents: any = {\n BlockPublicAcls: undefined,\n IgnorePublicAcls: undefined,\n BlockPublicPolicy: undefined,\n RestrictPublicBuckets: undefined,\n };\n if (output[\"BlockPublicAcls\"] !== undefined) {\n contents.BlockPublicAcls = output[\"BlockPublicAcls\"] == \"true\";\n }\n if (output[\"IgnorePublicAcls\"] !== undefined) {\n contents.IgnorePublicAcls = output[\"IgnorePublicAcls\"] == \"true\";\n }\n if (output[\"BlockPublicPolicy\"] !== undefined) {\n contents.BlockPublicPolicy = output[\"BlockPublicPolicy\"] == \"true\";\n }\n if (output[\"RestrictPublicBuckets\"] !== undefined) {\n contents.RestrictPublicBuckets = output[\"RestrictPublicBuckets\"] == \"true\";\n }\n return contents;\n};\n\nconst deserializeAws_restXmlQueueConfiguration = (output: any, context: __SerdeContext): QueueConfiguration => {\n let contents: any = {\n Id: undefined,\n QueueArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Queue\"] !== undefined) {\n contents.QueueArn = output[\"Queue\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlQueueConfigurationList = (output: any, context: __SerdeContext): QueueConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlQueueConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlRedirect = (output: any, context: __SerdeContext): Redirect => {\n let contents: any = {\n HostName: undefined,\n HttpRedirectCode: undefined,\n Protocol: undefined,\n ReplaceKeyPrefixWith: undefined,\n ReplaceKeyWith: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n if (output[\"HttpRedirectCode\"] !== undefined) {\n contents.HttpRedirectCode = output[\"HttpRedirectCode\"];\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n if (output[\"ReplaceKeyPrefixWith\"] !== undefined) {\n contents.ReplaceKeyPrefixWith = output[\"ReplaceKeyPrefixWith\"];\n }\n if (output[\"ReplaceKeyWith\"] !== undefined) {\n contents.ReplaceKeyWith = output[\"ReplaceKeyWith\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlRedirectAllRequestsTo = (output: any, context: __SerdeContext): RedirectAllRequestsTo => {\n let contents: any = {\n HostName: undefined,\n Protocol: undefined,\n };\n if (output[\"HostName\"] !== undefined) {\n contents.HostName = output[\"HostName\"];\n }\n if (output[\"Protocol\"] !== undefined) {\n contents.Protocol = output[\"Protocol\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicaModifications = (output: any, context: __SerdeContext): ReplicaModifications => {\n let contents: any = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicationConfiguration = (\n output: any,\n context: __SerdeContext\n): ReplicationConfiguration => {\n let contents: any = {\n Role: undefined,\n Rules: undefined,\n };\n if (output[\"Role\"] !== undefined) {\n contents.Role = output[\"Role\"];\n }\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlReplicationRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicationRule = (output: any, context: __SerdeContext): ReplicationRule => {\n let contents: any = {\n ID: undefined,\n Priority: undefined,\n Prefix: undefined,\n Filter: undefined,\n Status: undefined,\n SourceSelectionCriteria: undefined,\n ExistingObjectReplication: undefined,\n Destination: undefined,\n DeleteMarkerReplication: undefined,\n };\n if (output[\"ID\"] !== undefined) {\n contents.ID = output[\"ID\"];\n }\n if (output[\"Priority\"] !== undefined) {\n contents.Priority = parseInt(output[\"Priority\"]);\n }\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlReplicationRuleFilter(output[\"Filter\"], context);\n }\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"SourceSelectionCriteria\"] !== undefined) {\n contents.SourceSelectionCriteria = deserializeAws_restXmlSourceSelectionCriteria(\n output[\"SourceSelectionCriteria\"],\n context\n );\n }\n if (output[\"ExistingObjectReplication\"] !== undefined) {\n contents.ExistingObjectReplication = deserializeAws_restXmlExistingObjectReplication(\n output[\"ExistingObjectReplication\"],\n context\n );\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlDestination(output[\"Destination\"], context);\n }\n if (output[\"DeleteMarkerReplication\"] !== undefined) {\n contents.DeleteMarkerReplication = deserializeAws_restXmlDeleteMarkerReplication(\n output[\"DeleteMarkerReplication\"],\n context\n );\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicationRuleAndOperator = (\n output: any,\n context: __SerdeContext\n): ReplicationRuleAndOperator => {\n let contents: any = {\n Prefix: undefined,\n Tags: undefined,\n };\n if (output[\"Prefix\"] !== undefined) {\n contents.Prefix = output[\"Prefix\"];\n }\n if (output.Tag === \"\") {\n contents.Tags = [];\n }\n if (output[\"Tag\"] !== undefined) {\n contents.Tags = deserializeAws_restXmlTagSet(__getArrayIfSingleItem(output[\"Tag\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicationRuleFilter = (output: any, context: __SerdeContext): ReplicationRuleFilter => {\n if (output[\"Prefix\"] !== undefined) {\n return {\n Prefix: output[\"Prefix\"],\n };\n }\n if (output[\"Tag\"] !== undefined) {\n return {\n Tag: deserializeAws_restXmlTag(output[\"Tag\"], context),\n };\n }\n if (output[\"And\"] !== undefined) {\n return {\n And: deserializeAws_restXmlReplicationRuleAndOperator(output[\"And\"], context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\n\nconst deserializeAws_restXmlReplicationRules = (output: any, context: __SerdeContext): ReplicationRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlReplicationRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlReplicationTime = (output: any, context: __SerdeContext): ReplicationTime => {\n let contents: any = {\n Status: undefined,\n Time: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n if (output[\"Time\"] !== undefined) {\n contents.Time = deserializeAws_restXmlReplicationTimeValue(output[\"Time\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlReplicationTimeValue = (output: any, context: __SerdeContext): ReplicationTimeValue => {\n let contents: any = {\n Minutes: undefined,\n };\n if (output[\"Minutes\"] !== undefined) {\n contents.Minutes = parseInt(output[\"Minutes\"]);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlRoutingRule = (output: any, context: __SerdeContext): RoutingRule => {\n let contents: any = {\n Condition: undefined,\n Redirect: undefined,\n };\n if (output[\"Condition\"] !== undefined) {\n contents.Condition = deserializeAws_restXmlCondition(output[\"Condition\"], context);\n }\n if (output[\"Redirect\"] !== undefined) {\n contents.Redirect = deserializeAws_restXmlRedirect(output[\"Redirect\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlRoutingRules = (output: any, context: __SerdeContext): RoutingRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlRoutingRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlS3KeyFilter = (output: any, context: __SerdeContext): S3KeyFilter => {\n let contents: any = {\n FilterRules: undefined,\n };\n if (output.FilterRule === \"\") {\n contents.FilterRules = [];\n }\n if (output[\"FilterRule\"] !== undefined) {\n contents.FilterRules = deserializeAws_restXmlFilterRuleList(__getArrayIfSingleItem(output[\"FilterRule\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlServerSideEncryptionByDefault = (\n output: any,\n context: __SerdeContext\n): ServerSideEncryptionByDefault => {\n let contents: any = {\n SSEAlgorithm: undefined,\n KMSMasterKeyID: undefined,\n };\n if (output[\"SSEAlgorithm\"] !== undefined) {\n contents.SSEAlgorithm = output[\"SSEAlgorithm\"];\n }\n if (output[\"KMSMasterKeyID\"] !== undefined) {\n contents.KMSMasterKeyID = output[\"KMSMasterKeyID\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlServerSideEncryptionConfiguration = (\n output: any,\n context: __SerdeContext\n): ServerSideEncryptionConfiguration => {\n let contents: any = {\n Rules: undefined,\n };\n if (output.Rule === \"\") {\n contents.Rules = [];\n }\n if (output[\"Rule\"] !== undefined) {\n contents.Rules = deserializeAws_restXmlServerSideEncryptionRules(__getArrayIfSingleItem(output[\"Rule\"]), context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlServerSideEncryptionRule = (\n output: any,\n context: __SerdeContext\n): ServerSideEncryptionRule => {\n let contents: any = {\n ApplyServerSideEncryptionByDefault: undefined,\n BucketKeyEnabled: undefined,\n };\n if (output[\"ApplyServerSideEncryptionByDefault\"] !== undefined) {\n contents.ApplyServerSideEncryptionByDefault = deserializeAws_restXmlServerSideEncryptionByDefault(\n output[\"ApplyServerSideEncryptionByDefault\"],\n context\n );\n }\n if (output[\"BucketKeyEnabled\"] !== undefined) {\n contents.BucketKeyEnabled = output[\"BucketKeyEnabled\"] == \"true\";\n }\n return contents;\n};\n\nconst deserializeAws_restXmlServerSideEncryptionRules = (\n output: any,\n context: __SerdeContext\n): ServerSideEncryptionRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlServerSideEncryptionRule(entry, context);\n });\n};\n\nconst deserializeAws_restXmlSourceSelectionCriteria = (\n output: any,\n context: __SerdeContext\n): SourceSelectionCriteria => {\n let contents: any = {\n SseKmsEncryptedObjects: undefined,\n ReplicaModifications: undefined,\n };\n if (output[\"SseKmsEncryptedObjects\"] !== undefined) {\n contents.SseKmsEncryptedObjects = deserializeAws_restXmlSseKmsEncryptedObjects(\n output[\"SseKmsEncryptedObjects\"],\n context\n );\n }\n if (output[\"ReplicaModifications\"] !== undefined) {\n contents.ReplicaModifications = deserializeAws_restXmlReplicaModifications(output[\"ReplicaModifications\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlSSEKMS = (output: any, context: __SerdeContext): SSEKMS => {\n let contents: any = {\n KeyId: undefined,\n };\n if (output[\"KeyId\"] !== undefined) {\n contents.KeyId = output[\"KeyId\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlSseKmsEncryptedObjects = (output: any, context: __SerdeContext): SseKmsEncryptedObjects => {\n let contents: any = {\n Status: undefined,\n };\n if (output[\"Status\"] !== undefined) {\n contents.Status = output[\"Status\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlSSES3 = (output: any, context: __SerdeContext): SSES3 => {\n let contents: any = {};\n return contents;\n};\n\nconst deserializeAws_restXmlStorageClassAnalysis = (output: any, context: __SerdeContext): StorageClassAnalysis => {\n let contents: any = {\n DataExport: undefined,\n };\n if (output[\"DataExport\"] !== undefined) {\n contents.DataExport = deserializeAws_restXmlStorageClassAnalysisDataExport(output[\"DataExport\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlStorageClassAnalysisDataExport = (\n output: any,\n context: __SerdeContext\n): StorageClassAnalysisDataExport => {\n let contents: any = {\n OutputSchemaVersion: undefined,\n Destination: undefined,\n };\n if (output[\"OutputSchemaVersion\"] !== undefined) {\n contents.OutputSchemaVersion = output[\"OutputSchemaVersion\"];\n }\n if (output[\"Destination\"] !== undefined) {\n contents.Destination = deserializeAws_restXmlAnalyticsExportDestination(output[\"Destination\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTag = (output: any, context: __SerdeContext): Tag => {\n let contents: any = {\n Key: undefined,\n Value: undefined,\n };\n if (output[\"Key\"] !== undefined) {\n contents.Key = output[\"Key\"];\n }\n if (output[\"Value\"] !== undefined) {\n contents.Value = output[\"Value\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTagSet = (output: any, context: __SerdeContext): Tag[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlTag(entry, context);\n });\n};\n\nconst deserializeAws_restXmlTargetGrant = (output: any, context: __SerdeContext): TargetGrant => {\n let contents: any = {\n Grantee: undefined,\n Permission: undefined,\n };\n if (output[\"Grantee\"] !== undefined) {\n contents.Grantee = deserializeAws_restXmlGrantee(output[\"Grantee\"], context);\n }\n if (output[\"Permission\"] !== undefined) {\n contents.Permission = output[\"Permission\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTargetGrants = (output: any, context: __SerdeContext): TargetGrant[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlTargetGrant(entry, context);\n });\n};\n\nconst deserializeAws_restXmlTiering = (output: any, context: __SerdeContext): Tiering => {\n let contents: any = {\n Days: undefined,\n AccessTier: undefined,\n };\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"AccessTier\"] !== undefined) {\n contents.AccessTier = output[\"AccessTier\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTieringList = (output: any, context: __SerdeContext): Tiering[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlTiering(entry, context);\n });\n};\n\nconst deserializeAws_restXmlTopicConfiguration = (output: any, context: __SerdeContext): TopicConfiguration => {\n let contents: any = {\n Id: undefined,\n TopicArn: undefined,\n Events: undefined,\n Filter: undefined,\n };\n if (output[\"Id\"] !== undefined) {\n contents.Id = output[\"Id\"];\n }\n if (output[\"Topic\"] !== undefined) {\n contents.TopicArn = output[\"Topic\"];\n }\n if (output.Event === \"\") {\n contents.Events = [];\n }\n if (output[\"Event\"] !== undefined) {\n contents.Events = deserializeAws_restXmlEventList(__getArrayIfSingleItem(output[\"Event\"]), context);\n }\n if (output[\"Filter\"] !== undefined) {\n contents.Filter = deserializeAws_restXmlNotificationConfigurationFilter(output[\"Filter\"], context);\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTopicConfigurationList = (output: any, context: __SerdeContext): TopicConfiguration[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlTopicConfiguration(entry, context);\n });\n};\n\nconst deserializeAws_restXmlTransition = (output: any, context: __SerdeContext): Transition => {\n let contents: any = {\n Date: undefined,\n Days: undefined,\n StorageClass: undefined,\n };\n if (output[\"Date\"] !== undefined) {\n contents.Date = new Date(output[\"Date\"]);\n }\n if (output[\"Days\"] !== undefined) {\n contents.Days = parseInt(output[\"Days\"]);\n }\n if (output[\"StorageClass\"] !== undefined) {\n contents.StorageClass = output[\"StorageClass\"];\n }\n return contents;\n};\n\nconst deserializeAws_restXmlTransitionList = (output: any, context: __SerdeContext): Transition[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_restXmlTransition(entry, context);\n });\n};\n\nconst deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\n// Collect low-level response body stream to Uint8Array.\nconst collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n\n// Encode Uint8Array data into string with utf-8.\nconst collectBodyString = (streamBody: any, context: __SerdeContext): Promise =>\n collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n\nconst isSerializableHeaderValue = (value: any): boolean =>\n value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n\nconst decodeEscapedXML = (str: string) =>\n str\n .replace(/&/g, \"&\")\n .replace(/'/g, \"'\")\n .replace(/"/g, '\"')\n .replace(/>/g, \">\")\n .replace(/</g, \"<\");\n\nconst parseBody = (streamBody: any, context: __SerdeContext): any =>\n collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parsedObj = xmlParse(encoded, {\n attributeNamePrefix: \"\",\n ignoreAttributes: false,\n parseNodeValue: false,\n tagValueProcessor: (val, tagName) => decodeEscapedXML(val),\n });\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return __getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n });\n\nconst loadRestXmlErrorCode = (output: __HttpResponse, data: any): string => {\n if (data.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n return \"\";\n};\n","export interface ARN {\n partition: string;\n service: string;\n region: string;\n accountId: string;\n resource: string;\n}\n/**\n * Validate whether a string is an ARN.\n */\nexport const validate = (str: any): boolean =>\n typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\n\n/**\n * Parse an ARN string into structure with partition, service, region, accountId and resource values\n */\nexport const parse = (arn: string): ARN => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\") throw new Error(\"Malformed ARN\");\n const [\n ,\n //Skip \"arn\" literal\n partition,\n service,\n region,\n accountId,\n ...resource\n ] = segments;\n\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\n\ntype buildOptions = Omit & { partition?: string };\n\n/**\n * Build an ARN with service, partition, region, accountId, and resources strings\n */\nexport const build = (arnObject: buildOptions): string => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\n","import { ARN } from \"@aws-sdk/util-arn-parser\";\n\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3[.-]([a-z0-9-]+)\\./;\nconst S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\\.amazonaws\\.com$/;\nconst AWS_PARTITION_SUFFIX = \"amazonaws.com\";\n\nexport interface AccessPointArn extends ARN {\n accessPointName: string;\n}\n\nexport interface BucketHostnameParams {\n isCustomEndpoint: boolean;\n baseHostname: string;\n bucketName: string;\n clientRegion: string;\n accelerateEndpoint?: boolean;\n dualstackEndpoint?: boolean;\n pathStyleEndpoint?: boolean;\n tlsCompatible?: boolean;\n}\n\nexport interface ArnHostnameParams extends Omit {\n bucketName: ARN;\n clientSigningRegion?: string;\n clientPartition?: string;\n useArnRegion?: boolean;\n}\n\nexport const isBucketNameOptions = (\n options: BucketHostnameParams | ArnHostnameParams\n): options is BucketHostnameParams => typeof options.bucketName === \"string\";\n\n/**\n * Get pseudo region from supplied region. For example, if supplied with `fips-us-west-2`, it returns `us-west-2`.\n * @internal\n */\nexport const getPseudoRegion = (region: string) => (isFipsRegion(region) ? region.replace(/fips-|-fips/, \"\") : region);\n\n/**\n * Determines whether a given string is DNS compliant per the rules outlined by\n * S3. Length, capitaization, and leading dot restrictions are enforced by the\n * DOMAIN_PATTERN regular expression.\n * @internal\n *\n * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html\n */\nexport const isDnsCompatibleBucketName = (bucketName: string): boolean =>\n DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\n\nconst getRegionalSuffix = (hostname: string): [string, string] => {\n const parts = hostname.match(S3_HOSTNAME_PATTERN)!;\n return [parts[2], hostname.replace(new RegExp(`^${parts[0]}`), \"\")];\n};\n\nexport const getSuffix = (hostname: string): [string, string] =>\n S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? [\"us-east-1\", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);\n\n/**\n * Infer region and hostname suffix from a complete hostname\n * @internal\n * @param hostname - Hostname\n * @returns [Region, Hostname suffix]\n */\nexport const getSuffixForArnEndpoint = (hostname: string): [string, string] =>\n S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)\n ? [hostname.replace(`.${AWS_PARTITION_SUFFIX}`, \"\"), AWS_PARTITION_SUFFIX]\n : getRegionalSuffix(hostname);\n\nexport const validateArnEndpointOptions = (options: {\n accelerateEndpoint?: boolean;\n tlsCompatible?: boolean;\n pathStyleEndpoint?: boolean;\n}) => {\n if (options.pathStyleEndpoint) {\n throw new Error(\"Path-style S3 endpoint is not supported when bucket is an ARN\");\n }\n if (options.accelerateEndpoint) {\n throw new Error(\"Accelerate endpoint is not supported when bucket is an ARN\");\n }\n if (!options.tlsCompatible) {\n throw new Error(\"HTTPS is required when bucket is an ARN\");\n }\n};\n\nexport const validateService = (service: string) => {\n if (service !== \"s3\" && service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3' or 's3-outposts' in ARN service component\");\n }\n};\n\nexport const validateS3Service = (service: string) => {\n if (service !== \"s3\") {\n throw new Error(\"Expect 's3' in Accesspoint ARN service component\");\n }\n};\n\nexport const validateOutpostService = (service: string) => {\n if (service !== \"s3-outposts\") {\n throw new Error(\"Expect 's3-posts' in Outpost ARN service component\");\n }\n};\n\n/**\n * Validate partition inferred from ARN is the same to `options.clientPartition`.\n * @internal\n */\nexport const validatePartition = (partition: string, options: { clientPartition: string }) => {\n if (partition !== options.clientPartition) {\n throw new Error(`Partition in ARN is incompatible, got \"${partition}\" but expected \"${options.clientPartition}\"`);\n }\n};\n\n/**\n * validate region value inferred from ARN. If `options.useArnRegion` is set, it validates the region is not a FIPS\n * region. If `options.useArnRegion` is unset, it validates the region is equal to `options.clientRegion` or\n * `options.clientSigningRegion`.\n * @internal\n */\nexport const validateRegion = (\n region: string,\n options: {\n useArnRegion?: boolean;\n clientRegion: string;\n clientSigningRegion: string;\n }\n) => {\n if (region === \"\") {\n throw new Error(\"ARN region is empty\");\n }\n if (\n !options.useArnRegion &&\n !isEqualRegions(region, options.clientRegion) &&\n !isEqualRegions(region, options.clientSigningRegion)\n ) {\n throw new Error(`Region in ARN is incompatible, got ${region} but expected ${options.clientRegion}`);\n }\n if (options.useArnRegion && isFipsRegion(region)) {\n throw new Error(\"Endpoint does not support FIPS region\");\n }\n};\n\nconst isFipsRegion = (region: string) => region.startsWith(\"fips-\") || region.endsWith(\"-fips\");\n\nconst isEqualRegions = (regionA: string, regionB: string) =>\n regionA === regionB || getPseudoRegion(regionA) === regionB || regionA === getPseudoRegion(regionB);\n\n/**\n * Validate an account ID\n * @internal\n */\nexport const validateAccountId = (accountId: string) => {\n if (!/[0-9]{12}/.exec(accountId)) {\n throw new Error(\"Access point ARN accountID does not match regex '[0-9]{12}'\");\n }\n};\n\n/**\n * Validate a host label according to https://tools.ietf.org/html/rfc3986#section-3.2.2\n * @internal\n */\nexport const validateDNSHostLabel = (label: string, options: { tlsCompatible?: boolean } = { tlsCompatible: true }) => {\n // reference: https://tools.ietf.org/html/rfc3986#section-3.2.2\n if (\n label.length >= 64 ||\n !/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/.test(label) ||\n /(\\d+\\.){3}\\d+/.test(label) ||\n /[.-]{2}/.test(label) ||\n (options?.tlsCompatible && DOT_PATTERN.test(label))\n ) {\n throw new Error(`Invalid DNS label ${label}`);\n }\n};\n\n/**\n * Validate and parse an Access Point ARN or Outposts ARN\n * @internal\n *\n * @param resource - The resource section of an ARN\n * @returns Access Point Name and optional Outpost ID.\n */\nexport const getArnResources = (\n resource: string\n): {\n accesspointName: string;\n outpostId?: string;\n} => {\n const delimiter = resource.includes(\":\") ? \":\" : \"/\";\n const [resourceType, ...rest] = resource.split(delimiter);\n if (resourceType === \"accesspoint\") {\n // Parse accesspoint ARN\n if (rest.length !== 1 || rest[0] === \"\") {\n throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`);\n }\n return { accesspointName: rest[0] };\n } else if (resourceType === \"outpost\") {\n // Parse outpost ARN\n if (!rest[0] || rest[1] !== \"accesspoint\" || !rest[2] || rest.length !== 3) {\n throw new Error(\n `Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`\n );\n }\n const [outpostId, _, accesspointName] = rest;\n return { outpostId, accesspointName };\n } else {\n throw new Error(`ARN resource should begin with 'accesspoint${delimiter}' or 'outpost${delimiter}'`);\n }\n};\n\n/**\n * Throw if dual stack configuration is set to true.\n * @internal\n */\nexport const validateNoDualstack = (dualstackEndpoint: boolean) => {\n if (dualstackEndpoint) throw new Error(\"Dualstack endpoint is not supported with Outpost\");\n};\n\n/**\n * Validate region is not appended or prepended with a `fips-`\n * @internal\n */\nexport const validateNoFIPS = (region: string) => {\n if (isFipsRegion(region ?? \"\")) throw new Error(`FIPS region is not supported with Outpost, got ${region}`);\n};\n","import {\n ArnHostnameParams,\n BucketHostnameParams,\n DOT_PATTERN,\n getArnResources,\n getSuffix,\n getSuffixForArnEndpoint,\n isBucketNameOptions,\n isDnsCompatibleBucketName,\n validateAccountId,\n validateArnEndpointOptions,\n validateDNSHostLabel,\n validateNoDualstack,\n validateNoFIPS,\n validateOutpostService,\n validatePartition,\n validateRegion,\n validateS3Service,\n validateService,\n} from \"./bucketHostnameUtils\";\n\nexport interface BucketHostname {\n hostname: string;\n bucketEndpoint: boolean;\n signingRegion?: string;\n signingService?: string;\n}\n\nexport const bucketHostname = (options: BucketHostnameParams | ArnHostnameParams): BucketHostname => {\n const { isCustomEndpoint, baseHostname, dualstackEndpoint, accelerateEndpoint } = options;\n\n if (isCustomEndpoint) {\n if (dualstackEndpoint) throw new Error(\"Dualstack endpoint is not supported with custom endpoint\");\n if (accelerateEndpoint) throw new Error(\"Accelerate endpoint is not supported with custom endpoint\");\n }\n\n return isBucketNameOptions(options)\n ? // Construct endpoint when bucketName is a string referring to a bucket name\n getEndpointFromBucketName({ ...options, isCustomEndpoint })\n : // Construct endpoint when bucketName is an ARN referring to an S3 resource like Access Point\n getEndpointFromArn({ ...options, isCustomEndpoint });\n};\n\nconst getEndpointFromArn = (options: ArnHostnameParams & { isCustomEndpoint: boolean }): BucketHostname => {\n const { isCustomEndpoint, baseHostname } = options;\n const [clientRegion, hostnameSuffix] = isCustomEndpoint\n ? [options.clientRegion, baseHostname]\n : // Infer client region and hostname suffix from hostname from endpoints.json, like `s3.us-west-2.amazonaws.com`\n getSuffixForArnEndpoint(baseHostname);\n\n const {\n pathStyleEndpoint,\n dualstackEndpoint = false,\n accelerateEndpoint = false,\n tlsCompatible = true,\n useArnRegion,\n bucketName,\n clientPartition = \"aws\",\n clientSigningRegion = clientRegion,\n } = options;\n\n validateArnEndpointOptions({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });\n\n // Validate and parse the ARN supplied as a bucket name\n const { service, partition, accountId, region, resource } = bucketName;\n validateService(service);\n validatePartition(partition, { clientPartition });\n validateAccountId(accountId);\n validateRegion(region, { useArnRegion, clientRegion, clientSigningRegion });\n const { accesspointName, outpostId } = getArnResources(resource);\n validateDNSHostLabel(`${accesspointName}-${accountId}`, { tlsCompatible });\n\n const endpointRegion = useArnRegion ? region : clientRegion;\n const signingRegion = useArnRegion ? region : clientSigningRegion;\n if (outpostId) {\n // if this is an Outpost ARN\n validateOutpostService(service);\n validateDNSHostLabel(outpostId, { tlsCompatible });\n validateNoDualstack(dualstackEndpoint);\n validateNoFIPS(endpointRegion);\n const hostnamePrefix = `${accesspointName}-${accountId}.${outpostId}`;\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${isCustomEndpoint ? \"\" : `.s3-outposts.${endpointRegion}`}.${hostnameSuffix}`,\n signingRegion,\n signingService: \"s3-outposts\",\n };\n }\n // construct endpoint from Accesspoint ARN\n validateS3Service(service);\n const hostnamePrefix = `${accesspointName}-${accountId}`;\n return {\n bucketEndpoint: true,\n hostname: `${hostnamePrefix}${\n isCustomEndpoint ? \"\" : `.s3-accesspoint${dualstackEndpoint ? \".dualstack\" : \"\"}.${endpointRegion}`\n }.${hostnameSuffix}`,\n signingRegion,\n };\n};\n\nconst getEndpointFromBucketName = ({\n accelerateEndpoint = false,\n clientRegion: region,\n baseHostname,\n bucketName,\n dualstackEndpoint = false,\n pathStyleEndpoint = false,\n tlsCompatible = true,\n isCustomEndpoint = false,\n}: BucketHostnameParams & { isCustomEndpoint: boolean }): BucketHostname => {\n const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : getSuffix(baseHostname);\n if (pathStyleEndpoint || !isDnsCompatibleBucketName(bucketName) || (tlsCompatible && DOT_PATTERN.test(bucketName))) {\n return {\n bucketEndpoint: false,\n hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname,\n };\n }\n\n if (accelerateEndpoint) {\n baseHostname = `s3-accelerate${dualstackEndpoint ? \".dualstack\" : \"\"}.${hostnameSuffix}`;\n } else if (dualstackEndpoint) {\n baseHostname = `s3.dualstack.${clientRegion}.${hostnameSuffix}`;\n }\n\n return {\n bucketEndpoint: true,\n hostname: `${bucketName}.${baseHostname}`,\n };\n};\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOutput,\n BuildMiddleware,\n HandlerExecutionContext,\n MetadataBearer,\n Pluggable,\n RelativeMiddlewareOptions,\n} from \"@aws-sdk/types\";\nimport { parse as parseArn, validate as validateArn } from \"@aws-sdk/util-arn-parser\";\n\nimport { bucketHostname } from \"./bucketHostname\";\nimport { getPseudoRegion } from \"./bucketHostnameUtils\";\nimport { BucketEndpointResolvedConfig } from \"./configurations\";\n\nexport const bucketEndpointMiddleware = (options: BucketEndpointResolvedConfig): BuildMiddleware => <\n Output extends MetadataBearer\n>(\n next: BuildHandler,\n context: HandlerExecutionContext\n): BuildHandler => async (args: BuildHandlerArguments): Promise> => {\n const { Bucket: bucketName } = args.input as { Bucket: string };\n let replaceBucketInPath = options.bucketEndpoint;\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n if (options.bucketEndpoint) {\n request.hostname = bucketName;\n } else if (validateArn(bucketName)) {\n const bucketArn = parseArn(bucketName);\n const clientRegion = getPseudoRegion(await options.region());\n const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion)) || {};\n const useArnRegion = await options.useArnRegion();\n const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService } = bucketHostname({\n bucketName: bucketArn,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: options.useDualstackEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n useArnRegion,\n clientPartition: partition,\n clientSigningRegion: signingRegion,\n clientRegion: clientRegion,\n isCustomEndpoint: options.isCustomEndpoint,\n });\n\n // If the request needs to use a region or service name inferred from ARN that different from client region, we\n // need to set them in the handler context so the signer will use them\n if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {\n context[\"signing_region\"] = modifiedSigningRegion;\n }\n if (signingService && signingService !== \"s3\") {\n context[\"signing_service\"] = signingService;\n }\n\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n } else {\n const clientRegion = getPseudoRegion(await options.region());\n const { hostname, bucketEndpoint } = bucketHostname({\n bucketName,\n clientRegion,\n baseHostname: request.hostname,\n accelerateEndpoint: options.useAccelerateEndpoint,\n dualstackEndpoint: options.useDualstackEndpoint,\n pathStyleEndpoint: options.forcePathStyle,\n tlsCompatible: request.protocol === \"https:\",\n isCustomEndpoint: options.isCustomEndpoint,\n });\n\n request.hostname = hostname;\n replaceBucketInPath = bucketEndpoint;\n }\n\n if (replaceBucketInPath) {\n request.path = request.path.replace(/^(\\/)?[^\\/]+/, \"\");\n if (request.path === \"\") {\n request.path = \"/\";\n }\n }\n }\n\n return next({ ...args, request });\n};\n\nexport const bucketEndpointMiddlewareOptions: RelativeMiddlewareOptions = {\n tags: [\"BUCKET_ENDPOINT\"],\n name: \"bucketEndpointMiddleware\",\n relation: \"before\",\n toMiddleware: \"hostHeaderMiddleware\",\n override: true,\n};\n\nexport const getBucketEndpointPlugin = (options: BucketEndpointResolvedConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n },\n});\n","import { LoadedConfigSelectors } from \"@aws-sdk/node-config-provider\";\nimport { Provider, RegionInfoProvider } from \"@aws-sdk/types\";\n\nexport interface BucketEndpointInputConfig {\n /**\n * Whether the provided endpoint addresses an individual bucket.\n */\n bucketEndpoint?: boolean;\n /**\n * Whether to force path style URLs for S3 objects (e.g., https://s3.amazonaws.com// instead of https://.s3.amazonaws.com/\n */\n forcePathStyle?: boolean;\n /**\n * Whether to use the S3 Transfer Acceleration endpoint by default\n */\n useAccelerateEndpoint?: boolean;\n /**\n * Enables IPv6/IPv4 dualstack endpoint. When a DNS lookup is performed on an endpoint of this type, it returns an “A” record with an IPv4 address and an “AAAA” record with an IPv6 address. In most cases the network stack in the client environment will automatically prefer the AAAA record and make a connection using the IPv6 address. Note, however, that currently on Windows, the IPv4 address will be preferred.\n */\n useDualstackEndpoint?: boolean;\n /**\n * Whether to override the request region with the region inferred from requested resource's ARN. Defaults to false\n */\n useArnRegion?: boolean | Provider;\n}\n\ninterface PreviouslyResolved {\n isCustomEndpoint: boolean;\n region: Provider;\n regionInfoProvider: RegionInfoProvider;\n}\n\nexport interface BucketEndpointResolvedConfig {\n isCustomEndpoint: boolean;\n bucketEndpoint: boolean;\n forcePathStyle: boolean;\n useAccelerateEndpoint: boolean;\n useDualstackEndpoint: boolean;\n useArnRegion: Provider;\n region: Provider;\n regionInfoProvider: RegionInfoProvider;\n}\n\nexport function resolveBucketEndpointConfig(\n input: T & PreviouslyResolved & BucketEndpointInputConfig\n): T & BucketEndpointResolvedConfig {\n const {\n bucketEndpoint = false,\n forcePathStyle = false,\n useAccelerateEndpoint = false,\n useDualstackEndpoint = false,\n useArnRegion = false,\n } = input;\n return {\n ...input,\n bucketEndpoint,\n forcePathStyle,\n useAccelerateEndpoint,\n useDualstackEndpoint,\n useArnRegion: typeof useArnRegion === \"function\" ? useArnRegion : () => Promise.resolve(useArnRegion),\n };\n}\n\nexport const NODE_USE_ARN_REGION_ENV_NAME = \"AWS_S3_USE_ARN_REGION\";\nexport const NODE_USE_ARN_REGION_INI_NAME = \"s3_use_arn_region\";\n\n/**\n * Config to load useArnRegion from environment variables and shared INI files\n *\n * @api private\n */\nexport const NODE_USE_ARN_REGION_CONFIG_OPTIONS: LoadedConfigSelectors = {\n environmentVariableSelector: (env: NodeJS.ProcessEnv) => {\n if (!Object.prototype.hasOwnProperty.call(env, NODE_USE_ARN_REGION_ENV_NAME)) return undefined;\n if (env[NODE_USE_ARN_REGION_ENV_NAME] === \"true\") return true;\n if (env[NODE_USE_ARN_REGION_ENV_NAME] === \"false\") return false;\n throw new Error(\n `Cannot load env ${NODE_USE_ARN_REGION_ENV_NAME}. Expected \"true\" or \"false\", got ${env[NODE_USE_ARN_REGION_ENV_NAME]}.`\n );\n },\n configFileSelector: (profile) => {\n if (!Object.prototype.hasOwnProperty.call(profile, NODE_USE_ARN_REGION_INI_NAME)) return undefined;\n if (profile[NODE_USE_ARN_REGION_INI_NAME] === \"true\") return true;\n if (profile[NODE_USE_ARN_REGION_INI_NAME] === \"false\") return false;\n throw new Error(\n `Cannot load shared config entry ${NODE_USE_ARN_REGION_INI_NAME}. Expected \"true\" or \"false\", got ${profile[NODE_USE_ARN_REGION_INI_NAME]}.`\n );\n },\n default: false,\n};\n","export * from \"./bucketEndpointMiddleware\";\nexport * from \"./bucketHostname\";\nexport * from \"./configurations\";\nexport {\n getArnResources,\n getPseudoRegion,\n getSuffixForArnEndpoint,\n validateOutpostService,\n validatePartition,\n validateAccountId,\n validateRegion,\n validateDNSHostLabel,\n validateNoDualstack,\n validateNoFIPS,\n} from \"./bucketHostnameUtils\";\n","import {\n InitializeHandler,\n InitializeHandlerArguments,\n InitializeHandlerOptions,\n InitializeHandlerOutput,\n InitializeMiddleware,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\nimport { validate as validateArn } from \"@aws-sdk/util-arn-parser\";\n\n/**\n * @internal\n */\nexport function validateBucketNameMiddleware(): InitializeMiddleware {\n return (\n next: InitializeHandler\n ): InitializeHandler => async (\n args: InitializeHandlerArguments\n ): Promise> => {\n const {\n input: { Bucket },\n } = args;\n if (typeof Bucket === \"string\" && !validateArn(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\n\n/**\n * @internal\n */\nexport const validateBucketNameMiddlewareOptions: InitializeHandlerOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\n\n/**\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const getValidateBucketNamePlugin = (unused: any): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(), validateBucketNameMiddlewareOptions);\n },\n});\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n BuildMiddleware,\n MetadataBearer,\n Pluggable,\n Provider,\n} from \"@aws-sdk/types\";\n\ntype PreviouslyResolved = {\n region: Provider;\n isCustomEndpoint: boolean;\n};\n\n/**\n * @internal\n */\nexport const useRegionalEndpointMiddleware = (config: PreviouslyResolved): BuildMiddleware => <\n Output extends MetadataBearer\n>(\n next: BuildHandler\n): BuildHandler => async (args: BuildHandlerArguments): Promise> => {\n const { request } = args;\n if (!HttpRequest.isInstance(request) || config.isCustomEndpoint) return next({ ...args });\n if (request.hostname === \"s3.amazonaws.com\") {\n request.hostname = \"s3.us-east-1.amazonaws.com\";\n } else if (\"aws-global\" === (await config.region())) {\n request.hostname = \"s3.amazonaws.com\";\n }\n return next({ ...args });\n};\n\n/**\n * @internal\n */\nexport const useRegionalEndpointMiddlewareOptions: BuildHandlerOptions = {\n step: \"build\",\n tags: [\"USE_REGIONAL_ENDPOINT\", \"S3\"],\n name: \"useRegionalEndpointMiddleware\",\n override: true,\n};\n\n/**\n * @internal\n */\nexport const getUseRegionalEndpointPlugin = (config: PreviouslyResolved): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(useRegionalEndpointMiddleware(config), useRegionalEndpointMiddlewareOptions);\n },\n});\n","import { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { DeserializeMiddleware, Encoder, Pluggable, RelativeMiddlewareOptions, StreamCollector } from \"@aws-sdk/types\";\n\ntype PreviouslyResolved = {\n streamCollector: StreamCollector;\n utf8Encoder: Encoder;\n};\n\n/**\n * In case of an internal error/terminated connection, S3 operations may return 200 errors. CopyObject, UploadPartCopy,\n * CompleteMultipartUpload may return empty payload or payload with only xml Preamble.\n * @internal\n */\nexport const throw200ExceptionsMiddleware = (config: PreviouslyResolved): DeserializeMiddleware => (\n next\n) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!HttpResponse.isInstance(response)) return result;\n const { statusCode, body } = response;\n if (statusCode < 200 && statusCode >= 300) return result;\n\n // Throw 2XX response that's either an error or has empty body.\n const bodyBytes = await collectBody(body, config);\n const bodyString = await collectBodyString(bodyBytes, config);\n if (bodyBytes.length === 0) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyString && bodyString.match(\"\")) {\n // Set the error code to 4XX so that error deserializer can parse them\n response.statusCode = 400;\n }\n\n // Body stream is consumed and paused at this point. So replace the response.body to the collected bytes.\n // So that the deserializer can consume the body as normal.\n response.body = bodyBytes;\n return result;\n};\n\n// Collect low-level response body stream to Uint8Array.\nconst collectBody = (streamBody: any = new Uint8Array(), context: PreviouslyResolved): Promise => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n\n// Encode Uint8Array data into string with utf-8.\nconst collectBodyString = (streamBody: any, context: PreviouslyResolved): Promise =>\n collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n\n/**\n * @internal\n */\nexport const throw200ExceptionsMiddlewareOptions: RelativeMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\n\n/**\n *\n * @internal\n */\nexport const getThrow200ExceptionsPlugin = (config: PreviouslyResolved): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n },\n});\n","export * from \"./validate-bucket-name\";\nexport * from \"./use-regional-endpoint\";\nexport * from \"./throw-200-exceptions\";\n","import {\n InitializeHandler,\n InitializeHandlerArguments,\n InitializeHandlerOptions,\n InitializeHandlerOutput,\n InitializeMiddleware,\n MetadataBearer,\n Pluggable,\n SourceData,\n} from \"@aws-sdk/types\";\n\nimport { ResolvedSsecMiddlewareConfig } from \"./configuration\";\n\nexport function ssecMiddleware(options: ResolvedSsecMiddlewareConfig): InitializeMiddleware {\n return (\n next: InitializeHandler\n ): InitializeHandler => async (\n args: InitializeHandlerArguments\n ): Promise> => {\n let input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n\n for (const prop of properties) {\n const value: SourceData | undefined = (input as any)[prop.target];\n if (value) {\n const valueView = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : typeof value === \"string\"\n ? options.utf8Decoder(value)\n : new Uint8Array(value);\n const encoded = options.base64Encoder(valueView);\n const hash = new options.md5();\n hash.update(valueView);\n input = {\n ...(input as any),\n [prop.target]: encoded,\n [prop.hash]: options.base64Encoder(await hash.digest()),\n };\n }\n }\n\n return next({\n ...args,\n input,\n });\n };\n}\n\nexport const ssecMiddlewareOptions: InitializeHandlerOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\n\nexport const getSsecPlugin = (config: ResolvedSsecMiddlewareConfig): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), ssecMiddlewareOptions);\n },\n});\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { CopyObjectOutput, CopyObjectRequest } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlCopyObjectCommand,\n serializeAws_restXmlCopyObjectCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type CopyObjectCommandInput = CopyObjectRequest;\nexport type CopyObjectCommandOutput = CopyObjectOutput & __MetadataBearer;\n\n/**\n *

Creates a copy of an object that is already stored in Amazon S3.

\n * \n *

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n * object up to 5 GB in size in a single atomic operation using this API. However, to copy\n * an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API.\n * For more information, see Copy Object Using the REST Multipart Upload API.

\n *
\n *

All copy requests must be authenticated. Additionally, you must have\n * read access to the source object and write\n * access to the destination bucket. For more information, see REST Authentication. Both the Region\n * that you want to copy the object from and the Region that you want to copy the object to\n * must be enabled for your account.

\n *

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n * is copying the files. If the error occurs before the copy operation starts, you receive a\n * standard Amazon S3 error. If the error occurs during the copy operation, the error response is\n * embedded in the 200 OK response. This means that a 200 OK\n * response can contain either a success or an error. Design your application to parse the\n * contents of the response and handle it appropriately.

\n *

If the copy is successful, you receive a response with information about the copied\n * object.

\n * \n *

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,\n * it would not contain the content-length, and you would need to read the entire\n * body.

\n *
\n *

The copy request charge is based on the storage class and Region that you specify for\n * the destination object. For pricing information, see Amazon S3 pricing.

\n * \n *

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n * cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n * Request error. For more information, see Transfer Acceleration.

\n *
\n *

\n * Metadata\n *

\n *

When copying an object, you can preserve all metadata (default) or specify new metadata.\n * However, the ACL is not preserved and is set to private for the user making the request. To\n * override the default ACL setting, specify a new ACL when generating a copy request. For\n * more information, see Using ACLs.

\n *

To specify whether you want the object metadata copied from the source object or\n * replaced with metadata provided in the request, you can optionally add the\n * x-amz-metadata-directive header. When you grant permissions, you can use\n * the s3:x-amz-metadata-directive condition key to enforce certain metadata\n * behavior when objects are uploaded. For more information, see Specifying Conditions in a\n * Policy in the Amazon S3 Developer Guide. For a complete list of\n * Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for\n * Amazon S3.

\n *

\n * \n * x-amz-copy-source-if Headers\n *

\n *

To only copy an object under certain conditions, such as whether the Etag\n * matches or whether the object was modified before or after a specified date, use the\n * following request parameters:

\n *
    \n *
  • \n *

    \n * x-amz-copy-source-if-match\n *

    \n *
  • \n *
  • \n *

    \n * x-amz-copy-source-if-none-match\n *

    \n *
  • \n *
  • \n *

    \n * x-amz-copy-source-if-unmodified-since\n *

    \n *
  • \n *
  • \n *

    \n * x-amz-copy-source-if-modified-since\n *

    \n *
  • \n *
\n *

If both the x-amz-copy-source-if-match and\n * x-amz-copy-source-if-unmodified-since headers are present in the request\n * and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

\n *
    \n *
  • \n *

    \n * x-amz-copy-source-if-match condition evaluates to true

    \n *
  • \n *
  • \n *

    \n * x-amz-copy-source-if-unmodified-since condition evaluates to\n * false

    \n *
  • \n *
\n *\n *

If both the x-amz-copy-source-if-none-match and\n * x-amz-copy-source-if-modified-since headers are present in the request and\n * evaluate as follows, Amazon S3 returns the 412 Precondition Failed response\n * code:

\n *
    \n *
  • \n *

    \n * x-amz-copy-source-if-none-match condition evaluates to false

    \n *
  • \n *
  • \n *

    \n * x-amz-copy-source-if-modified-since condition evaluates to\n * true

    \n *
  • \n *
\n *\n * \n *

All headers with the x-amz- prefix, including\n * x-amz-copy-source, must be signed.

\n *
\n *

\n * Server-side encryption\n *

\n *

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with AWS managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using\n * Server-Side Encryption.

\n *

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more\n * information, see Amazon S3 Bucket Keys in the Amazon Simple Storage Service Developer Guide.

\n *

\n * Access Control List (ACL)-Specific Request\n * Headers\n *

\n *

When copying an object, you can optionally use headers to grant ACL-based permissions.\n * By default, all objects are private. Only the owner has full access control. When adding a\n * new object, you can grant permissions to individual AWS accounts or to predefined groups\n * defined by Amazon S3. These permissions are then added to the ACL on the object. For more\n * information, see Access Control List (ACL) Overview and Managing ACLs Using the REST\n * API.

\n *\n *

\n * Storage Class Options\n *

\n *

You can use the CopyObject operation to change the storage class of an\n * object that is already stored in Amazon S3 using the StorageClass parameter. For\n * more information, see Storage\n * Classes in the Amazon S3 Service Developer Guide.

\n *

\n * Versioning\n *

\n *

By default, x-amz-copy-source identifies the current version of an object\n * to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was\n * deleted. To copy a different version, use the versionId subresource.

\n *

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for\n * the object being copied. This version ID is different from the version ID of the source\n * object. Amazon S3 returns the version ID of the copied object in the\n * x-amz-version-id response header in the response.

\n *

If you do not enable versioning or suspend it on the target bucket, the version ID that\n * Amazon S3 generates is always null.

\n *

If the source object's storage class is GLACIER, you must restore a copy of this object\n * before you can use it as a source object for the copy operation. For more information, see\n * RestoreObject.

\n *

The following operations are related to CopyObject:

\n * \n *

For more information, see Copying\n * Objects.

\n */\nexport class CopyObjectCommand extends $Command<\n CopyObjectCommandInput,\n CopyObjectCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: CopyObjectCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getThrow200ExceptionsPlugin(configuration));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CopyObjectCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: CopyObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CopyObjectOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: CopyObjectCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlCopyObjectCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlCopyObjectCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { GetObjectOutput, GetObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlGetObjectCommand, serializeAws_restXmlGetObjectCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type GetObjectCommandInput = GetObjectRequest;\nexport type GetObjectCommandOutput = GetObjectOutput & __MetadataBearer;\n\n/**\n *

Retrieves objects from Amazon S3. To use GET, you must have READ\n * access to the object. If you grant READ access to the anonymous user, you can\n * return the object without using an authorization header.

\n *\n *

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer\n * file system. You can, however, create a logical hierarchy by using object key names that\n * imply a folder structure. For example, instead of naming an object sample.jpg,\n * you can name it photos/2006/February/sample.jpg.

\n *\n *

To get an object from such a logical hierarchy, specify the full key name for the object\n * in the GET operation. For a virtual hosted-style request example, if you have\n * the object photos/2006/February/sample.jpg, specify the resource as\n * /photos/2006/February/sample.jpg. For a path-style request example, if you\n * have the object photos/2006/February/sample.jpg in the bucket named\n * examplebucket, specify the resource as\n * /examplebucket/photos/2006/February/sample.jpg. For more information about\n * request types, see HTTP Host Header Bucket Specification.

\n *\n *

To distribute large files to many people, you can save bandwidth costs by using\n * BitTorrent. For more information, see Amazon S3\n * Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

\n *\n *

If the object you are retrieving is stored in the S3 Glacier or\n * S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or\n * S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a\n * copy using RestoreObject. Otherwise, this operation returns an\n * InvalidObjectStateError error. For information about restoring archived\n * objects, see Restoring Archived\n * Objects.

\n *\n *

Encryption request headers, like x-amz-server-side-encryption, should not\n * be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your\n * object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

\n *

If you encrypt an object by using server-side encryption with customer-provided\n * encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,\n * you must use the following headers:

\n *
    \n *
  • \n *

    x-amz-server-side-encryption-customer-algorithm

    \n *
  • \n *
  • \n *

    x-amz-server-side-encryption-customer-key

    \n *
  • \n *
  • \n *

    x-amz-server-side-encryption-customer-key-MD5

    \n *
  • \n *
\n *

For more information about SSE-C, see Server-Side Encryption (Using\n * Customer-Provided Encryption Keys).

\n *\n *

Assuming you have permission to read object tags (permission for the\n * s3:GetObjectVersionTagging action), the response also returns the\n * x-amz-tagging-count header that provides the count of number of tags\n * associated with the object. You can use GetObjectTagging to retrieve\n * the tag set associated with an object.

\n *\n *

\n * Permissions\n *

\n *

You need the s3:GetObject permission for this operation. For more\n * information, see Specifying Permissions\n * in a Policy. If the object you request does not exist, the error Amazon S3 returns\n * depends on whether you also have the s3:ListBucket permission.

\n *
    \n *
  • \n *

    If you have the s3:ListBucket permission on the bucket, Amazon S3 will\n * return an HTTP status code 404 (\"no such key\") error.

    \n *
  • \n *
  • \n *

    If you don’t have the s3:ListBucket permission, Amazon S3 will return an\n * HTTP status code 403 (\"access denied\") error.

    \n *
  • \n *
\n *\n *\n *

\n * Versioning\n *

\n *

By default, the GET operation returns the current version of an object. To return a\n * different version, use the versionId subresource.

\n *\n * \n *

If the current version of the object is a delete marker, Amazon S3 behaves as if the\n * object was deleted and includes x-amz-delete-marker: true in the\n * response.

\n *
\n *\n *\n *

For more information about versioning, see PutBucketVersioning.

\n *\n *

\n * Overriding Response Header Values\n *

\n *

There are times when you want to override certain response header values in a GET\n * response. For example, you might override the Content-Disposition response header value in\n * your GET request.

\n *\n *

You can override values for a set of response headers using the following query\n * parameters. These response header values are sent only on a successful request, that is,\n * when status code 200 OK is returned. The set of headers you can override using these\n * parameters is a subset of the headers that Amazon S3 accepts when you create an object. The\n * response headers that you can override for the GET response are Content-Type,\n * Content-Language, Expires, Cache-Control,\n * Content-Disposition, and Content-Encoding. To override these\n * header values in the GET response, you use the following request parameters.

\n *\n * \n *

You must sign the request, either using an Authorization header or a presigned URL,\n * when using these parameters. They cannot be used with an unsigned (anonymous)\n * request.

\n *
\n *
    \n *
  • \n *

    \n * response-content-type\n *

    \n *
  • \n *
  • \n *

    \n * response-content-language\n *

    \n *
  • \n *
  • \n *

    \n * response-expires\n *

    \n *
  • \n *
  • \n *

    \n * response-cache-control\n *

    \n *
  • \n *
  • \n *

    \n * response-content-disposition\n *

    \n *
  • \n *
  • \n *

    \n * response-content-encoding\n *

    \n *
  • \n *
\n *\n *

\n * Additional Considerations about Request Headers\n *

\n *\n *

If both of the If-Match and If-Unmodified-Since headers are\n * present in the request as follows: If-Match condition evaluates to\n * true, and; If-Unmodified-Since condition evaluates to\n * false; then, S3 returns 200 OK and the data requested.

\n *\n *

If both of the If-None-Match and If-Modified-Since headers are\n * present in the request as follows: If-None-Match condition evaluates to\n * false, and; If-Modified-Since condition evaluates to\n * true; then, S3 returns 304 Not Modified response code.

\n *\n *

For more information about conditional requests, see RFC 7232.

\n *\n *

The following operations are related to GetObject:

\n * \n */\nexport class GetObjectCommand extends $Command {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: GetObjectCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"GetObjectCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: GetObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: GetObjectOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: GetObjectCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlGetObjectCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlGetObjectCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { DeleteObjectOutput, DeleteObjectRequest } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlDeleteObjectCommand,\n serializeAws_restXmlDeleteObjectCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type DeleteObjectCommandInput = DeleteObjectRequest;\nexport type DeleteObjectCommandOutput = DeleteObjectOutput & __MetadataBearer;\n\n/**\n *

Removes the null version (if there is one) of an object and inserts a delete marker,\n * which becomes the latest version of the object. If there isn't a null version, Amazon S3 does\n * not remove any objects.

\n *\n *

To remove a specific version, you must be the bucket owner and you must use the version\n * Id subresource. Using this subresource permanently deletes the version. If the object\n * deleted is a delete marker, Amazon S3 sets the response header,\n * x-amz-delete-marker, to true.

\n *\n *

If the object you want to delete is in a bucket where the bucket versioning\n * configuration is MFA Delete enabled, you must include the x-amz-mfa request\n * header in the DELETE versionId request. Requests that include\n * x-amz-mfa must use HTTPS.

\n *\n *

For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

\n *\n *

You can delete objects by explicitly calling the DELETE Object API or configure its\n * lifecycle (PutBucketLifecycle) to\n * enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or\n * deleting objects from your bucket, you must deny them the s3:DeleteObject,\n * s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration\n * actions.

\n *\n *

The following operation is related to DeleteObject:

\n * \n */\nexport class DeleteObjectCommand extends $Command<\n DeleteObjectCommandInput,\n DeleteObjectCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: DeleteObjectCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"DeleteObjectCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: DeleteObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: DeleteObjectOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: DeleteObjectCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlDeleteObjectCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlDeleteObjectCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { ListObjectsV2Output, ListObjectsV2Request } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlListObjectsV2Command,\n serializeAws_restXmlListObjectsV2Command,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type ListObjectsV2CommandInput = ListObjectsV2Request;\nexport type ListObjectsV2CommandOutput = ListObjectsV2Output & __MetadataBearer;\n\n/**\n *

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request\n * parameters as selection criteria to return a subset of the objects in a bucket. A 200\n * OK response can contain valid or invalid XML. Make sure to design your\n * application to parse the contents of the response and handle it appropriately.

\n *\n *

To use this operation, you must have READ access to the bucket.

\n *\n *

To use this operation in an AWS Identity and Access Management (IAM) policy, you must\n * have permissions to perform the s3:ListBucket action. The bucket owner has\n * this permission by default and can grant this permission to others. For more information\n * about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n * Resources.

\n * \n *

This section describes the latest revision of the API. We recommend that you use this\n * revised API for application development. For backward compatibility, Amazon S3 continues to\n * support the prior version of this API, ListObjects.

\n *
\n *\n *

To get a list of your buckets, see ListBuckets.

\n *\n *

The following operations are related to ListObjectsV2:

\n * \n */\nexport class ListObjectsV2Command extends $Command<\n ListObjectsV2CommandInput,\n ListObjectsV2CommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: ListObjectsV2CommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListObjectsV2Command\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: ListObjectsV2Request.filterSensitiveLog,\n outputFilterSensitiveLog: ListObjectsV2Output.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: ListObjectsV2CommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlListObjectsV2Command(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlListObjectsV2Command(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { HttpRequest } from \"@aws-sdk/types\";\n\nexport function formatUrl(request: Omit): string {\n const { port, query } = request;\n let { protocol, path, hostname } = request;\n if (protocol && protocol.substr(-1) !== \":\") {\n protocol += \":\";\n }\n if (port) {\n hostname += `:${port}`;\n }\n if (path && path.charAt(0) !== \"/\") {\n path = `/${path}`;\n }\n let queryString = query ? buildQueryString(query) : \"\";\n if (queryString && queryString[0] !== \"?\") {\n queryString = `?${queryString}`;\n }\n return `${protocol}//${hostname}${path}${queryString}`;\n}\n","import { Client, Command } from \"@aws-sdk/smithy-client\";\nimport { BuildMiddleware, HttpRequest, MetadataBearer } from \"@aws-sdk/types\";\n\nexport async function createRequest<\n InputTypesUnion extends object,\n InputType extends InputTypesUnion,\n OutputType extends MetadataBearer = MetadataBearer\n>(\n client: Client,\n command: Command\n): Promise {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const interceptMiddleware: BuildMiddleware = (next) => async (args) => {\n return { output: { request: args.request } as any, response: undefined };\n };\n const clientStack = client.middlewareStack.clone();\n\n // @ts-ignore: add middleware to the last of 'build' step\n clientStack.add(interceptMiddleware, {\n step: \"build\",\n priority: \"low\",\n });\n\n const handler = command.resolveMiddleware(clientStack, client.config, undefined);\n\n // @ts-ignore\n return await handler(command).then((output) => output.output.request);\n}\n","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\n\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\n\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\n\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\n\nexport const SEC_HEADER_PATTERN = /^sec-/;\n\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\n\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\n\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\n\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\n\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { Credentials, HashConstructor, SourceData } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\n\nconst signingKeyCache: { [key: string]: Uint8Array } = {};\nconst cacheQueue: Array = [];\n\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate: string, region: string, service: string): string {\n return `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\n}\n\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport const getSigningKey = async (\n sha256Constructor: HashConstructor,\n credentials: Credentials,\n shortDate: string,\n region: string,\n service: string\n): Promise => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift() as string];\n }\n\n let key: SourceData = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key as Uint8Array);\n};\n\n/**\n * @internal\n */\nexport function clearCredentialCache(): void {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}\n\nfunction hmac(ctor: HashConstructor, secret: SourceData, data: SourceData): Promise {\n const hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n","import { HeaderBag, HttpRequest } from \"@aws-sdk/types\";\n\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalHeaders(\n { headers }: HttpRequest,\n unsignableHeaders?: Set,\n signableHeaders?: Set\n): HeaderBag {\n const canonical: HeaderBag = {};\n for (const headerName of Object.keys(headers).sort()) {\n const canonicalHeaderName = headerName.toLowerCase();\n if (\n canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)\n ) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n\n return canonical;\n}\n","export const escapeUri = (uri: string): string =>\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n\nconst hexEncode = (c: string) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { HttpRequest } from \"@aws-sdk/types\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n\nimport { SIGNATURE_HEADER } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalQuery({ query = {} }: HttpRequest): string {\n const keys: Array = [];\n const serialized: { [key: string]: string } = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${escapeUri(key)}=${escapeUri(value)}`;\n } else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(\n (encoded: Array, value: string) => encoded.concat([`${escapeUri(key)}=${escapeUri(value)}`]),\n []\n )\n .join(\"&\");\n }\n }\n\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized) // omit any falsy values\n .join(\"&\");\n}\n","import { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { HashConstructor, HttpRequest } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n\n/**\n * @internal\n */\nexport async function getPayloadHash(\n { headers, body }: HttpRequest,\n hashConstructor: HashConstructor\n): Promise {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(body);\n return toHex(await hashCtor.digest());\n }\n\n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return UNSIGNED_PAYLOAD;\n}\n","import { HeaderBag } from \"@aws-sdk/types\";\n\nexport function hasHeader(soughtHeader: string, headers: HeaderBag): boolean {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n}\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\n/**\n * @internal\n */\nexport function cloneRequest({ headers, query, ...rest }: HttpRequest): HttpRequest {\n return {\n ...rest,\n headers: { ...headers },\n query: query ? cloneQuery(query) : undefined,\n };\n}\n\nfunction cloneQuery(query: QueryParameterBag): QueryParameterBag {\n return Object.keys(query).reduce((carry: QueryParameterBag, paramName: string) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\n\n/**\n * @internal\n */\nexport function moveHeadersToQuery(\n request: HttpRequest,\n options: { unhoistableHeaders?: Set } = {}\n): HttpRequest & { query: QueryParameterBag } {\n const { headers, query = {} as QueryParameterBag } =\n typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n\n return {\n ...request,\n headers,\n query,\n };\n}\n","import { HttpRequest } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n\n/**\n * @internal\n */\nexport function prepareRequest(request: HttpRequest): HttpRequest {\n // Create a clone of the request object that does not clone the body\n request = typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n\n return request;\n}\n","export function iso8601(time: number | string | Date): string {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\n\nexport function toDate(time: number | string | Date): Date {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n\n return time;\n}\n","import {\n Credentials,\n DateInput,\n EventSigner,\n EventSigningArguments,\n FormattedEvent,\n HashConstructor,\n HeaderBag,\n HttpRequest,\n Provider,\n RequestPresigner,\n RequestPresigningArguments,\n RequestSigner,\n RequestSigningArguments,\n SigningArguments,\n StringSigner,\n} from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport {\n ALGORITHM_IDENTIFIER,\n ALGORITHM_QUERY_PARAM,\n AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM,\n EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM,\n MAX_PRESIGNED_TTL,\n SHA256_HEADER,\n SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n TOKEN_HEADER,\n TOKEN_QUERY_PARAM,\n} from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./hasHeader\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\n\nexport interface SignatureV4Init {\n /**\n * The service signing name.\n */\n service: string;\n\n /**\n * The region name or a function that returns a promise that will be\n * resolved with the region name.\n */\n region: string | Provider;\n\n /**\n * The credentials with which the request should be signed or a function\n * that returns a promise that will be resolved with credentials.\n */\n credentials: Credentials | Provider;\n\n /**\n * A constructor function for a hash object that will calculate SHA-256 HMAC\n * checksums.\n */\n sha256?: HashConstructor;\n\n /**\n * Whether to uri-escape the request URI path as part of computing the\n * canonical request string. This is required for every AWS service, except\n * Amazon S3, as of late 2017.\n *\n * @default [true]\n */\n uriEscapePath?: boolean;\n\n /**\n * Whether to calculate a checksum of the request body and include it as\n * either a request header (when signing) or as a query string parameter\n * (when presigning). This is required for AWS Glacier and Amazon S3 and optional for\n * every other AWS service as of late 2017.\n *\n * @default [true]\n */\n applyChecksum?: boolean;\n}\n\nexport interface SignatureV4CryptoInit {\n sha256: HashConstructor;\n}\n\nexport class SignatureV4 implements RequestPresigner, RequestSigner, StringSigner, EventSigner {\n private readonly service: string;\n private readonly regionProvider: Provider;\n private readonly credentialProvider: Provider;\n private readonly sha256: HashConstructor;\n private readonly uriEscapePath: boolean;\n private readonly applyChecksum: boolean;\n\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true,\n }: SignatureV4Init & SignatureV4CryptoInit) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeRegionProvider(region);\n this.credentialProvider = normalizeCredentialsProvider(credentials);\n }\n\n public async presign(originalRequest: HttpRequest, options: RequestPresigningArguments = {}): Promise {\n const {\n signingDate = new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n signingRegion,\n signingService,\n } = options;\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\"\n );\n }\n\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders });\n\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n\n return request;\n }\n\n public async sign(stringToSign: string, options?: SigningArguments): Promise;\n public async sign(event: FormattedEvent, options: EventSigningArguments): Promise;\n public async sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise;\n public async sign(toSign: any, options: any): Promise {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n\n private async signEvent(\n { headers, payload }: FormattedEvent,\n { signingDate = new Date(), priorSignature, signingRegion, signingService }: EventSigningArguments\n ): Promise {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload } as any, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n\n private async signString(\n stringToSign: string,\n { signingDate = new Date(), signingRegion, signingService }: SigningArguments = {}\n ): Promise {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private async signRequest(\n requestToSign: HttpRequest,\n {\n signingDate = new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService,\n }: RequestSigningArguments = {}\n ): Promise {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n\n return request;\n }\n\n private createCanonicalRequest(request: HttpRequest, canonicalHeaders: HeaderBag, payloadHash: string): string {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n\n private async createStringToSign(\n longDate: string,\n credentialScope: string,\n canonicalRequest: string\n ): Promise {\n const hash = new this.sha256();\n hash.update(canonicalRequest);\n const hashedRequest = await hash.digest();\n\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n\n private getCanonicalPath({ path }: HttpRequest): string {\n if (this.uriEscapePath) {\n const doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return `/${doubleEncoded.replace(/%2F/g, \"/\")}`;\n }\n\n return path;\n }\n\n private async getSignature(\n longDate: string,\n credentialScope: string,\n keyPromise: Promise,\n canonicalRequest: string\n ): Promise {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n\n const hash = new this.sha256(await keyPromise);\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private getSigningKey(\n credentials: Credentials,\n region: string,\n shortDate: string,\n service?: string\n ): Promise {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst formatDate = (now: DateInput): { longDate: string; shortDate: string } => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.substr(0, 8),\n };\n};\n\nconst getCanonicalHeaderList = (headers: object): string => Object.keys(headers).sort().join(\";\");\n\nconst normalizeRegionProvider = (region: string | Provider): Provider => {\n if (typeof region === \"string\") {\n const promisified = Promise.resolve(region);\n return () => promisified;\n } else {\n return region;\n }\n};\n\nconst normalizeCredentialsProvider = (credentials: Credentials | Provider): Provider => {\n if (typeof credentials === \"object\") {\n const promisified = Promise.resolve(credentials);\n return () => promisified;\n } else {\n return credentials;\n }\n};\n","export * from \"./credentialDerivation\";\nexport * from \"./SignatureV4\";\n","export const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const SHA256_HEADER = \"X-Amz-Content-Sha256\";\n\nexport const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const HOST_HEADER = \"host\";\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n","import { SignatureV4, SignatureV4CryptoInit, SignatureV4Init } from \"@aws-sdk/signature-v4\";\nimport { RequestPresigner, RequestPresigningArguments } from \"@aws-sdk/types\";\nimport { HttpRequest as IHttpRequest } from \"@aws-sdk/types\";\n\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n\n/**\n * PartialBy makes properties specified in K optional in interface T\n * see: https://stackoverflow.com/questions/43159887/make-a-single-property-optional-in-typescript\n * */\ntype Omit = Pick>;\ntype PartialBy = Omit & Partial>;\n\nexport type S3RequestPresignerOptions = PartialBy<\n SignatureV4Init & SignatureV4CryptoInit,\n \"service\" | \"uriEscapePath\"\n> & { signingName?: string };\n\nexport class S3RequestPresigner implements RequestPresigner {\n private readonly signer: SignatureV4;\n constructor(options: S3RequestPresignerOptions) {\n const resolvedOptions = {\n // Allow `signingName` because we want to support usecase of supply client's resolved config\n // directly. Where service equals signingName.\n service: options.signingName || options.service || \"s3\",\n uriEscapePath: options.uriEscapePath || false,\n ...options,\n };\n this.signer = new SignatureV4(resolvedOptions);\n }\n\n public async presign(\n requestToSign: IHttpRequest,\n { unsignableHeaders = new Set(), unhoistableHeaders = new Set(), ...options }: RequestPresigningArguments = {}\n ): Promise {\n unsignableHeaders.add(\"content-type\");\n // S3 requires SSE headers to be signed in headers instead of query\n // See: https://github.com/aws/aws-sdk-js-v3/issues/1576\n Object.keys(requestToSign.headers)\n .map((header) => header.toLowerCase())\n .filter((header) => header.startsWith(\"x-amz-server-side-encryption\"))\n .forEach((header) => {\n unhoistableHeaders.add(header);\n });\n requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;\n if (!requestToSign.headers[\"host\"]) {\n requestToSign.headers.host = requestToSign.hostname;\n }\n return this.signer.presign(requestToSign, {\n expiresIn: 900,\n unsignableHeaders,\n unhoistableHeaders,\n ...options,\n });\n }\n}\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { Client, Command } from \"@aws-sdk/smithy-client\";\nimport { BuildMiddleware, MetadataBearer, RequestPresigningArguments } from \"@aws-sdk/types\";\nimport { formatUrl } from \"@aws-sdk/util-format-url\";\n\nimport { S3RequestPresigner } from \"./presigner\";\n\nexport const getSignedUrl = async <\n InputTypesUnion extends object,\n InputType extends InputTypesUnion,\n OutputType extends MetadataBearer = MetadataBearer\n>(\n client: Client,\n command: Command,\n options: RequestPresigningArguments = {}\n): Promise => {\n const s3Presigner = new S3RequestPresigner({ ...client.config });\n const presignInterceptMiddleware: BuildMiddleware = (next, context) => async (\n args\n ) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n throw new Error(\"Request to be presigned is not an valid HTTP request.\");\n }\n // Retry information headers are not meaningful in presigned URLs\n delete request.headers[\"amz-sdk-invocation-id\"];\n delete request.headers[\"amz-sdk-request\"];\n\n const presigned = await s3Presigner.presign(request, {\n ...options,\n signingRegion: options.signingRegion ?? context[\"signing_region\"],\n signingService: options.signingService ?? context[\"signing_service\"],\n });\n return {\n // Intercept the middleware stack by returning fake response\n response: {},\n output: {\n $metadata: { httpStatusCode: 200 },\n presigned,\n },\n } as any;\n };\n const middlewareName = \"presignInterceptMiddleware\";\n client.middlewareStack.addRelativeTo(presignInterceptMiddleware, {\n name: middlewareName,\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n });\n\n let presigned: HttpRequest;\n try {\n const output = await client.send(command);\n //@ts-ignore the output is faked, so it's not actually OutputType\n presigned = output.presigned;\n } finally {\n client.middlewareStack.remove(middlewareName);\n }\n\n return formatUrl(presigned);\n};\n","export * from \"./presigner\";\nexport * from \"./getSignedUrl\";\n","export enum StorageErrorStrings {\n\tNO_CREDENTIALS = 'No credentials',\n\tNO_SRC_KEY = 'source param should be an object with the property \"key\" with value of type string',\n\tNO_DEST_KEY = 'destination param should be an object with the property \"key\" with value of type string',\n\tINVALID_BLOB = 'Object must be an instance of Blob',\n}\n\nexport enum AWSS3ProviderMultipartCopierErrors {\n\tCLEANUP_FAILED = 'Multipart copy clean up failed',\n\tNO_OBJECT_FOUND = 'Object does not exist',\n\tINVALID_QUEUESIZE = 'Queue size must be a positive number',\n\tNO_COPYSOURCE = 'You must specify a copy source',\n\tMAX_NUM_PARTS_EXCEEDED = 'Only a maximum of 10000 parts are allowed',\n}\n\nexport enum AWSS3ProviderUploadErrorStrings {\n\tUPLOAD_PAUSED_MESSAGE = 'paused',\n}\n","/*\n * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { HttpHandlerOptions } from '@aws-sdk/types';\nimport { HttpHandler, HttpRequest, HttpResponse } from '@aws-sdk/protocol-http';\nimport { buildQueryString } from '@aws-sdk/querystring-builder';\nimport axios, {\n\tAxiosRequestConfig,\n\tMethod,\n\tCancelTokenSource,\n\tAxiosRequestHeaders,\n\tAxiosRequestTransformer,\n} from 'axios';\nimport { ConsoleLogger as Logger, Platform } from '@aws-amplify/core';\nimport { FetchHttpHandlerOptions } from '@aws-sdk/fetch-http-handler';\nimport * as events from 'events';\nimport { AWSS3ProviderUploadErrorStrings } from '../common/StorageErrorStrings';\n\n/**\nExtending the axios interface here to make headers required, (previously, \nthey were not required on the type we were using, but our implementation\ndoes not currently account for missing headers. This worked previously, \nbecause the previous `headers` type was `any`.\n*/\ninterface AxiosTransformer extends Partial {\n\t(data: any, headers: AxiosRequestHeaders): any;\n}\n\nconst logger = new Logger('axios-http-handler');\nexport const SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';\nexport const SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';\n\nexport type ErrorWithResponse = {\n\tresponse: { status: number } & { [key: string]: any };\n};\n\nfunction isBlob(body: any): body is Blob {\n\treturn typeof Blob !== 'undefined' && body instanceof Blob;\n}\n\nfunction hasErrorResponse(error: any): error is ErrorWithResponse {\n\treturn (\n\t\ttypeof error !== 'undefined' &&\n\t\tObject.prototype.hasOwnProperty.call(error, 'response') &&\n\t\ttypeof error.response !== 'undefined' &&\n\t\tObject.prototype.hasOwnProperty.call(error.response, 'status') &&\n\t\ttypeof error.response.status === 'number'\n\t);\n}\n\nconst normalizeHeaders = (\n\theaders: AxiosRequestHeaders,\n\tnormalizedName: string\n) => {\n\tfor (const [k, v] of Object.entries(headers)) {\n\t\tif (\n\t\t\tk !== normalizedName &&\n\t\t\tk.toUpperCase() === normalizedName.toUpperCase()\n\t\t) {\n\t\t\theaders[normalizedName] = v;\n\t\t\tdelete headers[k];\n\t\t}\n\t}\n};\n\nexport const reactNativeRequestTransformer: AxiosTransformer[] = [\n\t(data: any, headers: AxiosRequestHeaders): any => {\n\t\tif (isBlob(data)) {\n\t\t\tnormalizeHeaders(headers, 'Content-Type');\n\t\t\tnormalizeHeaders(headers, 'Accept');\n\t\t\treturn data;\n\t\t}\n\t\t// Axios' default transformRequest is an array\n\t\treturn axios.defaults.transformRequest[0].call(null, data, headers);\n\t},\n];\n\nexport type AxiosHttpHandlerOptions = HttpHandlerOptions & {\n\tcancelTokenSource?: CancelTokenSource;\n\temitter?: events.EventEmitter;\n};\n\nexport class AxiosHttpHandler implements HttpHandler {\n\tconstructor(\n\t\tprivate readonly httpOptions: FetchHttpHandlerOptions = {},\n\t\tprivate readonly emitter?: events.EventEmitter,\n\t\tprivate readonly cancelTokenSource?: CancelTokenSource\n\t) {}\n\n\tdestroy(): void {\n\t\t// Do nothing. TLS and HTTP/2 connection pooling is handled by the\n\t\t// browser.\n\t}\n\n\thandle(\n\t\trequest: HttpRequest,\n\t\toptions: AxiosHttpHandlerOptions\n\t): Promise<{ response: HttpResponse }> {\n\t\tconst requestTimeoutInMs = this.httpOptions.requestTimeout;\n\t\t// prioritize the call specific event emitter, this is useful for multipart upload as each individual parts has\n\t\t// their own event emitter, without having to create s3client for every individual calls.\n\t\tconst emitter = options.emitter || this.emitter;\n\n\t\tlet path = request.path;\n\t\tif (request.query) {\n\t\t\tconst queryString = buildQueryString(request.query);\n\t\t\tif (queryString) {\n\t\t\t\tpath += `?${queryString}`;\n\t\t\t}\n\t\t}\n\n\t\tconst port = request.port;\n\t\tconst url = `${request.protocol}//${request.hostname}${\n\t\t\tport ? `:${port}` : ''\n\t\t}${path}`;\n\n\t\tconst axiosRequest: AxiosRequestConfig = {};\n\t\taxiosRequest.url = url;\n\t\taxiosRequest.method = request.method as Method;\n\t\taxiosRequest.headers = request.headers;\n\n\t\t// The host header is automatically added by the browser and adding it explicitly in the\n\t\t// axios request throws an error https://github.com/aws-amplify/amplify-js/issues/5376\n\t\t// This is because the host header is a forbidden header for the http client to set\n\t\t// see https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name and\n\t\t// https://fetch.spec.whatwg.org/#forbidden-header-name\n\t\t// The reason we are removing this header here instead of in the aws-sdk's client\n\t\t// middleware is that the host header is required to be in the request signature and if\n\t\t// we remove it from the middlewares, then the request fails because the header is added\n\t\t// by the browser but is absent from the signature.\n\t\tdelete axiosRequest.headers['host'];\n\n\t\tif (request.body) {\n\t\t\taxiosRequest.data = request.body;\n\t\t} else {\n\t\t\t// Fix for https://github.com/aws-amplify/amplify-js/issues/5432\n\n\t\t\t// If the POST request body is empty but content-type header is set, axios is forcibly removing it\n\t\t\t// See https://github.com/axios/axios/issues/1535 and refusing to fix it https://github.com/axios/axios/issues/755\n\t\t\t// This change is a workaround to set the data as null (instead of undefined) to prevent axios from\n\t\t\t// removing the content-type header. Link for the source code\n\t\t\t// https://github.com/axios/axios/blob/dc4bc49673943e35280e5df831f5c3d0347a9393/lib/adapters/xhr.js#L121-L123\n\n\t\t\tif (\n\t\t\t\taxiosRequest.headers[\n\t\t\t\t\tObject.keys(axiosRequest.headers).find(\n\t\t\t\t\t\tkey => key.toLowerCase() === 'content-type'\n\t\t\t\t\t)\n\t\t\t\t]\n\t\t\t) {\n\t\t\t\taxiosRequest.data = null;\n\t\t\t}\n\t\t}\n\t\tif (emitter) {\n\t\t\t// TODO: Unify linting rules across JS repo\n\t\t\taxiosRequest.onUploadProgress = function(event) {\n\t\t\t\temitter.emit(SEND_UPLOAD_PROGRESS_EVENT, event);\n\t\t\t\tlogger.debug(event);\n\t\t\t};\n\t\t\t// TODO: Unify linting rules across JS repo\n\t\t\taxiosRequest.onDownloadProgress = function(event) {\n\t\t\t\temitter.emit(SEND_DOWNLOAD_PROGRESS_EVENT, event);\n\t\t\t\tlogger.debug(event);\n\t\t\t};\n\t\t}\n\t\t// If a cancel token source is passed down from the provider, allows cancellation of in-flight requests\n\t\tif (this.cancelTokenSource) {\n\t\t\taxiosRequest.cancelToken = this.cancelTokenSource.token;\n\t\t}\n\n\t\tif (options.cancelTokenSource) {\n\t\t\taxiosRequest.cancelToken = options.cancelTokenSource.token;\n\t\t}\n\n\t\t// From gamma release, aws-sdk now expects all response type to be of blob or streams\n\t\taxiosRequest.responseType = 'blob';\n\t\t// In Axios, Blobs are identified by calling Object.prototype.toString on the object. However, on React Native,\n\t\t// calling Object.prototype.toString on a Blob returns '[object Object]' instead of '[object Blob]', which causes\n\t\t// Axios to treat Blobs as generic Javascript objects. Therefore we need a to use a custom request transformer\n\t\t// to correctly handle Blob in React Native.\n\t\tif (Platform.isReactNative) {\n\t\t\taxiosRequest.transformRequest = reactNativeRequestTransformer;\n\t\t}\n\n\t\tconst raceOfPromises = [\n\t\t\taxios\n\t\t\t\t.request(axiosRequest)\n\t\t\t\t.then(response => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tresponse: new HttpResponse({\n\t\t\t\t\t\t\theaders: response.headers,\n\t\t\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\t\t\tbody: response.data,\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\t// Error\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message !==\n\t\t\t\t\t\tAWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE\n\t\t\t\t\t) {\n\t\t\t\t\t\tlogger.error(error.message);\n\t\t\t\t\t}\n\t\t\t\t\t// for axios' cancel error, we should re-throw it back so it's not considered an s3client error\n\t\t\t\t\t// if we return empty, or an abitrary error HttpResponse, it will be hard to debug down the line.\n\t\t\t\t\t//\n\t\t\t\t\t// for errors that does not have a 'response' object, it's very likely that it is an unexpected error for\n\t\t\t\t\t// example a disconnect. Without it we cannot meaningfully reconstruct a HttpResponse, and the AWS SDK might\n\t\t\t\t\t// consider the request successful by mistake. In this case we should also re-throw the error.\n\t\t\t\t\tif (axios.isCancel(error) || !hasErrorResponse(error)) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\t\t// otherwise, we should re-construct an HttpResponse from the error, so that it can be passed down to other\n\t\t\t\t\t// aws sdk middleware (e.g retry, clock skew correction, error message serializing)\n\t\t\t\t\treturn {\n\t\t\t\t\t\tresponse: new HttpResponse({\n\t\t\t\t\t\t\tstatusCode: error.response.status,\n\t\t\t\t\t\t\tbody: error.response?.data,\n\t\t\t\t\t\t\theaders: error.response?.headers,\n\t\t\t\t\t\t}),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\trequestTimeout(requestTimeoutInMs),\n\t\t];\n\t\treturn Promise.race(raceOfPromises);\n\t}\n}\n\nfunction requestTimeout(timeoutInMs: number = 0): Promise {\n\treturn new Promise((resolve, reject) => {\n\t\tif (timeoutInMs) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst timeoutError = new Error(\n\t\t\t\t\t`Request did not complete within ${timeoutInMs} ms`\n\t\t\t\t);\n\t\t\t\ttimeoutError.name = 'TimeoutError';\n\t\t\t\treject(timeoutError);\n\t\t\t}, timeoutInMs);\n\t\t}\n\t});\n}\n","export const AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' &&\ntypeof Symbol.for === 'function'\n\t? Symbol.for('amplify_default')\n\t: '@@amplify_default') as Symbol;\n\nexport const SET_CONTENT_LENGTH_HEADER = 'contentLengthMiddleware';\n\nexport const localTestingStorageEndpoint = 'http://localhost:20005';\n\nexport const UPLOADS_STORAGE_KEY = '__uploadInProgress';\n","import { Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from './StorageConstants';\n\nexport const byteLength = (x: unknown) => {\n\tif (typeof x === 'string') {\n\t\treturn x.length;\n\t} else if (isArrayBuffer(x)) {\n\t\treturn x.byteLength;\n\t} else if (isBlob(x)) {\n\t\treturn x.size;\n\t} else {\n\t\tthrow new Error('Cannot determine byte length of ' + x);\n\t}\n};\n\nexport const dispatchStorageEvent = (\n\ttrack: boolean,\n\tevent: string,\n\tattrs: any,\n\tmetrics: any,\n\tmessage: string\n): void => {\n\tif (track) {\n\t\tconst data = { attrs };\n\t\tif (metrics) {\n\t\t\tdata['metrics'] = metrics;\n\t\t}\n\t\tHub.dispatch(\n\t\t\t'storage',\n\t\t\t{\n\t\t\t\tevent,\n\t\t\t\tdata,\n\t\t\t\tmessage,\n\t\t\t},\n\t\t\t'Storage',\n\t\t\tAMPLIFY_SYMBOL\n\t\t);\n\t}\n};\n\nexport const isFile = (x: unknown): x is File => {\n\treturn typeof x !== 'undefined' && x instanceof File;\n};\n\nexport const isBlob = (x: unknown): x is Blob => {\n\treturn typeof x !== 'undefined' && x instanceof Blob;\n};\n\nconst isArrayBuffer = (x: unknown): x is ArrayBuffer => {\n\treturn typeof x !== 'undefined' && x instanceof ArrayBuffer;\n};\n","import { Int64 as IInt64 } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nexport interface Int64 extends IInt64 {}\n\n/**\n * A lossless representation of a signed, 64-bit integer. Instances of this\n * class may be used in arithmetic expressions as if they were numeric\n * primitives, but the binary representation will be preserved unchanged as the\n * `bytes` property of the object. The bytes should be encoded as big-endian,\n * two's complement integers.\n */\nexport class Int64 {\n constructor(readonly bytes: Uint8Array) {\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n\n static fromNumber(number: number): Int64 {\n if (number > 9223372036854775807 || number < -9223372036854775808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n\n if (number < 0) {\n negate(bytes);\n }\n\n return new Int64(bytes);\n }\n\n /**\n * Called implicitly by infix arithmetic operators.\n */\n valueOf(): number {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n\n toString() {\n return String(this.valueOf());\n }\n}\n\nfunction negate(bytes: Uint8Array): void {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0) break;\n }\n}\n","import { Decoder, Encoder, MessageHeaders, MessageHeaderValue } from \"@aws-sdk/types\";\nimport { fromHex, toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { Int64 } from \"./Int64\";\n\n/**\n * @internal\n */\nexport class HeaderMarshaller {\n constructor(private readonly toUtf8: Encoder, private readonly fromUtf8: Decoder) {}\n\n format(headers: MessageHeaders): Uint8Array {\n const chunks: Array = [];\n\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n\n return out;\n }\n\n private formatHeaderValue(header: MessageHeaderValue): Uint8Array {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? HEADER_VALUE_TYPE.boolTrue : HEADER_VALUE_TYPE.boolFalse]);\n case \"byte\":\n return Uint8Array.from([HEADER_VALUE_TYPE.byte, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, HEADER_VALUE_TYPE.short);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, HEADER_VALUE_TYPE.integer);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = HEADER_VALUE_TYPE.long;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, HEADER_VALUE_TYPE.byteArray);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, HEADER_VALUE_TYPE.string);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = HEADER_VALUE_TYPE.timestamp;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = HEADER_VALUE_TYPE.uuid;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n\n parse(headers: DataView): MessageHeaders {\n const out: MessageHeaders = {};\n let position = 0;\n\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n\n switch (headers.getUint8(position++)) {\n case HEADER_VALUE_TYPE.boolTrue:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case HEADER_VALUE_TYPE.boolFalse:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case HEADER_VALUE_TYPE.byte:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case HEADER_VALUE_TYPE.short:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case HEADER_VALUE_TYPE.integer:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case HEADER_VALUE_TYPE.long:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case HEADER_VALUE_TYPE.byteArray:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case HEADER_VALUE_TYPE.string:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case HEADER_VALUE_TYPE.timestamp:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case HEADER_VALUE_TYPE.uuid:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(\n uuidBytes.subarray(6, 8)\n )}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n\n return out;\n }\n}\n\nconst enum HEADER_VALUE_TYPE {\n boolTrue = 0,\n boolFalse,\n byte,\n short,\n integer,\n long,\n byteArray,\n string,\n timestamp,\n uuid,\n}\n\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\n\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n","import { Crc32 } from \"@aws-crypto/crc32\";\n\n// All prelude components are unsigned, 32-bit integers\nconst PRELUDE_MEMBER_LENGTH = 4;\n// The prelude consists of two components\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\n// Checksums are always CRC32 hashes.\nconst CHECKSUM_LENGTH = 4;\n// Messages must include a full prelude, a prelude checksum, and a message checksum\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\n\n/**\n * @internal\n */\nexport interface MessageParts {\n headers: DataView;\n body: Uint8Array;\n}\n\n/**\n * @internal\n */\nexport function splitMessage({ byteLength, byteOffset, buffer }: ArrayBufferView): MessageParts {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n\n const view = new DataView(buffer, byteOffset, byteLength);\n\n const messageLength = view.getUint32(0, false);\n\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(\n `The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`\n );\n }\n\n checksummer.update(\n new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH))\n );\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(\n `The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`\n );\n }\n\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(\n buffer,\n byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength,\n messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)\n ),\n };\n}\n","import { Crc32 } from \"@aws-crypto/crc32\";\nimport { Message, MessageHeaders } from \"@aws-sdk/types\";\nimport { Decoder, Encoder } from \"@aws-sdk/types\";\n\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\n\n/**\n * A marshaller that can convert binary-packed event stream messages into\n * JavaScript objects and back again into their binary format.\n */\nexport class EventStreamMarshaller {\n private readonly headerMarshaller: HeaderMarshaller;\n\n constructor(toUtf8: Encoder, fromUtf8: Decoder) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n }\n\n /**\n * Convert a structured JavaScript object with tagged headers into a binary\n * event stream message.\n */\n marshall({ headers: rawHeaders, body }: Message): Uint8Array {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n\n // Format message\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n\n // Write trailing message checksum\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n\n return out;\n }\n\n /**\n * Convert a binary event stream message into a JavaScript object with an\n * opaque, binary body and tagged, parsed headers.\n */\n unmarshall(message: ArrayBufferView): Message {\n const { headers, body } = splitMessage(message);\n\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n\n /**\n * Convert a structured JavaScript object with tagged headers into a binary\n * event stream message header.\n */\n formatHeaders(rawHeaders: MessageHeaders): Uint8Array {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n","export * from \"./EventStreamMarshaller\";\nexport * from \"./Int64\";\nexport * from \"./Message\";\n","export function getChunkedStream(source: AsyncIterable): AsyncIterable {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage: Uint8Array | null = null;\n let messageLengthBuffer: Uint8Array | null = null;\n const allocateMessage = (size: number) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false); //set big-endian Uint32 to 0~3 bytes\n };\n\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n } else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage as Uint8Array;\n } else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n\n const chunkLength = value.length;\n let currentOffset = 0;\n\n while (currentOffset < chunkLength) {\n // create new message if necessary\n if (!currentMessage) {\n // working on a new message, determine total length\n const bytesRemaining = chunkLength - currentOffset;\n // prevent edge case where total length spans 2 chunks\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(\n 4 - currentMessagePendingLength, // remaining bytes to fill the messageLengthBuffer\n bytesRemaining // bytes left in chunk\n );\n\n messageLengthBuffer.set(\n // @ts-ignore error TS2532: Object is possibly 'undefined' for value\n value.slice(currentOffset, currentOffset + numBytesForTotal),\n currentMessagePendingLength\n );\n\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n\n if (currentMessagePendingLength < 4) {\n // not enough information to create the current message\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n\n // write data into current message\n const numBytesToWrite = Math.min(\n currentMessageTotalLength - currentMessagePendingLength, // number of bytes left to complete message\n chunkLength - currentOffset // number of bytes left in the original chunk\n );\n currentMessage!.set(\n // @ts-ignore error TS2532: Object is possibly 'undefined' for value\n value.slice(currentOffset, currentOffset + numBytesToWrite),\n currentMessagePendingLength\n );\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n\n // check if a message is ready to be pushed\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n // push out the message\n yield currentMessage as Uint8Array;\n // cleanup\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n","import { EventStreamMarshaller as EventMarshaller } from \"@aws-sdk/eventstream-marshaller\";\nimport { Encoder, Message } from \"@aws-sdk/types\";\n\nexport type UnmarshalledStreamOptions = {\n eventMarshaller: EventMarshaller;\n deserializer: (input: { [name: string]: Message }) => Promise;\n toUtf8: Encoder;\n};\n\nexport function getUnmarshalledStream(\n source: AsyncIterable,\n options: UnmarshalledStreamOptions\n): AsyncIterable {\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventMarshaller.unmarshall(chunk);\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n // Unmodeled exception in event\n const unmodeledError = new Error((message.headers[\":error-message\"].value as string) || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value as string;\n throw unmodeledError;\n } else if (messageType === \"exception\") {\n // For modeled exception, push it to deserializer and throw after deserializing\n const code = message.headers[\":exception-type\"].value as string;\n const exception = { [code]: message };\n // Get parsed exception event in key(error code) value(structured error) pair.\n const deserializedException = await options.deserializer(exception);\n if (deserializedException.$unknown) {\n //this is an unmodeled exception then try parsing it with best effort\n const error = new Error(options.toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n } else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value as string]: message,\n };\n const deserialized = await options.deserializer(event);\n if (deserialized.$unknown) continue;\n yield deserialized;\n } else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n }\n },\n };\n}\n","import { EventStreamMarshaller as EventMarshaller } from \"@aws-sdk/eventstream-marshaller\";\nimport { Decoder, Encoder, EventStreamMarshaller as IEventStreamMarshaller, Message } from \"@aws-sdk/types\";\n\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getUnmarshalledStream } from \"./getUnmarshalledStream\";\n\nexport interface EventStreamMarshaller extends IEventStreamMarshaller {}\n\nexport interface EventStreamMarshallerOptions {\n utf8Encoder: Encoder;\n utf8Decoder: Decoder;\n}\n\nexport class EventStreamMarshaller {\n private readonly eventMarshaller: EventMarshaller;\n private readonly utfEncoder: Encoder;\n constructor({ utf8Encoder, utf8Decoder }: EventStreamMarshallerOptions) {\n this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n\n deserialize(\n body: AsyncIterable,\n deserializer: (input: { [event: string]: Message }) => Promise\n ): AsyncIterable {\n const chunkedStream = getChunkedStream(body);\n const unmarshalledStream = getUnmarshalledStream(chunkedStream, {\n eventMarshaller: this.eventMarshaller,\n deserializer,\n toUtf8: this.utfEncoder,\n });\n return unmarshalledStream;\n }\n\n serialize(input: AsyncIterable, serializer: (event: T) => Message): AsyncIterable {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const serializedIterator = async function* () {\n for await (const chunk of input) {\n const payloadBuf = self.eventMarshaller.marshall(serializer(chunk));\n yield payloadBuf;\n }\n // Ending frame\n yield new Uint8Array(0);\n };\n return {\n [Symbol.asyncIterator]: serializedIterator,\n };\n }\n}\n","import { Decoder, Encoder, EventSigner, EventStreamSerdeProvider, Provider } from \"@aws-sdk/types\";\n\nimport { EventStreamMarshaller } from \"./EventStreamMarshaller\";\n\n/** NodeJS event stream utils provider */\nexport const eventStreamSerdeProvider: EventStreamSerdeProvider = (options: {\n utf8Encoder: Encoder;\n utf8Decoder: Decoder;\n eventSigner: EventSigner | Provider;\n}) => new EventStreamMarshaller(options);\n","export * from \"./provider\";\nexport * from \"./EventStreamMarshaller\";\n","/**\n * A util function converting ReadableStream into an async iterable.\n * Reference: https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nexport const readableStreamtoIterable = (readableStream: ReadableStream): AsyncIterable => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value as T;\n }\n } finally {\n reader.releaseLock();\n }\n },\n});\n\n/**\n * A util function converting async iterable to a ReadableStream.\n */\nexport const iterableToReadableStream = (asyncIterable: AsyncIterable): ReadableStream => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n","import { EventStreamMarshaller as EventMarshaller } from \"@aws-sdk/eventstream-marshaller\";\nimport { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@aws-sdk/eventstream-serde-universal\";\nimport { Decoder, Encoder, EventStreamMarshaller as IEventStreamMarshaller, Message } from \"@aws-sdk/types\";\n\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\n\nexport interface EventStreamMarshaller extends IEventStreamMarshaller {}\n\nexport interface EventStreamMarshallerOptions {\n utf8Encoder: Encoder;\n utf8Decoder: Decoder;\n}\n\n/**\n * Utility class used to serialize and deserialize event streams in\n * browsers and ReactNative.\n *\n * In browsers where ReadableStream API is available:\n * * deserialize from ReadableStream to an async iterable of output structure\n * * serialize from async iterable of input structure to ReadableStream\n * In ReactNative where only async iterable API is available:\n * * deserialize from async iterable of binaries to async iterable of output structure\n * * serialize from async iterable of input structure to async iterable of binaries\n *\n * We use ReadableStream API in browsers because of the consistency with other\n * streaming operations, where ReadableStream API is used to denote streaming data.\n * Whereas in ReactNative, ReadableStream API is not available, we use async iterable\n * for streaming data although it has lower throughput.\n */\nexport class EventStreamMarshaller {\n private readonly eventMarshaller: EventMarshaller;\n private readonly universalMarshaller: UniversalEventStreamMarshaller;\n constructor({ utf8Encoder, utf8Decoder }: EventStreamMarshallerOptions) {\n this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder);\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n\n deserialize(\n body: ReadableStream | AsyncIterable,\n deserializer: (input: { [event: string]: Message }) => Promise\n ): AsyncIterable {\n const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n\n /**\n * Generate a stream that serialize events into stream of binary chunks;\n *\n * Caveat is that streaming request payload doesn't work on browser with native\n * xhr or fetch handler currently because they don't support upload streaming.\n * reference:\n * * https://bugs.chromium.org/p/chromium/issues/detail?id=688906\n * * https://bugzilla.mozilla.org/show_bug.cgi?id=1387483\n *\n */\n serialize(input: AsyncIterable, serializer: (event: T) => Message): ReadableStream | AsyncIterable {\n const serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n }\n}\n\nconst isReadableStream = (body: any): body is ReadableStream =>\n typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n","import { Decoder, Encoder, EventSigner, EventStreamSerdeProvider, Provider } from \"@aws-sdk/types\";\n\nimport { EventStreamMarshaller } from \"./EventStreamMarshaller\";\n\n/** browser event stream serde utils provider */\nexport const eventStreamSerdeProvider: EventStreamSerdeProvider = (options: {\n utf8Encoder: Encoder;\n utf8Decoder: Decoder;\n eventSigner: EventSigner | Provider;\n}) => new EventStreamMarshaller(options);\n","export * from \"./provider\";\nexport * from \"./EventStreamMarshaller\";\nexport * from \"./utils\";\n","export function blobReader(\n blob: Blob,\n onChunk: (chunk: Uint8Array) => void,\n chunkSize: number = 1024 * 1024\n): Promise {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n\n fileReader.addEventListener(\"error\", reject);\n fileReader.addEventListener(\"abort\", reject);\n\n const size = blob.size;\n let totalBytesRead = 0;\n\n function read() {\n if (totalBytesRead >= size) {\n resolve();\n return;\n }\n fileReader.readAsArrayBuffer(blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize)));\n }\n\n fileReader.addEventListener(\"load\", (event) => {\n const result = (event.target as any).result;\n onChunk(new Uint8Array(result));\n totalBytesRead += result.byteLength;\n // read the next block\n read();\n });\n\n // kick off the read\n read();\n });\n}\n","import { blobReader } from \"@aws-sdk/chunked-blob-reader\";\nimport { HashConstructor, StreamHasher } from \"@aws-sdk/types\";\n\nexport const blobHasher: StreamHasher = async function blobHasher(\n hashCtor: HashConstructor,\n blob: Blob\n): Promise {\n const hash = new hashCtor();\n\n await blobReader(blob, (chunk) => {\n hash.update(chunk);\n });\n\n return hash.digest();\n};\n","/**\n * @internal\n */\nexport const BLOCK_SIZE = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH = 16;\n\n/**\n * @internal\n */\nexport const INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n","import { Hash, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@aws-sdk/util-utf8-browser\";\n\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\n\nexport class Md5 implements Hash {\n private state = Uint32Array.from(INIT);\n private buffer: DataView = new DataView(new ArrayBuffer(BLOCK_SIZE));\n private bufferLength = 0;\n private bytesHashed = 0;\n private finished = false;\n\n update(sourceData: SourceData): void {\n if (isEmptyData(sourceData)) {\n return;\n } else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n const data = convertToBuffer(sourceData);\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n async digest(): Promise {\n if (!this.finished) {\n const { buffer, bufferLength: undecoratedLength, bytesHashed } = this;\n const bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 0b10000000);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n const out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (let i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n\n return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let a = state[0],\n b = state[1],\n c = state[2],\n d = state[3];\n\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n }\n}\n\nfunction cmn(q: number, a: number, b: number, x: number, s: number, t: number) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\n\nfunction ff(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n\nfunction convertToBuffer(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n\n return new Uint8Array(data);\n}\n","import { RegionInfo, RegionInfoProvider } from \"@aws-sdk/types\";\n\n// Partition default templates\nconst AWS_TEMPLATE = \"s3.{region}.amazonaws.com\";\nconst AWS_CN_TEMPLATE = \"s3.{region}.amazonaws.com.cn\";\nconst AWS_ISO_TEMPLATE = \"s3.{region}.c2s.ic.gov\";\nconst AWS_ISO_B_TEMPLATE = \"s3.{region}.sc2s.sgov.gov\";\nconst AWS_US_GOV_TEMPLATE = \"s3.{region}.amazonaws.com\";\n\n// Partition regions\nconst AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nconst AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nconst AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nconst AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nconst AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\n\nexport const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => {\n let regionInfo: RegionInfo | undefined = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"af-south-1\":\n regionInfo = {\n hostname: \"s3.af-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-east-1\":\n regionInfo = {\n hostname: \"s3.ap-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"s3.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"s3.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"s3.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"s3.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"s3.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"aws-global\":\n regionInfo = {\n hostname: \"s3.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"s3.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"s3.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"cn-northwest-1\":\n regionInfo = {\n hostname: \"s3.cn-northwest-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"s3.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"s3.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-south-1\":\n regionInfo = {\n hostname: \"s3.eu-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"s3.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"s3.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"s3.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"s3-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"me-south-1\":\n regionInfo = {\n hostname: \"s3.me-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"s3-external-1\":\n regionInfo = {\n hostname: \"s3-external-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"s3.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"s3.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"s3.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-east-1\":\n regionInfo = {\n hostname: \"s3.us-gov-east-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"s3.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-iso-east-1\":\n regionInfo = {\n hostname: \"s3.us-iso-east-1.c2s.ic.gov\",\n partition: \"aws-iso\",\n };\n break;\n case \"us-isob-east-1\":\n regionInfo = {\n hostname: \"s3.us-isob-east-1.sc2s.sgov.gov\",\n partition: \"aws-iso-b\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"s3.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"s3.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve({ signingService: \"s3\", ...regionInfo });\n};\n","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { Logger as __Logger } from \"@aws-sdk/types\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n\n/**\n * @internal\n */\nexport const ClientSharedValues = {\n apiVersion: \"2006-03-01\",\n disableHostPrefix: false,\n logger: {} as __Logger,\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"S3\",\n signingEscapePath: false,\n urlParser: parseUrl,\n useArnRegion: false,\n};\n","import packageInfo from \"./package.json\";\n\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { eventStreamSerdeProvider } from \"@aws-sdk/eventstream-serde-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { blobHasher as streamHasher } from \"@aws-sdk/hash-blob-browser\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { Md5 } from \"@aws-sdk/md5-js\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientDefaults } from \"./S3Client\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n\n/**\n * @internal\n */\nexport const ClientDefaultValues: Required = {\n ...ClientSharedValues,\n runtime: \"browser\",\n base64Decoder: fromBase64,\n base64Encoder: toBase64,\n bodyLengthChecker: calculateBodyLength,\n credentialDefaultProvider: (_: unknown) => () => Promise.reject(new Error(\"Credential is missing\")),\n defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }),\n eventStreamSerdeProvider,\n maxAttempts: DEFAULT_MAX_ATTEMPTS,\n md5: Md5,\n region: invalidProvider(\"Region is missing\"),\n requestHandler: new FetchHttpHandler(),\n sha256: Sha256,\n streamCollector,\n streamHasher,\n utf8Decoder: fromUtf8,\n utf8Encoder: toUtf8,\n};\n","import { EventStreamMarshaller, EventStreamSerdeProvider } from \"@aws-sdk/types\";\n\nexport interface EventStreamSerdeInputConfig {}\n\nexport interface EventStreamSerdeResolvedConfig {\n eventStreamMarshaller: EventStreamMarshaller;\n}\n\ninterface PreviouslyResolved {\n eventStreamSerdeProvider: EventStreamSerdeProvider;\n}\n\nexport const resolveEventStreamSerdeConfig = (\n input: T & PreviouslyResolved & EventStreamSerdeInputConfig\n): T & EventStreamSerdeResolvedConfig => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n BuildMiddleware,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\ninterface PreviouslyResolved {\n runtime: string;\n}\n\nexport function addExpectContinueMiddleware(options: PreviouslyResolved): BuildMiddleware {\n return (next: BuildHandler): BuildHandler => async (\n args: BuildHandlerArguments\n ): Promise> => {\n const { request } = args;\n if (HttpRequest.isInstance(request) && request.body && options.runtime === \"node\") {\n request.headers = {\n ...request.headers,\n Expect: \"100-continue\",\n };\n }\n return next({\n ...args,\n request,\n });\n };\n}\n\nexport const addExpectContinueMiddlewareOptions: BuildHandlerOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\n\nexport const getAddExpectContinuePlugin = (options: PreviouslyResolved): Pluggable => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);\n },\n});\n","import {\n AbortMultipartUploadCommandInput,\n AbortMultipartUploadCommandOutput,\n} from \"./commands/AbortMultipartUploadCommand\";\nimport {\n CompleteMultipartUploadCommandInput,\n CompleteMultipartUploadCommandOutput,\n} from \"./commands/CompleteMultipartUploadCommand\";\nimport { CopyObjectCommandInput, CopyObjectCommandOutput } from \"./commands/CopyObjectCommand\";\nimport { CreateBucketCommandInput, CreateBucketCommandOutput } from \"./commands/CreateBucketCommand\";\nimport {\n CreateMultipartUploadCommandInput,\n CreateMultipartUploadCommandOutput,\n} from \"./commands/CreateMultipartUploadCommand\";\nimport {\n DeleteBucketAnalyticsConfigurationCommandInput,\n DeleteBucketAnalyticsConfigurationCommandOutput,\n} from \"./commands/DeleteBucketAnalyticsConfigurationCommand\";\nimport { DeleteBucketCommandInput, DeleteBucketCommandOutput } from \"./commands/DeleteBucketCommand\";\nimport { DeleteBucketCorsCommandInput, DeleteBucketCorsCommandOutput } from \"./commands/DeleteBucketCorsCommand\";\nimport {\n DeleteBucketEncryptionCommandInput,\n DeleteBucketEncryptionCommandOutput,\n} from \"./commands/DeleteBucketEncryptionCommand\";\nimport {\n DeleteBucketIntelligentTieringConfigurationCommandInput,\n DeleteBucketIntelligentTieringConfigurationCommandOutput,\n} from \"./commands/DeleteBucketIntelligentTieringConfigurationCommand\";\nimport {\n DeleteBucketInventoryConfigurationCommandInput,\n DeleteBucketInventoryConfigurationCommandOutput,\n} from \"./commands/DeleteBucketInventoryConfigurationCommand\";\nimport {\n DeleteBucketLifecycleCommandInput,\n DeleteBucketLifecycleCommandOutput,\n} from \"./commands/DeleteBucketLifecycleCommand\";\nimport {\n DeleteBucketMetricsConfigurationCommandInput,\n DeleteBucketMetricsConfigurationCommandOutput,\n} from \"./commands/DeleteBucketMetricsConfigurationCommand\";\nimport {\n DeleteBucketOwnershipControlsCommandInput,\n DeleteBucketOwnershipControlsCommandOutput,\n} from \"./commands/DeleteBucketOwnershipControlsCommand\";\nimport { DeleteBucketPolicyCommandInput, DeleteBucketPolicyCommandOutput } from \"./commands/DeleteBucketPolicyCommand\";\nimport {\n DeleteBucketReplicationCommandInput,\n DeleteBucketReplicationCommandOutput,\n} from \"./commands/DeleteBucketReplicationCommand\";\nimport {\n DeleteBucketTaggingCommandInput,\n DeleteBucketTaggingCommandOutput,\n} from \"./commands/DeleteBucketTaggingCommand\";\nimport {\n DeleteBucketWebsiteCommandInput,\n DeleteBucketWebsiteCommandOutput,\n} from \"./commands/DeleteBucketWebsiteCommand\";\nimport { DeleteObjectCommandInput, DeleteObjectCommandOutput } from \"./commands/DeleteObjectCommand\";\nimport {\n DeleteObjectTaggingCommandInput,\n DeleteObjectTaggingCommandOutput,\n} from \"./commands/DeleteObjectTaggingCommand\";\nimport { DeleteObjectsCommandInput, DeleteObjectsCommandOutput } from \"./commands/DeleteObjectsCommand\";\nimport {\n DeletePublicAccessBlockCommandInput,\n DeletePublicAccessBlockCommandOutput,\n} from \"./commands/DeletePublicAccessBlockCommand\";\nimport {\n GetBucketAccelerateConfigurationCommandInput,\n GetBucketAccelerateConfigurationCommandOutput,\n} from \"./commands/GetBucketAccelerateConfigurationCommand\";\nimport { GetBucketAclCommandInput, GetBucketAclCommandOutput } from \"./commands/GetBucketAclCommand\";\nimport {\n GetBucketAnalyticsConfigurationCommandInput,\n GetBucketAnalyticsConfigurationCommandOutput,\n} from \"./commands/GetBucketAnalyticsConfigurationCommand\";\nimport { GetBucketCorsCommandInput, GetBucketCorsCommandOutput } from \"./commands/GetBucketCorsCommand\";\nimport {\n GetBucketEncryptionCommandInput,\n GetBucketEncryptionCommandOutput,\n} from \"./commands/GetBucketEncryptionCommand\";\nimport {\n GetBucketIntelligentTieringConfigurationCommandInput,\n GetBucketIntelligentTieringConfigurationCommandOutput,\n} from \"./commands/GetBucketIntelligentTieringConfigurationCommand\";\nimport {\n GetBucketInventoryConfigurationCommandInput,\n GetBucketInventoryConfigurationCommandOutput,\n} from \"./commands/GetBucketInventoryConfigurationCommand\";\nimport {\n GetBucketLifecycleConfigurationCommandInput,\n GetBucketLifecycleConfigurationCommandOutput,\n} from \"./commands/GetBucketLifecycleConfigurationCommand\";\nimport { GetBucketLocationCommandInput, GetBucketLocationCommandOutput } from \"./commands/GetBucketLocationCommand\";\nimport { GetBucketLoggingCommandInput, GetBucketLoggingCommandOutput } from \"./commands/GetBucketLoggingCommand\";\nimport {\n GetBucketMetricsConfigurationCommandInput,\n GetBucketMetricsConfigurationCommandOutput,\n} from \"./commands/GetBucketMetricsConfigurationCommand\";\nimport {\n GetBucketNotificationConfigurationCommandInput,\n GetBucketNotificationConfigurationCommandOutput,\n} from \"./commands/GetBucketNotificationConfigurationCommand\";\nimport {\n GetBucketOwnershipControlsCommandInput,\n GetBucketOwnershipControlsCommandOutput,\n} from \"./commands/GetBucketOwnershipControlsCommand\";\nimport { GetBucketPolicyCommandInput, GetBucketPolicyCommandOutput } from \"./commands/GetBucketPolicyCommand\";\nimport {\n GetBucketPolicyStatusCommandInput,\n GetBucketPolicyStatusCommandOutput,\n} from \"./commands/GetBucketPolicyStatusCommand\";\nimport {\n GetBucketReplicationCommandInput,\n GetBucketReplicationCommandOutput,\n} from \"./commands/GetBucketReplicationCommand\";\nimport {\n GetBucketRequestPaymentCommandInput,\n GetBucketRequestPaymentCommandOutput,\n} from \"./commands/GetBucketRequestPaymentCommand\";\nimport { GetBucketTaggingCommandInput, GetBucketTaggingCommandOutput } from \"./commands/GetBucketTaggingCommand\";\nimport {\n GetBucketVersioningCommandInput,\n GetBucketVersioningCommandOutput,\n} from \"./commands/GetBucketVersioningCommand\";\nimport { GetBucketWebsiteCommandInput, GetBucketWebsiteCommandOutput } from \"./commands/GetBucketWebsiteCommand\";\nimport { GetObjectAclCommandInput, GetObjectAclCommandOutput } from \"./commands/GetObjectAclCommand\";\nimport { GetObjectCommandInput, GetObjectCommandOutput } from \"./commands/GetObjectCommand\";\nimport { GetObjectLegalHoldCommandInput, GetObjectLegalHoldCommandOutput } from \"./commands/GetObjectLegalHoldCommand\";\nimport {\n GetObjectLockConfigurationCommandInput,\n GetObjectLockConfigurationCommandOutput,\n} from \"./commands/GetObjectLockConfigurationCommand\";\nimport { GetObjectRetentionCommandInput, GetObjectRetentionCommandOutput } from \"./commands/GetObjectRetentionCommand\";\nimport { GetObjectTaggingCommandInput, GetObjectTaggingCommandOutput } from \"./commands/GetObjectTaggingCommand\";\nimport { GetObjectTorrentCommandInput, GetObjectTorrentCommandOutput } from \"./commands/GetObjectTorrentCommand\";\nimport {\n GetPublicAccessBlockCommandInput,\n GetPublicAccessBlockCommandOutput,\n} from \"./commands/GetPublicAccessBlockCommand\";\nimport { HeadBucketCommandInput, HeadBucketCommandOutput } from \"./commands/HeadBucketCommand\";\nimport { HeadObjectCommandInput, HeadObjectCommandOutput } from \"./commands/HeadObjectCommand\";\nimport {\n ListBucketAnalyticsConfigurationsCommandInput,\n ListBucketAnalyticsConfigurationsCommandOutput,\n} from \"./commands/ListBucketAnalyticsConfigurationsCommand\";\nimport {\n ListBucketIntelligentTieringConfigurationsCommandInput,\n ListBucketIntelligentTieringConfigurationsCommandOutput,\n} from \"./commands/ListBucketIntelligentTieringConfigurationsCommand\";\nimport {\n ListBucketInventoryConfigurationsCommandInput,\n ListBucketInventoryConfigurationsCommandOutput,\n} from \"./commands/ListBucketInventoryConfigurationsCommand\";\nimport {\n ListBucketMetricsConfigurationsCommandInput,\n ListBucketMetricsConfigurationsCommandOutput,\n} from \"./commands/ListBucketMetricsConfigurationsCommand\";\nimport { ListBucketsCommandInput, ListBucketsCommandOutput } from \"./commands/ListBucketsCommand\";\nimport {\n ListMultipartUploadsCommandInput,\n ListMultipartUploadsCommandOutput,\n} from \"./commands/ListMultipartUploadsCommand\";\nimport { ListObjectVersionsCommandInput, ListObjectVersionsCommandOutput } from \"./commands/ListObjectVersionsCommand\";\nimport { ListObjectsCommandInput, ListObjectsCommandOutput } from \"./commands/ListObjectsCommand\";\nimport { ListObjectsV2CommandInput, ListObjectsV2CommandOutput } from \"./commands/ListObjectsV2Command\";\nimport { ListPartsCommandInput, ListPartsCommandOutput } from \"./commands/ListPartsCommand\";\nimport {\n PutBucketAccelerateConfigurationCommandInput,\n PutBucketAccelerateConfigurationCommandOutput,\n} from \"./commands/PutBucketAccelerateConfigurationCommand\";\nimport { PutBucketAclCommandInput, PutBucketAclCommandOutput } from \"./commands/PutBucketAclCommand\";\nimport {\n PutBucketAnalyticsConfigurationCommandInput,\n PutBucketAnalyticsConfigurationCommandOutput,\n} from \"./commands/PutBucketAnalyticsConfigurationCommand\";\nimport { PutBucketCorsCommandInput, PutBucketCorsCommandOutput } from \"./commands/PutBucketCorsCommand\";\nimport {\n PutBucketEncryptionCommandInput,\n PutBucketEncryptionCommandOutput,\n} from \"./commands/PutBucketEncryptionCommand\";\nimport {\n PutBucketIntelligentTieringConfigurationCommandInput,\n PutBucketIntelligentTieringConfigurationCommandOutput,\n} from \"./commands/PutBucketIntelligentTieringConfigurationCommand\";\nimport {\n PutBucketInventoryConfigurationCommandInput,\n PutBucketInventoryConfigurationCommandOutput,\n} from \"./commands/PutBucketInventoryConfigurationCommand\";\nimport {\n PutBucketLifecycleConfigurationCommandInput,\n PutBucketLifecycleConfigurationCommandOutput,\n} from \"./commands/PutBucketLifecycleConfigurationCommand\";\nimport { PutBucketLoggingCommandInput, PutBucketLoggingCommandOutput } from \"./commands/PutBucketLoggingCommand\";\nimport {\n PutBucketMetricsConfigurationCommandInput,\n PutBucketMetricsConfigurationCommandOutput,\n} from \"./commands/PutBucketMetricsConfigurationCommand\";\nimport {\n PutBucketNotificationConfigurationCommandInput,\n PutBucketNotificationConfigurationCommandOutput,\n} from \"./commands/PutBucketNotificationConfigurationCommand\";\nimport {\n PutBucketOwnershipControlsCommandInput,\n PutBucketOwnershipControlsCommandOutput,\n} from \"./commands/PutBucketOwnershipControlsCommand\";\nimport { PutBucketPolicyCommandInput, PutBucketPolicyCommandOutput } from \"./commands/PutBucketPolicyCommand\";\nimport {\n PutBucketReplicationCommandInput,\n PutBucketReplicationCommandOutput,\n} from \"./commands/PutBucketReplicationCommand\";\nimport {\n PutBucketRequestPaymentCommandInput,\n PutBucketRequestPaymentCommandOutput,\n} from \"./commands/PutBucketRequestPaymentCommand\";\nimport { PutBucketTaggingCommandInput, PutBucketTaggingCommandOutput } from \"./commands/PutBucketTaggingCommand\";\nimport {\n PutBucketVersioningCommandInput,\n PutBucketVersioningCommandOutput,\n} from \"./commands/PutBucketVersioningCommand\";\nimport { PutBucketWebsiteCommandInput, PutBucketWebsiteCommandOutput } from \"./commands/PutBucketWebsiteCommand\";\nimport { PutObjectAclCommandInput, PutObjectAclCommandOutput } from \"./commands/PutObjectAclCommand\";\nimport { PutObjectCommandInput, PutObjectCommandOutput } from \"./commands/PutObjectCommand\";\nimport { PutObjectLegalHoldCommandInput, PutObjectLegalHoldCommandOutput } from \"./commands/PutObjectLegalHoldCommand\";\nimport {\n PutObjectLockConfigurationCommandInput,\n PutObjectLockConfigurationCommandOutput,\n} from \"./commands/PutObjectLockConfigurationCommand\";\nimport { PutObjectRetentionCommandInput, PutObjectRetentionCommandOutput } from \"./commands/PutObjectRetentionCommand\";\nimport { PutObjectTaggingCommandInput, PutObjectTaggingCommandOutput } from \"./commands/PutObjectTaggingCommand\";\nimport {\n PutPublicAccessBlockCommandInput,\n PutPublicAccessBlockCommandOutput,\n} from \"./commands/PutPublicAccessBlockCommand\";\nimport { RestoreObjectCommandInput, RestoreObjectCommandOutput } from \"./commands/RestoreObjectCommand\";\nimport {\n SelectObjectContentCommandInput,\n SelectObjectContentCommandOutput,\n} from \"./commands/SelectObjectContentCommand\";\nimport { UploadPartCommandInput, UploadPartCommandOutput } from \"./commands/UploadPartCommand\";\nimport { UploadPartCopyCommandInput, UploadPartCopyCommandOutput } from \"./commands/UploadPartCopyCommand\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport {\n EndpointsInputConfig,\n EndpointsResolvedConfig,\n RegionInputConfig,\n RegionResolvedConfig,\n resolveEndpointsConfig,\n resolveRegionConfig,\n} from \"@aws-sdk/config-resolver\";\nimport {\n EventStreamSerdeInputConfig,\n EventStreamSerdeResolvedConfig,\n resolveEventStreamSerdeConfig,\n} from \"@aws-sdk/eventstream-serde-config-resolver\";\nimport {\n BucketEndpointInputConfig,\n BucketEndpointResolvedConfig,\n resolveBucketEndpointConfig,\n} from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getAddExpectContinuePlugin } from \"@aws-sdk/middleware-expect-continue\";\nimport {\n HostHeaderInputConfig,\n HostHeaderResolvedConfig,\n getHostHeaderPlugin,\n resolveHostHeaderConfig,\n} from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { getUseRegionalEndpointPlugin, getValidateBucketNamePlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport {\n AwsAuthInputConfig,\n AwsAuthResolvedConfig,\n getAwsAuthPlugin,\n resolveAwsAuthConfig,\n} from \"@aws-sdk/middleware-signing\";\nimport {\n UserAgentInputConfig,\n UserAgentResolvedConfig,\n getUserAgentPlugin,\n resolveUserAgentConfig,\n} from \"@aws-sdk/middleware-user-agent\";\nimport { HttpHandler as __HttpHandler } from \"@aws-sdk/protocol-http\";\nimport {\n Client as __Client,\n SmithyConfiguration as __SmithyConfiguration,\n SmithyResolvedConfiguration as __SmithyResolvedConfiguration,\n} from \"@aws-sdk/smithy-client\";\nimport {\n Provider,\n RegionInfoProvider,\n Credentials as __Credentials,\n Decoder as __Decoder,\n Encoder as __Encoder,\n EventStreamSerdeProvider as __EventStreamSerdeProvider,\n HashConstructor as __HashConstructor,\n HttpHandlerOptions as __HttpHandlerOptions,\n Logger as __Logger,\n Provider as __Provider,\n StreamCollector as __StreamCollector,\n StreamHasher as __StreamHasher,\n UrlParser as __UrlParser,\n UserAgent as __UserAgent,\n} from \"@aws-sdk/types\";\nimport { Readable } from \"stream\";\n\nexport type ServiceInputTypes =\n | AbortMultipartUploadCommandInput\n | CompleteMultipartUploadCommandInput\n | CopyObjectCommandInput\n | CreateBucketCommandInput\n | CreateMultipartUploadCommandInput\n | DeleteBucketAnalyticsConfigurationCommandInput\n | DeleteBucketCommandInput\n | DeleteBucketCorsCommandInput\n | DeleteBucketEncryptionCommandInput\n | DeleteBucketIntelligentTieringConfigurationCommandInput\n | DeleteBucketInventoryConfigurationCommandInput\n | DeleteBucketLifecycleCommandInput\n | DeleteBucketMetricsConfigurationCommandInput\n | DeleteBucketOwnershipControlsCommandInput\n | DeleteBucketPolicyCommandInput\n | DeleteBucketReplicationCommandInput\n | DeleteBucketTaggingCommandInput\n | DeleteBucketWebsiteCommandInput\n | DeleteObjectCommandInput\n | DeleteObjectTaggingCommandInput\n | DeleteObjectsCommandInput\n | DeletePublicAccessBlockCommandInput\n | GetBucketAccelerateConfigurationCommandInput\n | GetBucketAclCommandInput\n | GetBucketAnalyticsConfigurationCommandInput\n | GetBucketCorsCommandInput\n | GetBucketEncryptionCommandInput\n | GetBucketIntelligentTieringConfigurationCommandInput\n | GetBucketInventoryConfigurationCommandInput\n | GetBucketLifecycleConfigurationCommandInput\n | GetBucketLocationCommandInput\n | GetBucketLoggingCommandInput\n | GetBucketMetricsConfigurationCommandInput\n | GetBucketNotificationConfigurationCommandInput\n | GetBucketOwnershipControlsCommandInput\n | GetBucketPolicyCommandInput\n | GetBucketPolicyStatusCommandInput\n | GetBucketReplicationCommandInput\n | GetBucketRequestPaymentCommandInput\n | GetBucketTaggingCommandInput\n | GetBucketVersioningCommandInput\n | GetBucketWebsiteCommandInput\n | GetObjectAclCommandInput\n | GetObjectCommandInput\n | GetObjectLegalHoldCommandInput\n | GetObjectLockConfigurationCommandInput\n | GetObjectRetentionCommandInput\n | GetObjectTaggingCommandInput\n | GetObjectTorrentCommandInput\n | GetPublicAccessBlockCommandInput\n | HeadBucketCommandInput\n | HeadObjectCommandInput\n | ListBucketAnalyticsConfigurationsCommandInput\n | ListBucketIntelligentTieringConfigurationsCommandInput\n | ListBucketInventoryConfigurationsCommandInput\n | ListBucketMetricsConfigurationsCommandInput\n | ListBucketsCommandInput\n | ListMultipartUploadsCommandInput\n | ListObjectVersionsCommandInput\n | ListObjectsCommandInput\n | ListObjectsV2CommandInput\n | ListPartsCommandInput\n | PutBucketAccelerateConfigurationCommandInput\n | PutBucketAclCommandInput\n | PutBucketAnalyticsConfigurationCommandInput\n | PutBucketCorsCommandInput\n | PutBucketEncryptionCommandInput\n | PutBucketIntelligentTieringConfigurationCommandInput\n | PutBucketInventoryConfigurationCommandInput\n | PutBucketLifecycleConfigurationCommandInput\n | PutBucketLoggingCommandInput\n | PutBucketMetricsConfigurationCommandInput\n | PutBucketNotificationConfigurationCommandInput\n | PutBucketOwnershipControlsCommandInput\n | PutBucketPolicyCommandInput\n | PutBucketReplicationCommandInput\n | PutBucketRequestPaymentCommandInput\n | PutBucketTaggingCommandInput\n | PutBucketVersioningCommandInput\n | PutBucketWebsiteCommandInput\n | PutObjectAclCommandInput\n | PutObjectCommandInput\n | PutObjectLegalHoldCommandInput\n | PutObjectLockConfigurationCommandInput\n | PutObjectRetentionCommandInput\n | PutObjectTaggingCommandInput\n | PutPublicAccessBlockCommandInput\n | RestoreObjectCommandInput\n | SelectObjectContentCommandInput\n | UploadPartCommandInput\n | UploadPartCopyCommandInput;\n\nexport type ServiceOutputTypes =\n | AbortMultipartUploadCommandOutput\n | CompleteMultipartUploadCommandOutput\n | CopyObjectCommandOutput\n | CreateBucketCommandOutput\n | CreateMultipartUploadCommandOutput\n | DeleteBucketAnalyticsConfigurationCommandOutput\n | DeleteBucketCommandOutput\n | DeleteBucketCorsCommandOutput\n | DeleteBucketEncryptionCommandOutput\n | DeleteBucketIntelligentTieringConfigurationCommandOutput\n | DeleteBucketInventoryConfigurationCommandOutput\n | DeleteBucketLifecycleCommandOutput\n | DeleteBucketMetricsConfigurationCommandOutput\n | DeleteBucketOwnershipControlsCommandOutput\n | DeleteBucketPolicyCommandOutput\n | DeleteBucketReplicationCommandOutput\n | DeleteBucketTaggingCommandOutput\n | DeleteBucketWebsiteCommandOutput\n | DeleteObjectCommandOutput\n | DeleteObjectTaggingCommandOutput\n | DeleteObjectsCommandOutput\n | DeletePublicAccessBlockCommandOutput\n | GetBucketAccelerateConfigurationCommandOutput\n | GetBucketAclCommandOutput\n | GetBucketAnalyticsConfigurationCommandOutput\n | GetBucketCorsCommandOutput\n | GetBucketEncryptionCommandOutput\n | GetBucketIntelligentTieringConfigurationCommandOutput\n | GetBucketInventoryConfigurationCommandOutput\n | GetBucketLifecycleConfigurationCommandOutput\n | GetBucketLocationCommandOutput\n | GetBucketLoggingCommandOutput\n | GetBucketMetricsConfigurationCommandOutput\n | GetBucketNotificationConfigurationCommandOutput\n | GetBucketOwnershipControlsCommandOutput\n | GetBucketPolicyCommandOutput\n | GetBucketPolicyStatusCommandOutput\n | GetBucketReplicationCommandOutput\n | GetBucketRequestPaymentCommandOutput\n | GetBucketTaggingCommandOutput\n | GetBucketVersioningCommandOutput\n | GetBucketWebsiteCommandOutput\n | GetObjectAclCommandOutput\n | GetObjectCommandOutput\n | GetObjectLegalHoldCommandOutput\n | GetObjectLockConfigurationCommandOutput\n | GetObjectRetentionCommandOutput\n | GetObjectTaggingCommandOutput\n | GetObjectTorrentCommandOutput\n | GetPublicAccessBlockCommandOutput\n | HeadBucketCommandOutput\n | HeadObjectCommandOutput\n | ListBucketAnalyticsConfigurationsCommandOutput\n | ListBucketIntelligentTieringConfigurationsCommandOutput\n | ListBucketInventoryConfigurationsCommandOutput\n | ListBucketMetricsConfigurationsCommandOutput\n | ListBucketsCommandOutput\n | ListMultipartUploadsCommandOutput\n | ListObjectVersionsCommandOutput\n | ListObjectsCommandOutput\n | ListObjectsV2CommandOutput\n | ListPartsCommandOutput\n | PutBucketAccelerateConfigurationCommandOutput\n | PutBucketAclCommandOutput\n | PutBucketAnalyticsConfigurationCommandOutput\n | PutBucketCorsCommandOutput\n | PutBucketEncryptionCommandOutput\n | PutBucketIntelligentTieringConfigurationCommandOutput\n | PutBucketInventoryConfigurationCommandOutput\n | PutBucketLifecycleConfigurationCommandOutput\n | PutBucketLoggingCommandOutput\n | PutBucketMetricsConfigurationCommandOutput\n | PutBucketNotificationConfigurationCommandOutput\n | PutBucketOwnershipControlsCommandOutput\n | PutBucketPolicyCommandOutput\n | PutBucketReplicationCommandOutput\n | PutBucketRequestPaymentCommandOutput\n | PutBucketTaggingCommandOutput\n | PutBucketVersioningCommandOutput\n | PutBucketWebsiteCommandOutput\n | PutObjectAclCommandOutput\n | PutObjectCommandOutput\n | PutObjectLegalHoldCommandOutput\n | PutObjectLockConfigurationCommandOutput\n | PutObjectRetentionCommandOutput\n | PutObjectTaggingCommandOutput\n | PutPublicAccessBlockCommandOutput\n | RestoreObjectCommandOutput\n | SelectObjectContentCommandOutput\n | UploadPartCommandOutput\n | UploadPartCopyCommandOutput;\n\nexport interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {\n /**\n * The HTTP handler to use. Fetch in browser and Https in Nodejs.\n */\n requestHandler?: __HttpHandler;\n\n /**\n * A constructor for a class implementing the @aws-sdk/types.Hash interface\n * that computes the SHA-256 HMAC or checksum of a string or binary buffer.\n */\n sha256?: __HashConstructor;\n\n /**\n * The function that will be used to convert strings into HTTP endpoints.\n */\n urlParser?: __UrlParser;\n\n /**\n * A function that can calculate the length of a request body.\n */\n bodyLengthChecker?: (body: any) => number | undefined;\n\n /**\n * A function that converts a stream into an array of bytes.\n */\n streamCollector?: __StreamCollector;\n\n /**\n * The function that will be used to convert a base64-encoded string to a byte array\n */\n base64Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a base64-encoded string\n */\n base64Encoder?: __Encoder;\n\n /**\n * The function that will be used to convert a UTF8-encoded string to a byte array\n */\n utf8Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a UTF-8 encoded string\n */\n utf8Encoder?: __Encoder;\n\n /**\n * The runtime environment\n */\n runtime?: string;\n\n /**\n * Disable dyanamically changing the endpoint of the client based on the hostPrefix\n * trait of an operation.\n */\n disableHostPrefix?: boolean;\n\n /**\n * Unique service identifier.\n * @internal\n */\n serviceId?: string;\n\n /**\n * Default credentials provider; Not available in browser runtime\n */\n credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;\n\n /**\n * The AWS region to which this client will send requests\n */\n region?: string | __Provider;\n\n /**\n * Value for how many times a request will be made at most in case of retry.\n */\n maxAttempts?: number | __Provider;\n\n /**\n * Optional logger for logging debug/info/warn/error.\n */\n logger?: __Logger;\n\n /**\n * Fetch related hostname, signing name or signing region with given region.\n */\n regionInfoProvider?: RegionInfoProvider;\n\n /**\n * A constructor for a class implementing the @aws-sdk/types.Hash interface\n * that computes MD5 hashes\n */\n md5?: __HashConstructor;\n\n /**\n * A function that, given a hash constructor and a stream, calculates the\n * hash of the streamed value\n */\n streamHasher?: __StreamHasher | __StreamHasher;\n\n /**\n * Whether to escape request path when signing the request.\n */\n signingEscapePath?: boolean;\n\n /**\n * Whether to override the request region with the region inferred from requested resource's ARN. Defaults to false.\n */\n useArnRegion?: boolean | Provider;\n /**\n * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header\n * @internal\n */\n defaultUserAgentProvider?: Provider<__UserAgent>;\n\n /**\n * The function that provides necessary utilities for generating and parsing event stream\n */\n eventStreamSerdeProvider?: __EventStreamSerdeProvider;\n}\n\nexport type S3ClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &\n ClientDefaults &\n RegionInputConfig &\n EndpointsInputConfig &\n AwsAuthInputConfig &\n RetryInputConfig &\n HostHeaderInputConfig &\n BucketEndpointInputConfig &\n UserAgentInputConfig &\n EventStreamSerdeInputConfig;\n\nexport type S3ClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> &\n Required &\n RegionResolvedConfig &\n EndpointsResolvedConfig &\n AwsAuthResolvedConfig &\n RetryResolvedConfig &\n HostHeaderResolvedConfig &\n BucketEndpointResolvedConfig &\n UserAgentResolvedConfig &\n EventStreamSerdeResolvedConfig;\n\n/**\n *

\n */\nexport class S3Client extends __Client<\n __HttpHandlerOptions,\n ServiceInputTypes,\n ServiceOutputTypes,\n S3ClientResolvedConfig\n> {\n readonly config: S3ClientResolvedConfig;\n\n constructor(configuration: S3ClientConfig) {\n let _config_0 = {\n ...__ClientDefaultValues,\n ...configuration,\n };\n let _config_1 = resolveRegionConfig(_config_0);\n let _config_2 = resolveEndpointsConfig(_config_1);\n let _config_3 = resolveAwsAuthConfig(_config_2);\n let _config_4 = resolveRetryConfig(_config_3);\n let _config_5 = resolveHostHeaderConfig(_config_4);\n let _config_6 = resolveBucketEndpointConfig(_config_5);\n let _config_7 = resolveUserAgentConfig(_config_6);\n let _config_8 = resolveEventStreamSerdeConfig(_config_7);\n super(_config_8);\n this.config = _config_8;\n this.middlewareStack.use(getAwsAuthPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getValidateBucketNamePlugin(this.config));\n this.middlewareStack.use(getUseRegionalEndpointPlugin(this.config));\n this.middlewareStack.use(getAddExpectContinuePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n }\n\n destroy(): void {\n super.destroy();\n }\n}\n","import {\n\tCredentials,\n\tICredentials,\n\tLogger,\n\tgetAmplifyUserAgent,\n} from '@aws-amplify/core';\nimport { StorageAccessLevel, CustomPrefix } from '../types';\nimport {\n\tInitializeMiddleware,\n\tInitializeHandlerOptions,\n\tFinalizeRequestHandlerOptions,\n\tFinalizeRequestMiddleware,\n\tHandlerExecutionContext,\n} from '@aws-sdk/types';\nimport { S3ClientConfig, S3Client } from '@aws-sdk/client-s3';\nimport { CancelTokenSource } from 'axios';\nimport * as events from 'events';\nimport { AxiosHttpHandler } from '../providers/axios-http-handler';\nimport {\n\tlocalTestingStorageEndpoint,\n\tSET_CONTENT_LENGTH_HEADER,\n} from './StorageConstants';\n\nconst logger = new Logger('S3ClientUtils');\n// placeholder credentials in order to satisfy type requirement, always results in 403 when used\nconst INVALID_CRED = { accessKeyId: '', secretAccessKey: '' };\n\nexport const getPrefix = (config: {\n\tcredentials: ICredentials;\n\tlevel?: StorageAccessLevel;\n\tcustomPrefix?: CustomPrefix;\n\tidentityId?: string;\n}): string => {\n\tconst { credentials, level, customPrefix, identityId } = config;\n\n\tconst resolvedCustomPrefix = customPrefix || {};\n\tconst resolvedIdentityId = identityId || credentials.identityId;\n\tconst privatePath =\n\t\t(resolvedCustomPrefix.private !== undefined\n\t\t\t? resolvedCustomPrefix.private\n\t\t\t: 'private/') +\n\t\tresolvedIdentityId +\n\t\t'/';\n\tconst protectedPath =\n\t\t(resolvedCustomPrefix.protected !== undefined\n\t\t\t? resolvedCustomPrefix.protected\n\t\t\t: 'protected/') +\n\t\tresolvedIdentityId +\n\t\t'/';\n\tconst publicPath =\n\t\tresolvedCustomPrefix.public !== undefined\n\t\t\t? resolvedCustomPrefix.public\n\t\t\t: 'public/';\n\n\tswitch (level) {\n\t\tcase 'private':\n\t\t\treturn privatePath;\n\t\tcase 'protected':\n\t\t\treturn protectedPath;\n\t\tdefault:\n\t\t\treturn publicPath;\n\t}\n};\n\nexport const createPrefixMiddleware = (\n\topt: Record,\n\tkey: string\n): InitializeMiddleware => (next, _context) => async args => {\n\tconst credentials = await Credentials.get();\n\tconst cred = Credentials.shear(credentials);\n\tconst prefix = getPrefix({ ...opt, credentials: cred });\n\tconst clonedInput = Object.assign({}, args.input);\n\tif (Object.prototype.hasOwnProperty.call(args.input, 'Key')) {\n\t\tclonedInput.Key = prefix + key;\n\t\targs.input = clonedInput;\n\t} else if (Object.prototype.hasOwnProperty.call(args.input, 'Prefix')) {\n\t\tclonedInput.Prefix = prefix + key;\n\t\targs.input = clonedInput;\n\t}\n\tconst result = next(args);\n\treturn result;\n};\n\nconst isTimeSkewedError = (err: any): boolean =>\n\terr.ServerTime &&\n\ttypeof err.Code === 'string' &&\n\terr.Code === 'RequestTimeTooSkewed';\n\n// we want to take the S3Client config in parameter so we can modify it's systemClockOffset\nexport const autoAdjustClockskewMiddleware = (\n\tconfig: S3ClientConfig\n): FinalizeRequestMiddleware => (\n\tnext,\n\t_context: HandlerExecutionContext\n) => async args => {\n\ttry {\n\t\treturn await next(args);\n\t} catch (err) {\n\t\tif (isTimeSkewedError(err)) {\n\t\t\tconst serverDate = new Date(err.ServerTime);\n\t\t\tconfig.systemClockOffset = serverDate.getTime() - Date.now();\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const autoAdjustClockskewMiddlewareOptions: FinalizeRequestHandlerOptions = {\n\tstep: 'finalizeRequest',\n\tname: 'autoAdjustClockskewMiddleware',\n};\n\nexport const prefixMiddlewareOptions: InitializeHandlerOptions = {\n\tstep: 'initialize',\n\tname: 'addPrefixMiddleware',\n};\n\nexport const credentialsProvider = async () => {\n\ttry {\n\t\tconst credentials = await Credentials.get();\n\t\tif (!credentials) return INVALID_CRED;\n\t\tconst cred = Credentials.shear(credentials);\n\t\tlogger.debug('credentials provider get credentials', cred);\n\t\treturn cred;\n\t} catch (error) {\n\t\tlogger.warn('credentials provider error', error);\n\t\treturn INVALID_CRED;\n\t}\n};\n\nexport const createS3Client = (\n\tconfig: {\n\t\tregion?: string;\n\t\tcancelTokenSource?: CancelTokenSource;\n\t\tdangerouslyConnectToHttpEndpointForTesting?: boolean;\n\t\tuseAccelerateEndpoint?: boolean;\n\t},\n\temitter?: events.EventEmitter\n): S3Client => {\n\tconst {\n\t\tregion,\n\t\tcancelTokenSource,\n\t\tdangerouslyConnectToHttpEndpointForTesting,\n\t\tuseAccelerateEndpoint,\n\t} = config;\n\tlet localTestingConfig = {};\n\n\tif (dangerouslyConnectToHttpEndpointForTesting) {\n\t\tlocalTestingConfig = {\n\t\t\tendpoint: localTestingStorageEndpoint,\n\t\t\ttls: false,\n\t\t\tbucketEndpoint: false,\n\t\t\tforcePathStyle: true,\n\t\t};\n\t}\n\n\tconst s3client = new S3Client({\n\t\tregion,\n\t\t// Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets\n\t\t// changed or invalidated (e.g user signed out), the subsequent requests will fail.\n\t\tcredentials: credentialsProvider,\n\t\tcustomUserAgent: getAmplifyUserAgent(),\n\t\t...localTestingConfig,\n\t\trequestHandler: new AxiosHttpHandler({}, emitter, cancelTokenSource),\n\t\tuseAccelerateEndpoint,\n\t});\n\ts3client.middlewareStack.remove(SET_CONTENT_LENGTH_HEADER);\n\treturn s3client;\n};\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { PutObjectOutput, PutObjectRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlPutObjectCommand, serializeAws_restXmlPutObjectCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type PutObjectCommandInput = Omit & {\n Body?: PutObjectRequest[\"Body\"] | string | Uint8Array | Buffer;\n};\nexport type PutObjectCommandOutput = PutObjectOutput & __MetadataBearer;\n\n/**\n *

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object\n * to it.

\n *\n *\n *

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n * entire object to the bucket.

\n *\n *

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n * simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object\n * locking; if you need this, make sure to build it into your application layer or use\n * versioning instead.

\n *\n *

To ensure that data is not corrupted traversing the network, use the\n * Content-MD5 header. When you use this header, Amazon S3 checks the object\n * against the provided MD5 value and, if they do not match, returns an error. Additionally,\n * you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to\n * the calculated MD5 value.

\n * \n *

The Content-MD5 header is required for any request to upload an object\n * with a retention period configured using Amazon S3 Object Lock. For more information about\n * Amazon S3 Object Lock, see Amazon S3 Object Lock Overview\n * in the Amazon Simple Storage Service Developer Guide.

\n *
\n *\n *\n *

\n * Server-side Encryption\n *

\n *

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data\n * when you access it. You have the option to provide your own encryption key or use AWS\n * managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side\n * Encryption.

\n *

If you request server-side encryption using AWS Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon Simple Storage Service Developer Guide.

\n *

\n * Access Control List (ACL)-Specific Request\n * Headers\n *

\n *

You can use headers to grant ACL- based permissions. By default, all objects are\n * private. Only the owner has full access control. When adding a new object, you can grant\n * permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These\n * permissions are then added to the ACL on the object. For more information, see Access Control List\n * (ACL) Overview and Managing ACLs Using the REST\n * API.

\n *\n *

\n * Storage Class Options\n *

\n *

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The\n * STANDARD storage class provides high durability and high availability. Depending on\n * performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses\n * the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3\n * Service Developer Guide.

\n *\n *\n *

\n * Versioning\n *

\n *

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID\n * for the object being stored. Amazon S3 returns this ID in the response. When you enable\n * versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n * simultaneously, it stores all of the objects.

\n *

For more information about versioning, see Adding Objects to\n * Versioning Enabled Buckets. For information about returning the versioning state\n * of a bucket, see GetBucketVersioning.

\n *\n *\n *

\n * Related Resources\n *

\n * \n */\nexport class PutObjectCommand extends $Command {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: PutObjectCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"PutObjectCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: PutObjectRequest.filterSensitiveLog,\n outputFilterSensitiveLog: PutObjectOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: PutObjectCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlPutObjectCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlPutObjectCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { CreateMultipartUploadOutput, CreateMultipartUploadRequest } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlCreateMultipartUploadCommand,\n serializeAws_restXmlCreateMultipartUploadCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type CreateMultipartUploadCommandInput = CreateMultipartUploadRequest;\nexport type CreateMultipartUploadCommandOutput = CreateMultipartUploadOutput & __MetadataBearer;\n\n/**\n *

This operation initiates a multipart upload and returns an upload ID. This upload ID is\n * used to associate all of the parts in the specific multipart upload. You specify this\n * upload ID in each of your subsequent upload part requests (see UploadPart). You also include this\n * upload ID in the final request to either complete or abort the multipart upload\n * request.

\n *\n *

For more information about multipart uploads, see Multipart Upload Overview.

\n *\n *

If you have configured a lifecycle rule to abort incomplete multipart uploads, the\n * upload must complete within the number of days specified in the bucket lifecycle\n * configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort\n * operation and Amazon S3 aborts the multipart upload. For more information, see Aborting\n * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

\n *\n *

For information about the permissions required to use the multipart upload API, see\n * Multipart Upload API and\n * Permissions.

\n *\n *

For request signing, multipart upload is just a series of regular requests. You initiate\n * a multipart upload, send one or more requests to upload parts, and then complete the\n * multipart upload process. You sign each request individually. There is nothing special\n * about signing multipart upload requests. For more information about signing, see Authenticating\n * Requests (AWS Signature Version 4).

\n *\n * \n *

After you initiate a multipart upload and upload one or more parts, to stop being\n * charged for storing the uploaded parts, you must either complete or abort the multipart\n * upload. Amazon S3 frees up the space used to store the parts and stop charging you for\n * storing them only after you either complete or abort a multipart upload.

\n *
\n *\n *

You can optionally request server-side encryption. For server-side encryption, Amazon S3\n * encrypts your data as it writes it to disks in its data centers and decrypts it when you\n * access it. You can provide your own encryption key, or use AWS Key Management Service (AWS\n * KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide\n * your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to\n * initiate the upload by using CreateMultipartUpload.

\n *

To perform a multipart upload with encryption using an AWS KMS CMK, the requester must\n * have permission to the kms:Encrypt, kms:Decrypt,\n * kms:ReEncrypt*, kms:GenerateDataKey*, and\n * kms:DescribeKey actions on the key. These permissions are required because\n * Amazon S3 must decrypt and read data from the encrypted file parts before it completes the\n * multipart upload.

\n *\n *

If your AWS Identity and Access Management (IAM) user or role is in the same AWS account\n * as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM\n * user or role belongs to a different account than the key, then you must have the\n * permissions on both the key policy and your IAM user or role.

\n *\n *\n *

For more information, see Protecting\n * Data Using Server-Side Encryption.

\n *\n *
\n *
Access Permissions
\n *
\n *

When copying an object, you can optionally specify the accounts or groups that\n * should be granted specific permissions on the new object. There are two ways to\n * grant the permissions using the request headers:

\n *
    \n *
  • \n *

    Specify a canned ACL with the x-amz-acl request header. For\n * more information, see Canned ACL.

    \n *
  • \n *
  • \n *

    Specify access permissions explicitly with the\n * x-amz-grant-read, x-amz-grant-read-acp,\n * x-amz-grant-write-acp, and\n * x-amz-grant-full-control headers. These parameters map to\n * the set of permissions that Amazon S3 supports in an ACL. For more information,\n * see Access Control List (ACL)\n * Overview.

    \n *
  • \n *
\n *

You can use either a canned ACL or specify access permissions explicitly. You\n * cannot do both.

\n *
\n *
Server-Side- Encryption-Specific Request Headers
\n *
\n *

You can optionally tell Amazon S3 to encrypt data at rest using server-side\n * encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts\n * your data as it writes it to disks in its data centers and decrypts it when you\n * access it. The option you use depends on whether you want to use AWS managed\n * encryption keys or provide your own encryption key.

\n *
    \n *
  • \n *

    Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored\n * in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys\n * used to encrypt data, specify the following headers in the request.

    \n *
      \n *
    • \n *

      x-amz-server-side-encryption

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-aws-kms-key-id

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-context

      \n *
    • \n *
    \n * \n *

    If you specify x-amz-server-side-encryption:aws:kms, but\n * don't provide x-amz-server-side-encryption-aws-kms-key-id,\n * Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data.

    \n *
    \n * \n *

    All GET and PUT requests for an object protected by AWS KMS fail if\n * you don't make them with SSL or by using SigV4.

    \n *
    \n *

    For more information about server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n * KMS.

    \n *
  • \n *
  • \n *

    Use customer-provided encryption keys – If you want to manage your own\n * encryption keys, provide all the following headers in the request.

    \n *
      \n *
    • \n *

      x-amz-server-side-encryption-customer-algorithm

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-customer-key

      \n *
    • \n *
    • \n *

      x-amz-server-side-encryption-customer-key-MD5

      \n *
    • \n *
    \n *

    For more information about server-side encryption with CMKs stored in AWS\n * KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS\n * KMS.

    \n *
  • \n *
\n *
\n *
Access-Control-List (ACL)-Specific Request Headers
\n *
\n *

You also can use the following access control–related headers with this\n * operation. By default, all objects are private. Only the owner has full access\n * control. When adding a new object, you can grant permissions to individual AWS\n * accounts or to predefined groups defined by Amazon S3. These permissions are then added\n * to the access control list (ACL) on the object. For more information, see Using ACLs. With this\n * operation, you can grant access permissions using one of the following two\n * methods:

\n *
    \n *
  • \n *

    Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of\n * predefined ACLs, known as canned ACLs. Each canned ACL\n * has a predefined set of grantees and permissions. For more information, see\n * Canned\n * ACL.

    \n *
  • \n *
  • \n *

    Specify access permissions explicitly — To explicitly grant access\n * permissions to specific AWS accounts or groups, use the following headers.\n * Each header maps to specific permissions that Amazon S3 supports in an ACL. For\n * more information, see Access\n * Control List (ACL) Overview. In the header, you specify a list of\n * grantees who get the specific permission. To grant permissions explicitly,\n * use:

    \n *
      \n *
    • \n *

      x-amz-grant-read

      \n *
    • \n *
    • \n *

      x-amz-grant-write

      \n *
    • \n *
    • \n *

      x-amz-grant-read-acp

      \n *
    • \n *
    • \n *

      x-amz-grant-write-acp

      \n *
    • \n *
    • \n *

      x-amz-grant-full-control

      \n *
    • \n *
    \n *

    You specify each grantee as a type=value pair, where the type is one of\n * the following:

    \n *
      \n *
    • \n *

      \n * id – if the value specified is the canonical user ID\n * of an AWS account

      \n *
    • \n *
    • \n *

      \n * uri – if you are granting permissions to a predefined\n * group

      \n *
    • \n *
    • \n *

      \n * emailAddress – if the value specified is the email\n * address of an AWS account

      \n * \n *

      Using email addresses to specify a grantee is only supported in the following AWS Regions:

      \n *
        \n *
      • \n *

        US East (N. Virginia)

        \n *
      • \n *
      • \n *

        US West (N. California)

        \n *
      • \n *
      • \n *

        US West (Oregon)

        \n *
      • \n *
      • \n *

        Asia Pacific (Singapore)

        \n *
      • \n *
      • \n *

        Asia Pacific (Sydney)

        \n *
      • \n *
      • \n *

        Asia Pacific (Tokyo)

        \n *
      • \n *
      • \n *

        Europe (Ireland)

        \n *
      • \n *
      • \n *

        South America (São Paulo)

        \n *
      • \n *
      \n *

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      \n *
      \n *
    • \n *
    \n *

    For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

    \n *

    \n * x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" \n *

    \n *
  • \n *
\n *\n *
\n *
\n *\n *

The following operations are related to CreateMultipartUpload:

\n * \n */\nexport class CreateMultipartUploadCommand extends $Command<\n CreateMultipartUploadCommandInput,\n CreateMultipartUploadCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: CreateMultipartUploadCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CreateMultipartUploadCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: CreateMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CreateMultipartUploadOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: CreateMultipartUploadCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlCreateMultipartUploadCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlCreateMultipartUploadCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import {\n Encryption,\n GlacierJobParameters,\n Grant,\n ObjectCannedACL,\n RequestCharged,\n RequestPayer,\n ServerSideEncryption,\n StorageClass,\n Tagging,\n Tier,\n} from \"./models_0\";\nimport { SENSITIVE_STRING } from \"@aws-sdk/smithy-client\";\nimport { Readable } from \"stream\";\n\n/**\n *

A metadata key-value pair to store with an object.

\n */\nexport interface MetadataEntry {\n /**\n *

Name of the Object.

\n */\n Name?: string;\n\n /**\n *

Value of the Object.

\n */\n Value?: string;\n}\n\nexport namespace MetadataEntry {\n export const filterSensitiveLog = (obj: MetadataEntry): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes an Amazon S3 location that will receive the results of the restore request.

\n */\nexport interface S3Location {\n /**\n *

The name of the bucket where the restore results will be placed.

\n */\n BucketName: string | undefined;\n\n /**\n *

The prefix that is prepended to the restore results for this request.

\n */\n Prefix: string | undefined;\n\n /**\n *

Contains the type of server-side encryption used.

\n */\n Encryption?: Encryption;\n\n /**\n *

The canned ACL to apply to the restore results.

\n */\n CannedACL?: ObjectCannedACL | string;\n\n /**\n *

A list of grants that control access to the staged results.

\n */\n AccessControlList?: Grant[];\n\n /**\n *

The tag-set that is applied to the restore results.

\n */\n Tagging?: Tagging;\n\n /**\n *

A list of metadata to store with the restore results in S3.

\n */\n UserMetadata?: MetadataEntry[];\n\n /**\n *

The class of storage used to store the restore results.

\n */\n StorageClass?: StorageClass | string;\n}\n\nexport namespace S3Location {\n export const filterSensitiveLog = (obj: S3Location): any => ({\n ...obj,\n ...(obj.Encryption && { Encryption: Encryption.filterSensitiveLog(obj.Encryption) }),\n });\n}\n\n/**\n *

Describes the location where the restore job's output is stored.

\n */\nexport interface OutputLocation {\n /**\n *

Describes an S3 location that will receive the results of the restore request.

\n */\n S3?: S3Location;\n}\n\nexport namespace OutputLocation {\n export const filterSensitiveLog = (obj: OutputLocation): any => ({\n ...obj,\n ...(obj.S3 && { S3: S3Location.filterSensitiveLog(obj.S3) }),\n });\n}\n\nexport type ExpressionType = \"SQL\";\n\nexport type CompressionType = \"BZIP2\" | \"GZIP\" | \"NONE\";\n\nexport enum FileHeaderInfo {\n IGNORE = \"IGNORE\",\n NONE = \"NONE\",\n USE = \"USE\",\n}\n\n/**\n *

Describes how an uncompressed comma-separated values (CSV)-formatted input object is\n * formatted.

\n */\nexport interface CSVInput {\n /**\n *

Describes the first line of input. Valid values are:

\n *
    \n *
  • \n *

    \n * NONE: First line is not a header.

    \n *
  • \n *
  • \n *

    \n * IGNORE: First line is a header, but you can't use the header values\n * to indicate the column in an expression. You can use column position (such as _1, _2,\n * …) to indicate the column (SELECT s._1 FROM OBJECT s).

    \n *
  • \n *
  • \n *

    \n * Use: First line is a header, and you can use the header value to\n * identify a column in an expression (SELECT \"name\" FROM OBJECT).

    \n *
  • \n *
\n */\n FileHeaderInfo?: FileHeaderInfo | string;\n\n /**\n *

A single character used to indicate that a row should be ignored when the character is\n * present at the start of that row. You can specify any character to indicate a comment\n * line.

\n */\n Comments?: string;\n\n /**\n *

A single character used for escaping the quotation mark character inside an already\n * escaped value. For example, the value \"\"\" a , b \"\"\" is parsed as \" a , b \".

\n */\n QuoteEscapeCharacter?: string;\n\n /**\n *

A single character used to separate individual records in the input. Instead of the\n * default value, you can specify an arbitrary delimiter.

\n */\n RecordDelimiter?: string;\n\n /**\n *

A single character used to separate individual fields in a record. You can specify an\n * arbitrary delimiter.

\n */\n FieldDelimiter?: string;\n\n /**\n *

A single character used for escaping when the field delimiter is part of the value. For\n * example, if the value is a, b, Amazon S3 wraps this field value in quotation marks,\n * as follows: \" a , b \".

\n *

Type: String

\n *

Default: \"\n *

\n *

Ancestors: CSV\n *

\n */\n QuoteCharacter?: string;\n\n /**\n *

Specifies that CSV field values may contain quoted record delimiters and such records\n * should be allowed. Default value is FALSE. Setting this value to TRUE may lower\n * performance.

\n */\n AllowQuotedRecordDelimiter?: boolean;\n}\n\nexport namespace CSVInput {\n export const filterSensitiveLog = (obj: CSVInput): any => ({\n ...obj,\n });\n}\n\nexport enum JSONType {\n DOCUMENT = \"DOCUMENT\",\n LINES = \"LINES\",\n}\n\n/**\n *

Specifies JSON as object's input serialization format.

\n */\nexport interface JSONInput {\n /**\n *

The type of JSON. Valid values: Document, Lines.

\n */\n Type?: JSONType | string;\n}\n\nexport namespace JSONInput {\n export const filterSensitiveLog = (obj: JSONInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for Parquet.

\n */\nexport interface ParquetInput {}\n\nexport namespace ParquetInput {\n export const filterSensitiveLog = (obj: ParquetInput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes the serialization format of the object.

\n */\nexport interface InputSerialization {\n /**\n *

Describes the serialization of a CSV-encoded object.

\n */\n CSV?: CSVInput;\n\n /**\n *

Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value:\n * NONE.

\n */\n CompressionType?: CompressionType | string;\n\n /**\n *

Specifies JSON as object's input serialization format.

\n */\n JSON?: JSONInput;\n\n /**\n *

Specifies Parquet as object's input serialization format.

\n */\n Parquet?: ParquetInput;\n}\n\nexport namespace InputSerialization {\n export const filterSensitiveLog = (obj: InputSerialization): any => ({\n ...obj,\n });\n}\n\nexport enum QuoteFields {\n ALWAYS = \"ALWAYS\",\n ASNEEDED = \"ASNEEDED\",\n}\n\n/**\n *

Describes how uncompressed comma-separated values (CSV)-formatted results are\n * formatted.

\n */\nexport interface CSVOutput {\n /**\n *

Indicates whether to use quotation marks around output fields.

\n *
    \n *
  • \n *

    \n * ALWAYS: Always use quotation marks for output fields.

    \n *
  • \n *
  • \n *

    \n * ASNEEDED: Use quotation marks for output fields when needed.

    \n *
  • \n *
\n */\n QuoteFields?: QuoteFields | string;\n\n /**\n *

The single character used for escaping the quote character inside an already escaped\n * value.

\n */\n QuoteEscapeCharacter?: string;\n\n /**\n *

A single character used to separate individual records in the output. Instead of the\n * default value, you can specify an arbitrary delimiter.

\n */\n RecordDelimiter?: string;\n\n /**\n *

The value used to separate individual fields in a record. You can specify an arbitrary\n * delimiter.

\n */\n FieldDelimiter?: string;\n\n /**\n *

A single character used for escaping when the field delimiter is part of the value. For\n * example, if the value is a, b, Amazon S3 wraps this field value in quotation marks,\n * as follows: \" a , b \".

\n */\n QuoteCharacter?: string;\n}\n\nexport namespace CSVOutput {\n export const filterSensitiveLog = (obj: CSVOutput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies JSON as request's output serialization format.

\n */\nexport interface JSONOutput {\n /**\n *

The value used to separate individual records in the output. If no value is specified,\n * Amazon S3 uses a newline character ('\\n').

\n */\n RecordDelimiter?: string;\n}\n\nexport namespace JSONOutput {\n export const filterSensitiveLog = (obj: JSONOutput): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes how results of the Select job are serialized.

\n */\nexport interface OutputSerialization {\n /**\n *

Describes the serialization of CSV-encoded Select results.

\n */\n CSV?: CSVOutput;\n\n /**\n *

Specifies JSON as request's output serialization format.

\n */\n JSON?: JSONOutput;\n}\n\nexport namespace OutputSerialization {\n export const filterSensitiveLog = (obj: OutputSerialization): any => ({\n ...obj,\n });\n}\n\n/**\n *

Describes the parameters for Select job types.

\n */\nexport interface SelectParameters {\n /**\n *

Describes the serialization format of the object.

\n */\n InputSerialization: InputSerialization | undefined;\n\n /**\n *

The type of the provided expression (for example, SQL).

\n */\n ExpressionType: ExpressionType | string | undefined;\n\n /**\n *

The expression that is used to query the object.

\n */\n Expression: string | undefined;\n\n /**\n *

Describes how the results of the Select job are serialized.

\n */\n OutputSerialization: OutputSerialization | undefined;\n}\n\nexport namespace SelectParameters {\n export const filterSensitiveLog = (obj: SelectParameters): any => ({\n ...obj,\n });\n}\n\nexport enum RestoreRequestType {\n SELECT = \"SELECT\",\n}\n\n/**\n *

Container for restore job parameters.

\n */\nexport interface RestoreRequest {\n /**\n *

Lifetime of the active copy in days. Do not use with restores that specify\n * OutputLocation.

\n *

The Days element is required for regular restores, and must not be provided for select\n * requests.

\n */\n Days?: number;\n\n /**\n *

S3 Glacier related parameters pertaining to this job. Do not use with restores that\n * specify OutputLocation.

\n */\n GlacierJobParameters?: GlacierJobParameters;\n\n /**\n *

Type of restore request.

\n */\n Type?: RestoreRequestType | string;\n\n /**\n *

Retrieval tier at which the restore will be processed.

\n */\n Tier?: Tier | string;\n\n /**\n *

The optional description for the job.

\n */\n Description?: string;\n\n /**\n *

Describes the parameters for Select job types.

\n */\n SelectParameters?: SelectParameters;\n\n /**\n *

Describes the location where the restore job's output is stored.

\n */\n OutputLocation?: OutputLocation;\n}\n\nexport namespace RestoreRequest {\n export const filterSensitiveLog = (obj: RestoreRequest): any => ({\n ...obj,\n ...(obj.OutputLocation && { OutputLocation: OutputLocation.filterSensitiveLog(obj.OutputLocation) }),\n });\n}\n\nexport interface RestoreObjectRequest {\n /**\n *

The bucket name containing the object to restore.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Object key for which the operation was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

VersionId used to reference a specific version of the object.

\n */\n VersionId?: string;\n\n /**\n *

Container for restore job parameters.

\n */\n RestoreRequest?: RestoreRequest;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace RestoreObjectRequest {\n export const filterSensitiveLog = (obj: RestoreObjectRequest): any => ({\n ...obj,\n ...(obj.RestoreRequest && { RestoreRequest: RestoreRequest.filterSensitiveLog(obj.RestoreRequest) }),\n });\n}\n\n/**\n *

\n */\nexport interface ContinuationEvent {}\n\nexport namespace ContinuationEvent {\n export const filterSensitiveLog = (obj: ContinuationEvent): any => ({\n ...obj,\n });\n}\n\n/**\n *

A message that indicates the request is complete and no more messages will be sent. You\n * should not assume that the request is complete until the client receives an\n * EndEvent.

\n */\nexport interface EndEvent {}\n\nexport namespace EndEvent {\n export const filterSensitiveLog = (obj: EndEvent): any => ({\n ...obj,\n });\n}\n\n/**\n *

This data type contains information about progress of an operation.

\n */\nexport interface Progress {\n /**\n *

The current number of object bytes scanned.

\n */\n BytesScanned?: number;\n\n /**\n *

The current number of uncompressed object bytes processed.

\n */\n BytesProcessed?: number;\n\n /**\n *

The current number of bytes of records payload data returned.

\n */\n BytesReturned?: number;\n}\n\nexport namespace Progress {\n export const filterSensitiveLog = (obj: Progress): any => ({\n ...obj,\n });\n}\n\n/**\n *

This data type contains information about the progress event of an operation.

\n */\nexport interface ProgressEvent {\n /**\n *

The Progress event details.

\n */\n Details?: Progress;\n}\n\nexport namespace ProgressEvent {\n export const filterSensitiveLog = (obj: ProgressEvent): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container for the records event.

\n */\nexport interface RecordsEvent {\n /**\n *

The byte array of partial, one or more result records.

\n */\n Payload?: Uint8Array;\n}\n\nexport namespace RecordsEvent {\n export const filterSensitiveLog = (obj: RecordsEvent): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the stats details.

\n */\nexport interface Stats {\n /**\n *

The total number of object bytes scanned.

\n */\n BytesScanned?: number;\n\n /**\n *

The total number of uncompressed object bytes processed.

\n */\n BytesProcessed?: number;\n\n /**\n *

The total number of bytes of records payload data returned.

\n */\n BytesReturned?: number;\n}\n\nexport namespace Stats {\n export const filterSensitiveLog = (obj: Stats): any => ({\n ...obj,\n });\n}\n\n/**\n *

Container for the Stats Event.

\n */\nexport interface StatsEvent {\n /**\n *

The Stats event details.

\n */\n Details?: Stats;\n}\n\nexport namespace StatsEvent {\n export const filterSensitiveLog = (obj: StatsEvent): any => ({\n ...obj,\n });\n}\n\n/**\n *

The container for selecting objects from a content event stream.

\n */\nexport type SelectObjectContentEventStream =\n | SelectObjectContentEventStream.ContMember\n | SelectObjectContentEventStream.EndMember\n | SelectObjectContentEventStream.ProgressMember\n | SelectObjectContentEventStream.RecordsMember\n | SelectObjectContentEventStream.StatsMember\n | SelectObjectContentEventStream.$UnknownMember;\n\nexport namespace SelectObjectContentEventStream {\n /**\n *

The Records Event.

\n */\n export interface RecordsMember {\n Records: RecordsEvent;\n Stats?: never;\n Progress?: never;\n Cont?: never;\n End?: never;\n $unknown?: never;\n }\n\n /**\n *

The Stats Event.

\n */\n export interface StatsMember {\n Records?: never;\n Stats: StatsEvent;\n Progress?: never;\n Cont?: never;\n End?: never;\n $unknown?: never;\n }\n\n /**\n *

The Progress Event.

\n */\n export interface ProgressMember {\n Records?: never;\n Stats?: never;\n Progress: ProgressEvent;\n Cont?: never;\n End?: never;\n $unknown?: never;\n }\n\n /**\n *

The Continuation Event.

\n */\n export interface ContMember {\n Records?: never;\n Stats?: never;\n Progress?: never;\n Cont: ContinuationEvent;\n End?: never;\n $unknown?: never;\n }\n\n /**\n *

The End Event.

\n */\n export interface EndMember {\n Records?: never;\n Stats?: never;\n Progress?: never;\n Cont?: never;\n End: EndEvent;\n $unknown?: never;\n }\n\n export interface $UnknownMember {\n Records?: never;\n Stats?: never;\n Progress?: never;\n Cont?: never;\n End?: never;\n $unknown: [string, any];\n }\n\n export interface Visitor {\n Records: (value: RecordsEvent) => T;\n Stats: (value: StatsEvent) => T;\n Progress: (value: ProgressEvent) => T;\n Cont: (value: ContinuationEvent) => T;\n End: (value: EndEvent) => T;\n _: (name: string, value: any) => T;\n }\n\n export const visit = (value: SelectObjectContentEventStream, visitor: Visitor): T => {\n if (value.Records !== undefined) return visitor.Records(value.Records);\n if (value.Stats !== undefined) return visitor.Stats(value.Stats);\n if (value.Progress !== undefined) return visitor.Progress(value.Progress);\n if (value.Cont !== undefined) return visitor.Cont(value.Cont);\n if (value.End !== undefined) return visitor.End(value.End);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n\n export const filterSensitiveLog = (obj: SelectObjectContentEventStream): any => {\n if (obj.Records !== undefined) return { Records: RecordsEvent.filterSensitiveLog(obj.Records) };\n if (obj.Stats !== undefined) return { Stats: StatsEvent.filterSensitiveLog(obj.Stats) };\n if (obj.Progress !== undefined) return { Progress: ProgressEvent.filterSensitiveLog(obj.Progress) };\n if (obj.Cont !== undefined) return { Cont: ContinuationEvent.filterSensitiveLog(obj.Cont) };\n if (obj.End !== undefined) return { End: EndEvent.filterSensitiveLog(obj.End) };\n if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: \"UNKNOWN\" };\n };\n}\n\nexport interface SelectObjectContentOutput {\n /**\n *

The array of results.

\n */\n Payload?: AsyncIterable;\n}\n\nexport namespace SelectObjectContentOutput {\n export const filterSensitiveLog = (obj: SelectObjectContentOutput): any => ({\n ...obj,\n ...(obj.Payload && { Payload: \"STREAMING_CONTENT\" }),\n });\n}\n\n/**\n *

Container for specifying if periodic QueryProgress messages should be\n * sent.

\n */\nexport interface RequestProgress {\n /**\n *

Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE,\n * FALSE. Default value: FALSE.

\n */\n Enabled?: boolean;\n}\n\nexport namespace RequestProgress {\n export const filterSensitiveLog = (obj: RequestProgress): any => ({\n ...obj,\n });\n}\n\n/**\n *

Specifies the byte range of the object to get the records from. A record is processed\n * when its first byte is contained by the range. This parameter is optional, but when\n * specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the\n * start and end of the range.

\n */\nexport interface ScanRange {\n /**\n *

Specifies the start of the byte range. This parameter is optional. Valid values:\n * non-negative integers. The default value is 0. If only start is supplied, it means scan\n * from that point to the end of the file.For example;\n * 50 means scan\n * from byte 50 until the end of the file.

\n */\n Start?: number;\n\n /**\n *

Specifies the end of the byte range. This parameter is optional. Valid values:\n * non-negative integers. The default value is one less than the size of the object being\n * queried. If only the End parameter is supplied, it is interpreted to mean scan the last N\n * bytes of the file. For example,\n * 50 means scan the\n * last 50 bytes.

\n */\n End?: number;\n}\n\nexport namespace ScanRange {\n export const filterSensitiveLog = (obj: ScanRange): any => ({\n ...obj,\n });\n}\n\n/**\n *

Request to filter the contents of an Amazon S3 object based on a simple Structured Query\n * Language (SQL) statement. In the request, along with the SQL expression, you must specify a\n * data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data\n * into records. It returns only records that match the specified SQL expression. You must\n * also specify the data serialization format for the response. For more information, see\n * S3Select API Documentation.

\n */\nexport interface SelectObjectContentRequest {\n /**\n *

The S3 bucket.

\n */\n Bucket: string | undefined;\n\n /**\n *

The object key.

\n */\n Key: string | undefined;\n\n /**\n *

The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

The SSE Customer Key. For more information, see Server-Side Encryption\n * (Using Customer-Provided Encryption Keys.

\n */\n SSECustomerKey?: string;\n\n /**\n *

The SSE Customer Key MD5. For more information, see Server-Side Encryption\n * (Using Customer-Provided Encryption Keys.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

The expression that is used to query the object.

\n */\n Expression: string | undefined;\n\n /**\n *

The type of the provided expression (for example, SQL).

\n */\n ExpressionType: ExpressionType | string | undefined;\n\n /**\n *

Specifies if periodic request progress information should be enabled.

\n */\n RequestProgress?: RequestProgress;\n\n /**\n *

Describes the format of the data in the object that is being queried.

\n */\n InputSerialization: InputSerialization | undefined;\n\n /**\n *

Describes the format of the data that you want Amazon S3 to return in response.

\n */\n OutputSerialization: OutputSerialization | undefined;\n\n /**\n *

Specifies the byte range of the object to get the records from. A record is processed\n * when its first byte is contained by the range. This parameter is optional, but when\n * specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the\n * start and end of the range.

\n *

\n * ScanRangemay be used in the following ways:

\n *
    \n *
  • \n *

    \n * 50100\n * - process only the records starting between the bytes 50 and 100 (inclusive, counting\n * from zero)

    \n *
  • \n *
  • \n *

    \n * 50 -\n * process only the records starting after the byte 50

    \n *
  • \n *
  • \n *

    \n * 50 -\n * process only the records within the last 50 bytes of the file.

    \n *
  • \n *
\n */\n ScanRange?: ScanRange;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace SelectObjectContentRequest {\n export const filterSensitiveLog = (obj: SelectObjectContentRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n });\n}\n\nexport interface UploadPartOutput {\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

Entity tag for the uploaded object.

\n */\n ETag?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace UploadPartOutput {\n export const filterSensitiveLog = (obj: UploadPartOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n });\n}\n\nexport interface UploadPartRequest {\n /**\n *

Object data.

\n */\n Body?: Readable | ReadableStream | Blob;\n\n /**\n *

The name of the bucket to which the multipart upload was initiated.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Size of the body in bytes. This parameter is useful when the size of the body cannot be\n * determined automatically.

\n */\n ContentLength?: number;\n\n /**\n *

The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated\n * when using the command from the CLI. This parameter is required if object lock parameters\n * are specified.

\n */\n ContentMD5?: string;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

Part number of part being uploaded. This is a positive integer between 1 and\n * 10,000.

\n */\n PartNumber: number | undefined;\n\n /**\n *

Upload ID identifying the multipart upload whose part is being uploaded.

\n */\n UploadId: string | undefined;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header. This must be the\n * same encryption key specified in the initiate multipart upload request.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n}\n\nexport namespace UploadPartRequest {\n export const filterSensitiveLog = (obj: UploadPartRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n });\n}\n\n/**\n *

Container for all response elements.

\n */\nexport interface CopyPartResult {\n /**\n *

Entity tag of the object.

\n */\n ETag?: string;\n\n /**\n *

Date and time at which the object was uploaded.

\n */\n LastModified?: Date;\n}\n\nexport namespace CopyPartResult {\n export const filterSensitiveLog = (obj: CopyPartResult): any => ({\n ...obj,\n });\n}\n\nexport interface UploadPartCopyOutput {\n /**\n *

The version of the source object that was copied, if you have enabled versioning on the\n * source bucket.

\n */\n CopySourceVersionId?: string;\n\n /**\n *

Container for all response elements.

\n */\n CopyPartResult?: CopyPartResult;\n\n /**\n *

The server-side encryption algorithm used when storing this object in Amazon S3 (for example,\n * AES256, aws:kms).

\n */\n ServerSideEncryption?: ServerSideEncryption | string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header confirming the encryption algorithm used.

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

If server-side encryption with a customer-provided encryption key was requested, the\n * response will include this header to provide round-trip message integrity verification of\n * the customer-provided encryption key.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric\n * customer managed customer master key (CMK) that was used for the object.

\n */\n SSEKMSKeyId?: string;\n\n /**\n *

Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with AWS KMS (SSE-KMS).

\n */\n BucketKeyEnabled?: boolean;\n\n /**\n *

If present, indicates that the requester was successfully charged for the\n * request.

\n */\n RequestCharged?: RequestCharged | string;\n}\n\nexport namespace UploadPartCopyOutput {\n export const filterSensitiveLog = (obj: UploadPartCopyOutput): any => ({\n ...obj,\n ...(obj.SSEKMSKeyId && { SSEKMSKeyId: SENSITIVE_STRING }),\n });\n}\n\nexport interface UploadPartCopyRequest {\n /**\n *

The bucket name.

\n *

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

\n *

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide.

\n */\n Bucket: string | undefined;\n\n /**\n *

Specifies the source object for the copy operation. You specify the value in one of two\n * formats, depending on whether you want to access the source object through an access\n * point:

\n *
    \n *
  • \n *

    For objects not accessed through an access point, specify the name of the source\n * bucket and key of the source object, separated by a slash (/). For example, to copy\n * the object reports/january.pdf from the bucket\n * awsexamplebucket, use\n * awsexamplebucket/reports/january.pdf. The value must be URL\n * encoded.

    \n *
  • \n *
  • \n *

    For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format arn:aws:s3:::accesspoint//object/. For example, to copy the object reports/january.pdf through access point my-access-point owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. The value must be URL encoded.

    \n * \n *

    Amazon S3 supports copy operations using access points only when the source and destination buckets are in the same AWS Region.

    \n *
    \n *

    Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format arn:aws:s3-outposts:::outpost//object/. For example, to copy the object reports/january.pdf through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf. The value must be URL encoded.

    \n *
  • \n *
\n *

To copy a specific version of an object, append ?versionId=\n * to the value (for example,\n * awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).\n * If you don't specify a version ID, Amazon S3 copies the latest version of the source\n * object.

\n */\n CopySource: string | undefined;\n\n /**\n *

Copies the object if its entity tag (ETag) matches the specified tag.

\n */\n CopySourceIfMatch?: string;\n\n /**\n *

Copies the object if it has been modified since the specified time.

\n */\n CopySourceIfModifiedSince?: Date;\n\n /**\n *

Copies the object if its entity tag (ETag) is different than the specified ETag.

\n */\n CopySourceIfNoneMatch?: string;\n\n /**\n *

Copies the object if it hasn't been modified since the specified time.

\n */\n CopySourceIfUnmodifiedSince?: Date;\n\n /**\n *

The range of bytes to copy from the source object. The range value must use the form\n * bytes=first-last, where the first and last are the zero-based byte offsets to copy. For\n * example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You\n * can copy a range only if the source object is greater than 5 MB.

\n */\n CopySourceRange?: string;\n\n /**\n *

Object key for which the multipart upload was initiated.

\n */\n Key: string | undefined;\n\n /**\n *

Part number of part being copied. This is a positive integer between 1 and\n * 10,000.

\n */\n PartNumber: number | undefined;\n\n /**\n *

Upload ID identifying the multipart upload whose part is being copied.

\n */\n UploadId: string | undefined;\n\n /**\n *

Specifies the algorithm to use to when encrypting the object (for example,\n * AES256).

\n */\n SSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This\n * value is used to store the object and then it is discarded; Amazon S3 does not store the\n * encryption key. The key must be appropriate for use with the algorithm specified in the\n * x-amz-server-side-encryption-customer-algorithm header. This must be the\n * same encryption key specified in the initiate multipart upload request.

\n */\n SSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n SSECustomerKeyMD5?: string;\n\n /**\n *

Specifies the algorithm to use when decrypting the source object (for example,\n * AES256).

\n */\n CopySourceSSECustomerAlgorithm?: string;\n\n /**\n *

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source\n * object. The encryption key provided in this header must be one that was used when the\n * source object was created.

\n */\n CopySourceSSECustomerKey?: string;\n\n /**\n *

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses\n * this header for a message integrity check to ensure that the encryption key was transmitted\n * without error.

\n */\n CopySourceSSECustomerKeyMD5?: string;\n\n /**\n *

Confirms that the requester knows that they will be charged for the request. Bucket\n * owners need not specify this parameter in their requests. For information about downloading\n * objects from requester pays buckets, see Downloading Objects in\n * Requestor Pays Buckets in the Amazon S3 Developer Guide.

\n */\n RequestPayer?: RequestPayer | string;\n\n /**\n *

The account id of the expected destination bucket owner. If the destination bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedBucketOwner?: string;\n\n /**\n *

The account id of the expected source bucket owner. If the source bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

\n */\n ExpectedSourceBucketOwner?: string;\n}\n\nexport namespace UploadPartCopyRequest {\n export const filterSensitiveLog = (obj: UploadPartCopyRequest): any => ({\n ...obj,\n ...(obj.SSECustomerKey && { SSECustomerKey: SENSITIVE_STRING }),\n ...(obj.CopySourceSSECustomerKey && { CopySourceSSECustomerKey: SENSITIVE_STRING }),\n });\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { UploadPartOutput, UploadPartRequest } from \"../models/models_1\";\nimport {\n deserializeAws_restXmlUploadPartCommand,\n serializeAws_restXmlUploadPartCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type UploadPartCommandInput = Omit & {\n Body?: UploadPartRequest[\"Body\"] | string | Uint8Array | Buffer;\n};\nexport type UploadPartCommandOutput = UploadPartOutput & __MetadataBearer;\n\n/**\n *

Uploads a part in a multipart upload.

\n * \n *

In this operation, you provide part data in your request. However, you have an option\n * to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n * upload a part from an existing object, you use the UploadPartCopy operation.\n *

\n *
\n *\n *

You must initiate a multipart upload (see CreateMultipartUpload)\n * before you can upload any part. In response to your initiate request, Amazon S3 returns an\n * upload ID, a unique identifier, that you must include in your upload part request.

\n *

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely\n * identifies a part and also defines its position within the object being created. If you\n * upload a new part using the same part number that was used with a previous part, the\n * previously uploaded part is overwritten. Each part must be at least 5 MB in size, except\n * the last part. There is no size limit on the last part of your multipart upload.

\n *

To ensure that data is not corrupted when traversing the network, specify the\n * Content-MD5 header in the upload part request. Amazon S3 checks the part data\n * against the provided MD5 value. If they do not match, Amazon S3 returns an error.

\n *\n *

If the upload request is signed with Signature Version 4, then AWS S3 uses the\n * x-amz-content-sha256 header as a checksum instead of\n * Content-MD5. For more information see Authenticating Requests: Using the Authorization Header (AWS Signature Version\n * 4).

\n *\n *\n *\n *

\n * Note: After you initiate multipart upload and upload\n * one or more parts, you must either complete or abort multipart upload in order to stop\n * getting charged for storage of the uploaded parts. Only after you either complete or abort\n * multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts\n * storage.

\n *\n *

For more information on multipart uploads, go to Multipart Upload Overview in the\n * Amazon Simple Storage Service Developer Guide .

\n *

For information on the permissions required to use the multipart upload API, go to\n * Multipart Upload API and\n * Permissions in the Amazon Simple Storage Service Developer Guide.

\n *\n *

You can optionally request server-side encryption where Amazon S3 encrypts your data as it\n * writes it to disks in its data centers and decrypts it for you when you access it. You have\n * the option of providing your own encryption key, or you can use the AWS managed encryption\n * keys. If you choose to provide your own encryption key, the request headers you provide in\n * the request must match the headers you used in the request to initiate the upload by using\n * CreateMultipartUpload. For more information, go to Using Server-Side Encryption in\n * the Amazon Simple Storage Service Developer Guide.

\n *\n *

Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are\n * using a customer-provided encryption key, you don't need to specify the encryption\n * parameters in each UploadPart request. Instead, you only need to specify the server-side\n * encryption parameters in the initial Initiate Multipart request. For more information, see\n * CreateMultipartUpload.

\n *\n *

If you requested server-side encryption using a customer-provided encryption key in your\n * initiate multipart upload request, you must provide identical encryption information in\n * each part upload using the following headers.

\n *\n *\n *
    \n *
  • \n *

    x-amz-server-side-encryption-customer-algorithm

    \n *
  • \n *
  • \n *

    x-amz-server-side-encryption-customer-key

    \n *
  • \n *
  • \n *

    x-amz-server-side-encryption-customer-key-MD5

    \n *
  • \n *
\n *\n *

\n * Special Errors\n *

\n *
    \n *
  • \n *
      \n *
    • \n *

      \n * Code: NoSuchUpload\n *

      \n *
    • \n *
    • \n *

      \n * Cause: The specified multipart upload does not exist. The upload\n * ID might be invalid, or the multipart upload might have been aborted or\n * completed.\n *

      \n *
    • \n *
    • \n *

      \n * HTTP Status Code: 404 Not Found \n *

      \n *
    • \n *
    • \n *

      \n * SOAP Fault Code Prefix: Client\n *

      \n *
    • \n *
    \n *
  • \n *
\n *\n *\n *\n *\n *\n *\n *

\n * Related Resources\n *

\n * \n */\nexport class UploadPartCommand extends $Command<\n UploadPartCommandInput,\n UploadPartCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: UploadPartCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getSsecPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"UploadPartCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: UploadPartRequest.filterSensitiveLog,\n outputFilterSensitiveLog: UploadPartOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: UploadPartCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlUploadPartCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlUploadPartCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { CompleteMultipartUploadOutput, CompleteMultipartUploadRequest } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlCompleteMultipartUploadCommand,\n serializeAws_restXmlCompleteMultipartUploadCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type CompleteMultipartUploadCommandInput = CompleteMultipartUploadRequest;\nexport type CompleteMultipartUploadCommandOutput = CompleteMultipartUploadOutput & __MetadataBearer;\n\n/**\n *

Completes a multipart upload by assembling previously uploaded parts.

\n *

You first initiate the multipart upload and then upload all parts using the UploadPart\n * operation. After successfully uploading all relevant parts of an upload, you call this\n * operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all\n * the parts in ascending order by part number to create a new object. In the Complete\n * Multipart Upload request, you must provide the parts list. You must ensure that the parts\n * list is complete. This operation concatenates the parts that you provide in the list. For\n * each part in the list, you must provide the part number and the ETag value,\n * returned after that part was uploaded.

\n *

Processing of a Complete Multipart Upload request could take several minutes to\n * complete. After Amazon S3 begins processing the request, it sends an HTTP response header that\n * specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n * space characters to keep the connection from timing out. Because a request could fail after\n * the initial 200 OK response has been sent, it is important that you check the response body\n * to determine whether the request succeeded.

\n *

Note that if CompleteMultipartUpload fails, applications should be prepared\n * to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

\n *

For more information about multipart uploads, see Uploading Objects Using Multipart\n * Upload.

\n *

For information about permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *\n *\n *

\n * CompleteMultipartUpload has the following special errors:

\n *
    \n *
  • \n *

    Error code: EntityTooSmall\n *

    \n *
      \n *
    • \n *

      Description: Your proposed upload is smaller than the minimum allowed object\n * size. Each part must be at least 5 MB in size, except the last part.

      \n *
    • \n *
    • \n *

      400 Bad Request

      \n *
    • \n *
    \n *
  • \n *
  • \n *

    Error code: InvalidPart\n *

    \n *
      \n *
    • \n *

      Description: One or more of the specified parts could not be found. The part\n * might not have been uploaded, or the specified entity tag might not have\n * matched the part's entity tag.

      \n *
    • \n *
    • \n *

      400 Bad Request

      \n *
    • \n *
    \n *
  • \n *
  • \n *

    Error code: InvalidPartOrder\n *

    \n *
      \n *
    • \n *

      Description: The list of parts was not in ascending order. The parts list\n * must be specified in order by part number.

      \n *
    • \n *
    • \n *

      400 Bad Request

      \n *
    • \n *
    \n *
  • \n *
  • \n *

    Error code: NoSuchUpload\n *

    \n *
      \n *
    • \n *

      Description: The specified multipart upload does not exist. The upload ID\n * might be invalid, or the multipart upload might have been aborted or\n * completed.

      \n *
    • \n *
    • \n *

      404 Not Found

      \n *
    • \n *
    \n *
  • \n *
\n *\n *

The following operations are related to CompleteMultipartUpload:

\n * \n */\nexport class CompleteMultipartUploadCommand extends $Command<\n CompleteMultipartUploadCommandInput,\n CompleteMultipartUploadCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: CompleteMultipartUploadCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getThrow200ExceptionsPlugin(configuration));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"CompleteMultipartUploadCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: CompleteMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: CompleteMultipartUploadOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: CompleteMultipartUploadCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlCompleteMultipartUploadCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlCompleteMultipartUploadCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { AbortMultipartUploadOutput, AbortMultipartUploadRequest } from \"../models/models_0\";\nimport {\n deserializeAws_restXmlAbortMultipartUploadCommand,\n serializeAws_restXmlAbortMultipartUploadCommand,\n} from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type AbortMultipartUploadCommandInput = AbortMultipartUploadRequest;\nexport type AbortMultipartUploadCommandOutput = AbortMultipartUploadOutput & __MetadataBearer;\n\n/**\n *

This operation aborts a multipart upload. After a multipart upload is aborted, no\n * additional parts can be uploaded using that upload ID. The storage consumed by any\n * previously uploaded parts will be freed. However, if any part uploads are currently in\n * progress, those part uploads might or might not succeed. As a result, it might be necessary\n * to abort a given multipart upload multiple times in order to completely free all storage\n * consumed by all parts.

\n *

To verify that all parts have been removed, so you don't get charged for the part\n * storage, you should call the ListParts operation and ensure that\n * the parts list is empty.

\n *

For information about permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *

The following operations are related to AbortMultipartUpload:

\n * \n */\nexport class AbortMultipartUploadCommand extends $Command<\n AbortMultipartUploadCommandInput,\n AbortMultipartUploadCommandOutput,\n S3ClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: AbortMultipartUploadCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"AbortMultipartUploadCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: AbortMultipartUploadRequest.filterSensitiveLog,\n outputFilterSensitiveLog: AbortMultipartUploadOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: AbortMultipartUploadCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlAbortMultipartUploadCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlAbortMultipartUploadCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../S3Client\";\nimport { ListPartsOutput, ListPartsRequest } from \"../models/models_0\";\nimport { deserializeAws_restXmlListPartsCommand, serializeAws_restXmlListPartsCommand } from \"../protocols/Aws_restXml\";\nimport { getBucketEndpointPlugin } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type ListPartsCommandInput = ListPartsRequest;\nexport type ListPartsCommandOutput = ListPartsOutput & __MetadataBearer;\n\n/**\n *

Lists the parts that have been uploaded for a specific multipart upload. This operation\n * must include the upload ID, which you obtain by sending the initiate multipart upload\n * request (see CreateMultipartUpload).\n * This request returns a maximum of 1,000 uploaded parts. The default number of parts\n * returned is 1,000 parts. You can restrict the number of parts returned by specifying the\n * max-parts request parameter. If your multipart upload consists of more than\n * 1,000 parts, the response returns an IsTruncated field with the value of true,\n * and a NextPartNumberMarker element. In subsequent ListParts\n * requests you can include the part-number-marker query string parameter and set its value to\n * the NextPartNumberMarker field value from the previous response.

\n *\n *

For more information on multipart uploads, see Uploading Objects Using Multipart\n * Upload.

\n *\n *

For information on permissions required to use the multipart upload API, see Multipart Upload API and\n * Permissions.

\n *\n *

The following operations are related to ListParts:

\n * \n */\nexport class ListPartsCommand extends $Command {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: ListPartsCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack,\n configuration: S3ClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n this.middlewareStack.use(getBucketEndpointPlugin(configuration));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"S3Client\";\n const commandName = \"ListPartsCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: ListPartsRequest.filterSensitiveLog,\n outputFilterSensitiveLog: ListPartsOutput.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: ListPartsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_restXmlListPartsCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {\n return deserializeAws_restXmlListPartsCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport {\n\tPutObjectCommand,\n\tPutObjectRequest,\n\tCreateMultipartUploadCommand,\n\tUploadPartCommand,\n\tCompleteMultipartUploadCommand,\n\tCompleteMultipartUploadCommandInput,\n\tListPartsCommand,\n\tAbortMultipartUploadCommand,\n\tCompletedPart,\n\tS3Client,\n} from '@aws-sdk/client-s3';\nimport {\n\tSEND_UPLOAD_PROGRESS_EVENT,\n\tSEND_DOWNLOAD_PROGRESS_EVENT,\n\tAxiosHttpHandlerOptions,\n} from './axios-http-handler';\nimport * as events from 'events';\nimport {\n\tcreatePrefixMiddleware,\n\tprefixMiddlewareOptions,\n\tautoAdjustClockskewMiddleware,\n\tautoAdjustClockskewMiddlewareOptions,\n\tcreateS3Client,\n} from '../common/S3ClientUtils';\n\nconst logger = new Logger('AWSS3ProviderManagedUpload');\n\nexport declare interface Part {\n\tbodyPart: any;\n\tpartNumber: number;\n\temitter: events.EventEmitter;\n\tetag?: string;\n\t_lastUploadedBytes: number;\n}\n\nexport class AWSS3ProviderManagedUpload {\n\t// Defaults\n\tprotected minPartSize = 5 * 1024 * 1024; // in MB\n\tprivate queueSize = 4;\n\n\t// Data for current upload\n\tprivate body = null;\n\tprivate params: PutObjectRequest = null;\n\tprivate opts = null;\n\tprivate completedParts: CompletedPart[] = [];\n\tprivate s3client: S3Client;\n\tprivate uploadId = null;\n\n\t// Progress reporting\n\tprivate bytesUploaded = 0;\n\tprivate totalBytesToUpload = 0;\n\tprivate emitter: events.EventEmitter = null;\n\n\tconstructor(params: PutObjectRequest, opts, emitter: events.EventEmitter) {\n\t\tthis.params = params;\n\t\tthis.opts = opts;\n\t\tthis.emitter = emitter;\n\t\tthis.s3client = this._createNewS3Client(opts, emitter);\n\t}\n\n\tpublic async upload() {\n\t\ttry {\n\t\t\tthis.body = await this.validateAndSanitizeBody(this.params.Body);\n\t\t\tthis.totalBytesToUpload = this.byteLength(this.body);\n\t\t\tif (this.totalBytesToUpload <= this.minPartSize) {\n\t\t\t\t// Multipart upload is not required. Upload the sanitized body as is\n\t\t\t\tthis.params.Body = this.body;\n\t\t\t\tconst putObjectCommand = new PutObjectCommand(this.params);\n\t\t\t\treturn this.s3client.send(putObjectCommand);\n\t\t\t} else {\n\t\t\t\t// Step 1: Initiate the multi part upload\n\t\t\t\tthis.uploadId = await this.createMultiPartUpload();\n\n\t\t\t\t// Step 2: Upload chunks in parallel as requested\n\t\t\t\tconst numberOfPartsToUpload = Math.ceil(\n\t\t\t\t\tthis.totalBytesToUpload / this.minPartSize\n\t\t\t\t);\n\n\t\t\t\tconst parts: Part[] = this.createParts();\n\t\t\t\tfor (\n\t\t\t\t\tlet start = 0;\n\t\t\t\t\tstart < numberOfPartsToUpload;\n\t\t\t\t\tstart += this.queueSize\n\t\t\t\t) {\n\n\t\t\t\t\t// Upload as many as `queueSize` parts simultaneously\n\t\t\t\t\tawait this.uploadParts(\n\t\t\t\t\t\tthis.uploadId,\n\t\t\t\t\t\tparts.slice(start, start + this.queueSize)\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tparts.map(part => {\n\t\t\t\t\tthis.removeEventListener(part);\n\t\t\t\t});\n\n\t\t\t\t// Step 3: Finalize the upload such that S3 can recreate the file\n\t\t\t\treturn await this.finishMultiPartUpload(this.uploadId);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// if any error is thrown, call cleanup\n\t\t\tawait this.cleanup(this.uploadId);\n\t\t\tlogger.error('Error. Cancelling the multipart upload.');\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate createParts(): Part[] {\n\t\ttry {\n\t\t\tconst parts: Part[] = [];\n\t\t\tfor (let bodyStart = 0; bodyStart < this.totalBytesToUpload; ) {\n\t\t\t\tconst bodyEnd = Math.min(\n\t\t\t\t\tbodyStart + this.minPartSize,\n\t\t\t\t\tthis.totalBytesToUpload\n\t\t\t\t);\n\t\t\t\tparts.push({\n\t\t\t\t\tbodyPart: this.body.slice(bodyStart, bodyEnd),\n\t\t\t\t\tpartNumber: parts.length + 1,\n\t\t\t\t\temitter: new events.EventEmitter(),\n\t\t\t\t\t_lastUploadedBytes: 0,\n\t\t\t\t});\n\t\t\t\tbodyStart += this.minPartSize;\n\t\t\t}\n\t\t\treturn parts;\n\t\t} catch (error) {\n\t\t\tlogger.error(error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async createMultiPartUpload() {\n\t\ttry {\n\t\t\tconst createMultiPartUploadCommand = new CreateMultipartUploadCommand(\n\t\t\t\tthis.params\n\t\t\t);\n\t\t\tconst response = await this.s3client.send(createMultiPartUploadCommand);\n\t\t\tlogger.debug(response.UploadId);\n\t\t\treturn response.UploadId;\n\t\t} catch (error) {\n\t\t\tlogger.error(error);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * @private Not to be extended outside of tests\n\t * @VisibleFotTesting\n\t */\n\tprotected async uploadParts(uploadId: string, parts: Part[]) {\n\t\ttry {\n\t\t\tconst allResults = await Promise.all(\n\t\t\t\tparts.map(async part => {\n\t\t\t\t\tthis.setupEventListener(part);\n\t\t\t\t\tconst options: AxiosHttpHandlerOptions = { emitter: part.emitter };\n\t\t\t\t\tconst {\n\t\t\t\t\t\tKey,\n\t\t\t\t\t\tBucket,\n\t\t\t\t\t\tSSECustomerAlgorithm,\n\t\t\t\t\t\tSSECustomerKey,\n\t\t\t\t\t\tSSECustomerKeyMD5,\n\t\t\t\t\t} = this.params;\n\t\t\t\t\tconst res = await this.s3client.send(\n\t\t\t\t\t\tnew UploadPartCommand({\n\t\t\t\t\t\t\tPartNumber: part.partNumber,\n\t\t\t\t\t\t\tBody: part.bodyPart,\n\t\t\t\t\t\t\tUploadId: uploadId,\n\t\t\t\t\t\t\tKey,\n\t\t\t\t\t\t\tBucket,\n\t\t\t\t\t\t\t...(SSECustomerAlgorithm && { SSECustomerAlgorithm }),\n\t\t\t\t\t\t\t...(SSECustomerKey && { SSECustomerKey }),\n\t\t\t\t\t\t\t...(SSECustomerKeyMD5 && { SSECustomerKeyMD5 }),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\toptions\n\t\t\t\t\t);\n\t\t\t\t\treturn res;\n\t\t\t\t})\n\t\t\t);\n\t\t\t// The order of resolved promises is the same as input promise order.\n\t\t\tfor (let i = 0; i < allResults.length; i++) {\n\t\t\t\tthis.completedParts.push({\n\t\t\t\t\tPartNumber: parts[i].partNumber,\n\t\t\t\t\tETag: allResults[i].ETag,\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tlogger.error(\n\t\t\t\t'Error happened while uploading a part. Cancelling the multipart upload'\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async finishMultiPartUpload(uploadId: string) {\n\t\tconst input: CompleteMultipartUploadCommandInput = {\n\t\t\tBucket: this.params.Bucket,\n\t\t\tKey: this.params.Key,\n\t\t\tUploadId: uploadId,\n\t\t\tMultipartUpload: { Parts: this.completedParts },\n\t\t};\n\t\tconst completeUploadCommand = new CompleteMultipartUploadCommand(input);\n\t\ttry {\n\t\t\tconst data = await this.s3client.send(completeUploadCommand);\n\t\t\treturn data.Key;\n\t\t} catch (error) {\n\t\t\tlogger.error('Error happened while finishing the upload.');\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async cleanup(uploadId: string) {\n\t\t// Reset this's state\n\t\tthis.body = null;\n\t\tthis.completedParts = [];\n\t\tthis.bytesUploaded = 0;\n\t\tthis.totalBytesToUpload = 0;\n\n\t\tconst input = {\n\t\t\tBucket: this.params.Bucket,\n\t\t\tKey: this.params.Key,\n\t\t\tUploadId: uploadId,\n\t\t};\n\n\t\tawait this.s3client.send(new AbortMultipartUploadCommand(input));\n\n\t\t// verify that all parts are removed.\n\t\tconst data = await this.s3client.send(new ListPartsCommand(input));\n\n\t\tif (data && data.Parts && data.Parts.length > 0) {\n\t\t\tthrow new Error('Multipart upload clean up failed.');\n\t\t}\n\t}\n\n\tprivate removeEventListener(part: Part) {\n\t\tpart.emitter.removeAllListeners(SEND_UPLOAD_PROGRESS_EVENT);\n\t\tpart.emitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n\t}\n\n\tprivate setupEventListener(part: Part) {\n\t\tpart.emitter.on(SEND_UPLOAD_PROGRESS_EVENT, progress => {\n\t\t\tthis.progressChanged(\n\t\t\t\tpart.partNumber,\n\t\t\t\tprogress.loaded - part._lastUploadedBytes\n\t\t\t);\n\t\t\tpart._lastUploadedBytes = progress.loaded;\n\t\t});\n\t}\n\n\tprivate progressChanged(partNumber: number, incrementalUpdate: number) {\n\t\tthis.bytesUploaded += incrementalUpdate;\n\t\tthis.emitter.emit(SEND_UPLOAD_PROGRESS_EVENT, {\n\t\t\tloaded: this.bytesUploaded,\n\t\t\ttotal: this.totalBytesToUpload,\n\t\t\tpart: partNumber,\n\t\t\tkey: this.params.Key,\n\t\t});\n\t}\n\n\tprivate byteLength(input: any) {\n\t\tif (input === null || input === undefined) return 0;\n\t\tif (typeof input.byteLength === 'number') {\n\t\t\treturn input.byteLength;\n\t\t} else if (typeof input.length === 'number') {\n\t\t\treturn input.length;\n\t\t} else if (typeof input.size === 'number') {\n\t\t\treturn input.size;\n\t\t} else if (typeof input.path === 'string') {\n\t\t\t/* NodeJs Support\n\t\t\treturn require('fs').lstatSync(input.path).size;\n\t\t\t*/\n\t\t} else {\n\t\t\tthrow new Error('Cannot determine length of ' + input);\n\t\t}\n\t}\n\n\tprivate async validateAndSanitizeBody(body: any): Promise {\n\t\tif (this.isGenericObject(body)) {\n\t\t\t// Any javascript object\n\t\t\treturn JSON.stringify(body);\n\t\t} else {\n\t\t\t// Files, arrayBuffer etc\n\t\t\treturn body;\n\t\t}\n\t\t/* TODO: streams and files for nodejs \n\t\tif (\n\t\t\ttypeof body.path === 'string' &&\n\t\t\trequire('fs').lstatSync(body.path).size > 0\n\t\t) {\n\t\t\treturn body;\n\t\t} */\n\t}\n\n\tprivate isGenericObject(body: any): body is Object {\n\t\tif (body !== null && typeof body === 'object') {\n\t\t\ttry {\n\t\t\t\treturn !(this.byteLength(body) >= 0);\n\t\t\t} catch (error) {\n\t\t\t\t// If we cannot determine the length of the body, consider it\n\t\t\t\t// as a generic object and upload a stringified version of it\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _createNewS3Client(config, emitter?: events.EventEmitter) {\n\t\tconst s3client = createS3Client(config, emitter);\n\t\ts3client.middlewareStack.add(\n\t\t\tcreatePrefixMiddleware(this.opts, this.params.Key),\n\t\t\tprefixMiddlewareOptions\n\t\t);\n\t\ts3client.middlewareStack.add(\n\t\t\tautoAdjustClockskewMiddleware(s3client.config),\n\t\t\tautoAdjustClockskewMiddlewareOptions\n\t\t);\n\t\treturn s3client;\n\t}\n}\n","import {\n\tUploadPartCommandInput,\n\tCompletedPart,\n\tS3Client,\n\tUploadPartCommand,\n\tCompleteMultipartUploadCommand,\n\tPart,\n\tAbortMultipartUploadCommand,\n\tListPartsCommand,\n\tCreateMultipartUploadCommand,\n\tPutObjectCommandInput,\n\tListObjectsV2Command,\n} from '@aws-sdk/client-s3';\nimport * as events from 'events';\nimport axios, { Canceler, CancelTokenSource } from 'axios';\nimport { HttpHandlerOptions } from '@aws-sdk/types';\nimport { Logger } from '@aws-amplify/core';\nimport { UploadTask } from '../types/Provider';\nimport { byteLength, isFile } from '../common/StorageUtils';\nimport { AWSS3ProviderUploadErrorStrings } from '../common/StorageErrorStrings';\nimport {\n\tSET_CONTENT_LENGTH_HEADER,\n\tUPLOADS_STORAGE_KEY,\n} from '../common/StorageConstants';\nimport { StorageAccessLevel } from '..';\n\nconst logger = new Logger('AWSS3UploadTask');\nexport enum AWSS3UploadTaskState {\n\tINIT,\n\tIN_PROGRESS,\n\tPAUSED,\n\tCANCELLED,\n\tCOMPLETED,\n}\n\nexport enum TaskEvents {\n\tCANCEL = 'cancel',\n\tUPLOAD_COMPLETE = 'uploadComplete',\n\tUPLOAD_PROGRESS = 'uploadPartProgress',\n\tERROR = 'error',\n}\n\nexport interface AWSS3UploadTaskParams {\n\ts3Client: S3Client;\n\tfile: Blob;\n\tstorage: Storage;\n\tlevel: StorageAccessLevel;\n\tparams: PutObjectCommandInput;\n\tprefixPromise: Promise;\n\temitter?: events.EventEmitter;\n}\n\nexport interface InProgressRequest {\n\tuploadPartInput: UploadPartCommandInput;\n\ts3Request: Promise;\n\tcancel: Canceler;\n}\n\nexport interface UploadTaskCompleteEvent {\n\tkey: string;\n}\n\nexport interface UploadTaskProgressEvent {\n\t/**\n\t * bytes that has been sent to S3 so far\n\t */\n\tloaded: number;\n\t/**\n\t * total bytes that needs to be sent to S3\n\t */\n\ttotal: number;\n}\n\nexport interface FileMetadata {\n\tbucket: string;\n\tfileName: string;\n\tkey: string;\n\t// Unix timestamp in ms\n\tlastTouched: number;\n\tuploadId: string;\n}\n\n// maximum number of parts per upload request according the S3 spec,\n// see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html\nconst MAX_PARTS = 10000;\n// 5MB in bytes\nconst PART_SIZE = 5 * 1024 * 1024;\nconst DEFAULT_QUEUE_SIZE = 4;\n\nfunction comparePartNumber(a: CompletedPart, b: CompletedPart) {\n\treturn a.PartNumber - b.PartNumber;\n}\n\nexport class AWSS3UploadTask implements UploadTask {\n\tprivate readonly emitter: events.EventEmitter;\n\tprivate readonly file: Blob;\n\tprivate readonly partSize: number = PART_SIZE;\n\tprivate readonly queueSize = DEFAULT_QUEUE_SIZE;\n\tprivate readonly s3client: S3Client;\n\tprivate readonly storage: Storage;\n\tprivate readonly storageSync: Promise;\n\tprivate readonly fileId: string;\n\tprivate readonly params: PutObjectCommandInput;\n\tprivate readonly prefixPromise: Promise;\n\tprivate inProgress: InProgressRequest[] = [];\n\tprivate completedParts: CompletedPart[] = [];\n\tprivate queued: UploadPartCommandInput[] = [];\n\tprivate bytesUploaded: number = 0;\n\tprivate totalBytes: number = 0;\n\tprivate uploadId: string;\n\n\tpublic state: AWSS3UploadTaskState = AWSS3UploadTaskState.INIT;\n\n\tconstructor({\n\t\ts3Client,\n\t\tfile,\n\t\temitter,\n\t\tstorage,\n\t\tparams,\n\t\tlevel,\n\t\tprefixPromise,\n\t}: AWSS3UploadTaskParams) {\n\t\tthis.prefixPromise = prefixPromise;\n\t\tthis.s3client = s3Client;\n\t\tthis.s3client.middlewareStack.remove(SET_CONTENT_LENGTH_HEADER);\n\t\tthis.storage = storage;\n\t\tthis.storageSync = Promise.resolve();\n\t\tif (typeof this.storage['sync'] === 'function') {\n\t\t\tthis.storageSync = this.storage['sync']();\n\t\t}\n\t\tthis.params = params;\n\t\tthis.file = file;\n\t\tthis.totalBytes = this.file.size;\n\t\tthis.bytesUploaded = 0;\n\t\tthis.emitter = emitter;\n\t\tthis.queued = [];\n\t\tthis.fileId = this._getFileId(level);\n\t\tthis._validateParams();\n\t\t// event emitter will re-throw an error if an event emits an error unless there's a listener, attaching a no-op\n\t\t// function to it unless user adds their own onError callback\n\t\tthis.emitter.on(TaskEvents.ERROR, () => {});\n\t}\n\n\tget percent() {\n\t\treturn (this.bytesUploaded / this.totalBytes) * 100;\n\t}\n\n\tget isInProgress() {\n\t\treturn this.state === AWSS3UploadTaskState.IN_PROGRESS;\n\t}\n\n\tprivate async _listSingleFile({\n\t\tkey,\n\t\tbucket,\n\t}: {\n\t\tkey: string;\n\t\tbucket: string;\n\t}) {\n\t\tconst listObjectRes = await this.s3client.send(\n\t\t\tnew ListObjectsV2Command({\n\t\t\t\tBucket: bucket,\n\t\t\t\tPrefix: key,\n\t\t\t})\n\t\t);\n\t\tconst { Contents = [] } = listObjectRes;\n\t\tconst prefix = await this.prefixPromise;\n\t\tconst obj = Contents.find(o => o.Key === `${prefix}${key}`);\n\t\treturn obj;\n\t}\n\n\tprivate _getFileId(level: StorageAccessLevel): string {\n\t\t// We should check if it's a File first because File is also instance of a Blob\n\t\tif (isFile(this.file)) {\n\t\t\treturn [\n\t\t\t\tthis.file.name,\n\t\t\t\tthis.file.lastModified,\n\t\t\t\tthis.file.size,\n\t\t\t\tthis.file.type,\n\t\t\t\tthis.params.Bucket,\n\t\t\t\tlevel,\n\t\t\t\tthis.params.Key,\n\t\t\t].join('-');\n\t\t} else {\n\t\t\treturn [\n\t\t\t\tthis.file.size,\n\t\t\t\tthis.file.type,\n\t\t\t\tthis.params.Bucket,\n\t\t\t\tlevel,\n\t\t\t\tthis.params.Key,\n\t\t\t].join('-');\n\t\t}\n\t}\n\n\tprivate async _findCachedUploadParts(): Promise<{\n\t\tparts: Part[];\n\t\tuploadId: string;\n\t}> {\n\t\tconst uploadRequests = await this._listCachedUploadTasks();\n\n\t\tif (\n\t\t\tObject.keys(uploadRequests).length === 0 ||\n\t\t\t!Object.prototype.hasOwnProperty.call(uploadRequests, this.fileId)\n\t\t) {\n\t\t\treturn { parts: [], uploadId: null };\n\t\t}\n\n\t\tconst cachedUploadFileData = uploadRequests[this.fileId];\n\t\tcachedUploadFileData.lastTouched = Date.now();\n\t\tthis.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n\n\t\tconst listPartsOutput = await this.s3client.send(\n\t\t\tnew ListPartsCommand({\n\t\t\t\tBucket: this.params.Bucket,\n\t\t\t\tKey: this.params.Key,\n\t\t\t\tUploadId: cachedUploadFileData.uploadId,\n\t\t\t})\n\t\t);\n\n\t\treturn {\n\t\t\tparts: listPartsOutput.Parts || [],\n\t\t\tuploadId: cachedUploadFileData.uploadId,\n\t\t};\n\t}\n\n\tprivate _emitEvent(event: string, payload: T) {\n\t\tthis.emitter.emit(event, payload);\n\t}\n\n\tprivate _validateParams() {\n\t\tif (this.file.size / this.partSize > MAX_PARTS) {\n\t\t\tthrow new Error(\n\t\t\t\t`Too many parts. Number of parts is ${this.file.size /\n\t\t\t\t\tthis.partSize}, maximum is ${MAX_PARTS}.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate async _listCachedUploadTasks(): Promise<\n\t\tRecord\n\t> {\n\t\tawait this.storageSync;\n\t\tconst tasks = this.storage.getItem(UPLOADS_STORAGE_KEY) || '{}';\n\t\treturn JSON.parse(tasks);\n\t}\n\n\tprivate async _cache(fileMetadata: FileMetadata): Promise {\n\t\tconst uploadRequests = await this._listCachedUploadTasks();\n\t\tuploadRequests[this.fileId] = fileMetadata;\n\t\tthis.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n\t}\n\n\tprivate async _isCached(): Promise {\n\t\treturn Object.prototype.hasOwnProperty.call(\n\t\t\tawait this._listCachedUploadTasks(),\n\t\t\tthis.fileId\n\t\t);\n\t}\n\n\tprivate async _removeFromCache(): Promise {\n\t\tconst uploadRequests = await this._listCachedUploadTasks();\n\t\tdelete uploadRequests[this.fileId];\n\t\tthis.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n\t}\n\n\tprivate async _onPartUploadCompletion({\n\t\teTag,\n\t\tpartNumber,\n\t\tchunk,\n\t}: {\n\t\teTag: string;\n\t\tpartNumber: number;\n\t\tchunk: UploadPartCommandInput['Body'];\n\t}) {\n\t\tthis.completedParts.push({\n\t\t\tETag: eTag,\n\t\t\tPartNumber: partNumber,\n\t\t});\n\t\tthis.bytesUploaded += byteLength(chunk);\n\t\tthis._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n\t\t\tloaded: this.bytesUploaded,\n\t\t\ttotal: this.totalBytes,\n\t\t});\n\t\t// Remove the completed item from the inProgress array\n\t\tthis.inProgress = this.inProgress.filter(\n\t\t\tjob => job.uploadPartInput.PartNumber !== partNumber\n\t\t);\n\t\tif (this.queued.length && this.state !== AWSS3UploadTaskState.PAUSED)\n\t\t\tthis._startNextPart();\n\t\tif (this._isDone()) this._completeUpload();\n\t}\n\n\tprivate async _completeUpload() {\n\t\ttry {\n\t\t\tawait this.s3client.send(\n\t\t\t\tnew CompleteMultipartUploadCommand({\n\t\t\t\t\tBucket: this.params.Bucket,\n\t\t\t\t\tKey: this.params.Key,\n\t\t\t\t\tUploadId: this.uploadId,\n\t\t\t\t\tMultipartUpload: {\n\t\t\t\t\t\t// Parts are not always completed in order, we need to manually sort them\n\t\t\t\t\t\tParts: this.completedParts.sort(comparePartNumber),\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t);\n\t\t\tthis._verifyFileSize();\n\t\t\tthis._emitEvent(TaskEvents.UPLOAD_COMPLETE, {\n\t\t\t\tkey: `${this.params.Bucket}/${this.params.Key}`,\n\t\t\t});\n\t\t\tthis._removeFromCache();\n\t\t\tthis.state = AWSS3UploadTaskState.COMPLETED;\n\t\t} catch (err) {\n\t\t\tlogger.error('error completing upload', err);\n\t\t\tthis._emitEvent(TaskEvents.ERROR, err);\n\t\t}\n\t}\n\n\tprivate async _makeUploadPartRequest(\n\t\tinput: UploadPartCommandInput,\n\t\tcancelTokenSource: CancelTokenSource\n\t) {\n\t\ttry {\n\t\t\tconst res = await this.s3client.send(new UploadPartCommand(input), {\n\t\t\t\tcancelTokenSource,\n\t\t\t} as HttpHandlerOptions);\n\t\t\tawait this._onPartUploadCompletion({\n\t\t\t\teTag: res.ETag,\n\t\t\t\tpartNumber: input.PartNumber,\n\t\t\t\tchunk: input.Body,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (this.state === AWSS3UploadTaskState.PAUSED) {\n\t\t\t\tlogger.log('upload paused');\n\t\t\t} else if (this.state === AWSS3UploadTaskState.CANCELLED) {\n\t\t\t\tlogger.log('upload aborted');\n\t\t\t} else {\n\t\t\t\tlogger.error('error starting next part of upload: ', err);\n\t\t\t}\n\t\t\t// axios' cancel will also throw an error, however we don't need to emit an event in that case as it's an\n\t\t\t// expected behavior\n\t\t\tif (\n\t\t\t\t!axios.isCancel(err) &&\n\t\t\t\terr.message !== AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE\n\t\t\t) {\n\t\t\t\tthis._emitEvent(TaskEvents.ERROR, err);\n\t\t\t\tthis.pause();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _startNextPart() {\n\t\tif (this.queued.length > 0 && this.state !== AWSS3UploadTaskState.PAUSED) {\n\t\t\tconst cancelTokenSource = axios.CancelToken.source();\n\t\t\tconst nextPart = this.queued.shift();\n\t\t\tthis.inProgress.push({\n\t\t\t\tuploadPartInput: nextPart,\n\t\t\t\ts3Request: this._makeUploadPartRequest(nextPart, cancelTokenSource),\n\t\t\t\tcancel: cancelTokenSource.cancel,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Verify on S3 side that the file size matches the one on the client side.\n\t *\n\t * @async\n\t * @throws throws an error if the file size does not match between local copy of the file and the file on s3.\n\t */\n\tprivate async _verifyFileSize() {\n\t\tconst obj = await this._listSingleFile({\n\t\t\tkey: this.params.Key,\n\t\t\tbucket: this.params.Bucket,\n\t\t});\n\t\tconst valid = Boolean(obj && obj.Size === this.file.size);\n\t\tif (!valid) {\n\t\t\tthrow new Error(\n\t\t\t\t'File size does not match between local file and file on s3'\n\t\t\t);\n\t\t}\n\t\treturn valid;\n\t}\n\n\tprivate _isDone() {\n\t\treturn (\n\t\t\t!this.queued.length &&\n\t\t\t!this.inProgress.length &&\n\t\t\tthis.bytesUploaded === this.totalBytes\n\t\t);\n\t}\n\n\tprivate _createParts() {\n\t\tconst size = this.file.size;\n\t\tconst parts: UploadPartCommandInput[] = [];\n\t\tfor (let bodyStart = 0; bodyStart < size; ) {\n\t\t\tconst bodyEnd = Math.min(bodyStart + this.partSize, size);\n\t\t\tparts.push({\n\t\t\t\tBody: this.file.slice(bodyStart, bodyEnd),\n\t\t\t\tKey: this.params.Key,\n\t\t\t\tBucket: this.params.Bucket,\n\t\t\t\tPartNumber: parts.length + 1,\n\t\t\t\tUploadId: this.uploadId,\n\t\t\t});\n\t\t\tbodyStart += this.partSize;\n\t\t}\n\t\treturn parts;\n\t}\n\n\tprivate _initCachedUploadParts(cachedParts: Part[]) {\n\t\tthis.bytesUploaded += cachedParts.reduce((acc, part) => acc + part.Size, 0);\n\t\t// Find the set of part numbers that have already been uploaded\n\t\tconst uploadedPartNumSet = new Set(\n\t\t\tcachedParts.map(part => part.PartNumber)\n\t\t);\n\t\tthis.queued = this.queued.filter(\n\t\t\tpart => !uploadedPartNumSet.has(part.PartNumber)\n\t\t);\n\t\tthis.completedParts = cachedParts.map(part => ({\n\t\t\tPartNumber: part.PartNumber,\n\t\t\tETag: part.ETag,\n\t\t}));\n\t\tthis._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n\t\t\tloaded: this.bytesUploaded,\n\t\t\ttotal: this.totalBytes,\n\t\t});\n\t}\n\n\tprivate async _initMultipartUpload() {\n\t\tconst res = await this.s3client.send(\n\t\t\tnew CreateMultipartUploadCommand(this.params)\n\t\t);\n\t\tthis._cache({\n\t\t\tuploadId: res.UploadId,\n\t\t\tlastTouched: Date.now(),\n\t\t\tbucket: this.params.Bucket,\n\t\t\tkey: this.params.Key,\n\t\t\tfileName: this.file instanceof File ? this.file.name : '',\n\t\t});\n\t\treturn res.UploadId;\n\t}\n\n\tprivate async _initializeUploadTask() {\n\t\tthis.state = AWSS3UploadTaskState.IN_PROGRESS;\n\t\ttry {\n\t\t\tif (await this._isCached()) {\n\t\t\t\tconst { parts, uploadId } = await this._findCachedUploadParts();\n\t\t\t\tthis.uploadId = uploadId;\n\t\t\t\tthis.queued = this._createParts();\n\t\t\t\tthis._initCachedUploadParts(parts);\n\t\t\t\tthis._startUpload();\n\t\t\t} else {\n\t\t\t\tif (!this.uploadId) {\n\t\t\t\t\tconst uploadId = await this._initMultipartUpload();\n\t\t\t\t\tthis.uploadId = uploadId;\n\t\t\t\t\tthis.queued = this._createParts();\n\t\t\t\t\tthis._startUpload();\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (!axios.isCancel(err)) {\n\t\t\t\tlogger.error('Error initializing the upload task', err);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic resume(): void {\n\t\tif (this.state === AWSS3UploadTaskState.CANCELLED) {\n\t\t\tlogger.warn('This task has already been cancelled');\n\t\t} else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n\t\t\tlogger.warn('This task has already been completed');\n\t\t} else if (this.state === AWSS3UploadTaskState.IN_PROGRESS) {\n\t\t\tlogger.warn('Upload task already in progress');\n\t\t\t// first time running resume, find any cached parts on s3 or start a new multipart upload request before\n\t\t\t// starting the upload\n\t\t} else if (!this.uploadId) {\n\t\t\tthis._initializeUploadTask();\n\t\t} else {\n\t\t\tthis._startUpload();\n\t\t}\n\t}\n\n\tprivate _startUpload() {\n\t\tthis.state = AWSS3UploadTaskState.IN_PROGRESS;\n\t\tfor (let i = 0; i < this.queueSize; i++) {\n\t\t\tthis._startNextPart();\n\t\t}\n\t}\n\n\tasync _cancel(): Promise {\n\t\tif (this.state === AWSS3UploadTaskState.CANCELLED) {\n\t\t\tlogger.warn('This task has already been cancelled');\n\t\t\treturn false;\n\t\t} else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n\t\t\tlogger.warn('This task has already been completed');\n\t\t\treturn false;\n\t\t} else {\n\t\t\tthis.pause();\n\t\t\tthis.queued = [];\n\t\t\tthis.completedParts = [];\n\t\t\tthis.bytesUploaded = 0;\n\t\t\tthis.state = AWSS3UploadTaskState.CANCELLED;\n\t\t\ttry {\n\t\t\t\tawait this.s3client.send(\n\t\t\t\t\tnew AbortMultipartUploadCommand({\n\t\t\t\t\t\tBucket: this.params.Bucket,\n\t\t\t\t\t\tKey: this.params.Key,\n\t\t\t\t\t\tUploadId: this.uploadId,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tawait this._removeFromCache();\n\t\t\t\treturn true;\n\t\t\t} catch (err) {\n\t\t\t\tlogger.error('Error cancelling upload task', err);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * pause this particular upload task\n\t **/\n\tpublic pause(): void {\n\t\tif (this.state === AWSS3UploadTaskState.CANCELLED) {\n\t\t\tlogger.warn('This task has already been cancelled');\n\t\t} else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n\t\t\tlogger.warn('This task has already been completed');\n\t\t} else if (this.state === AWSS3UploadTaskState.PAUSED) {\n\t\t\tlogger.warn('This task is already paused');\n\t\t}\n\t\tthis.state = AWSS3UploadTaskState.PAUSED;\n\t\t// Use axios cancel token to abort the part request immediately\n\t\t// Add the inProgress parts back to pending\n\t\tconst removedInProgressReq = this.inProgress.splice(\n\t\t\t0,\n\t\t\tthis.inProgress.length\n\t\t);\n\t\tremovedInProgressReq.forEach(req => {\n\t\t\treq.cancel(AWSS3ProviderUploadErrorStrings.UPLOAD_PAUSED_MESSAGE);\n\t\t});\n\t\t// Put all removed in progress parts back into the queue\n\t\tthis.queued.unshift(\n\t\t\t...removedInProgressReq.map(req => req.uploadPartInput)\n\t\t);\n\t}\n}\n","/*\n * Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nimport {\n\tConsoleLogger as Logger,\n\tCredentials,\n\tParser,\n\tICredentials,\n\tStorageHelper,\n\tHub,\n} from '@aws-amplify/core';\nimport {\n\tS3Client,\n\tGetObjectCommand,\n\tDeleteObjectCommand,\n\tListObjectsV2Command,\n\tGetObjectCommandOutput,\n\tDeleteObjectCommandInput,\n\tCopyObjectCommandInput,\n\tCopyObjectCommand,\n\tPutObjectCommandInput,\n\tGetObjectCommandInput,\n\tListObjectsV2Request,\n} from '@aws-sdk/client-s3';\nimport { formatUrl } from '@aws-sdk/util-format-url';\nimport { createRequest } from '@aws-sdk/util-create-request';\nimport { S3RequestPresigner } from '@aws-sdk/s3-request-presigner';\nimport {\n\tSEND_DOWNLOAD_PROGRESS_EVENT,\n\tSEND_UPLOAD_PROGRESS_EVENT,\n} from './axios-http-handler';\nimport {\n\tStorageOptions,\n\tStorageProvider,\n\tS3ProviderGetConfig,\n\tS3ProviderGetOuput,\n\tS3ProviderPutConfig,\n\tS3ProviderRemoveConfig,\n\tS3ProviderListOutput,\n\tS3ProviderListConfig,\n\tS3ProviderCopyConfig,\n\tS3ProviderCopyOutput,\n\tS3CopySource,\n\tS3CopyDestination,\n\tStorageAccessLevel,\n\tCustomPrefix,\n\tS3ProviderRemoveOutput,\n\tS3ProviderPutOutput,\n\tResumableUploadConfig,\n\tUploadTask,\n\tS3ClientOptions,\n} from '../types';\nimport { StorageErrorStrings } from '../common/StorageErrorStrings';\nimport { dispatchStorageEvent } from '../common/StorageUtils';\nimport {\n\tcreatePrefixMiddleware,\n\tprefixMiddlewareOptions,\n\tgetPrefix,\n\tautoAdjustClockskewMiddleware,\n\tautoAdjustClockskewMiddlewareOptions,\n\tcreateS3Client,\n} from '../common/S3ClientUtils';\nimport { S3ProviderListOutputWithToken } from '.././types/AWSS3Provider';\nimport { AWSS3ProviderManagedUpload } from './AWSS3ProviderManagedUpload';\nimport { AWSS3UploadTask, TaskEvents } from './AWSS3UploadTask';\nimport { UPLOADS_STORAGE_KEY } from '../common/StorageConstants';\nimport * as events from 'events';\nimport { CancelTokenSource } from 'axios';\n\nconst logger = new Logger('AWSS3Provider');\n\nconst DEFAULT_STORAGE_LEVEL = 'public';\nconst DEFAULT_PRESIGN_EXPIRATION = 900;\n\ninterface AddTaskInput {\n\taccessLevel: StorageAccessLevel;\n\tfile: Blob;\n\tbucket: string;\n\temitter: events.EventEmitter;\n\tkey: string;\n\ts3Client: S3Client;\n\tparams?: PutObjectCommandInput;\n}\n\n/**\n * Provide storage methods to use AWS S3\n */\nexport class AWSS3Provider implements StorageProvider {\n\tstatic readonly CATEGORY = 'Storage';\n\tstatic readonly PROVIDER_NAME = 'AWSS3';\n\tprivate _config: StorageOptions;\n\tprivate _storage: Storage;\n\n\t/**\n\t * Initialize Storage with AWS configurations\n\t * @param {Object} config - Configuration object for storage\n\t */\n\tconstructor(config?: StorageOptions) {\n\t\tthis._config = config ? config : {};\n\t\tthis._storage = new StorageHelper().getStorage();\n\t\tHub.listen('auth', data => {\n\t\t\tconst { payload } = data;\n\t\t\tif (payload.event === 'signOut' || payload.event === 'signIn') {\n\t\t\t\tthis._storage.removeItem(UPLOADS_STORAGE_KEY);\n\t\t\t}\n\t\t});\n\t\tlogger.debug('Storage Options', this._config);\n\t}\n\n\t/**\n\t * get the category of the plugin\n\t */\n\tpublic getCategory(): string {\n\t\treturn AWSS3Provider.CATEGORY;\n\t}\n\n\t/**\n\t * get provider name of the plugin\n\t */\n\tgetProviderName(): 'AWSS3' {\n\t\treturn AWSS3Provider.PROVIDER_NAME;\n\t}\n\n\t/**\n\t * Configure Storage part with aws configuration\n\t * @param {Object} config - Configuration of the Storage\n\t * @return {Object} - Current configuration\n\t */\n\tpublic configure(config?): object {\n\t\tlogger.debug('configure Storage', config);\n\t\tif (!config) return this._config;\n\t\tconst amplifyConfig = Parser.parseMobilehubConfig(config);\n\t\tthis._config = Object.assign({}, this._config, amplifyConfig.Storage);\n\t\tif (!this._config.bucket) {\n\t\t\tlogger.debug('Do not have bucket yet');\n\t\t}\n\t\treturn this._config;\n\t}\n\n\tprivate startResumableUpload(\n\t\taddTaskInput: AddTaskInput,\n\t\tconfig: S3ProviderPutConfig & ResumableUploadConfig\n\t): UploadTask {\n\t\tconst { s3Client, emitter, key, file, params } = addTaskInput;\n\t\tconst {\n\t\t\tprogressCallback,\n\t\t\tcompleteCallback,\n\t\t\terrorCallback,\n\t\t\ttrack = false,\n\t\t} = config;\n\t\tif (!(file instanceof Blob)) {\n\t\t\tthrow new Error(StorageErrorStrings.INVALID_BLOB);\n\t\t}\n\n\t\temitter.on(TaskEvents.UPLOAD_PROGRESS, event => {\n\t\t\tif (progressCallback) {\n\t\t\t\tif (typeof progressCallback === 'function') {\n\t\t\t\t\tprogressCallback(event);\n\t\t\t\t} else {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t'progressCallback should be a function, not a ' +\n\t\t\t\t\t\t\ttypeof progressCallback\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\temitter.on(TaskEvents.UPLOAD_COMPLETE, event => {\n\t\t\tif (completeCallback) {\n\t\t\t\tif (typeof completeCallback === 'function') {\n\t\t\t\t\tcompleteCallback(event);\n\t\t\t\t} else {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t'completeCallback should be a function, not a ' +\n\t\t\t\t\t\t\ttypeof completeCallback\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\temitter.on(TaskEvents.ERROR, err => {\n\t\t\tif (errorCallback) {\n\t\t\t\tif (typeof errorCallback === 'function') {\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t} else {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t'errorCallback should be a function, not a ' + typeof errorCallback\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// we want to keep this function sync so we defer this promise to AWSS3UploadTask to resolve when it's needed\n\t\t// when its doing a final check with _listSingleFile function\n\t\tconst prefixPromise: Promise = Credentials.get().then(\n\t\t\t(credentials: any) => {\n\t\t\t\tconst cred = Credentials.shear(credentials);\n\t\t\t\treturn getPrefix({\n\t\t\t\t\t...config,\n\t\t\t\t\tcredentials: cred,\n\t\t\t\t});\n\t\t\t}\n\t\t);\n\n\t\tconst task = new AWSS3UploadTask({\n\t\t\ts3Client,\n\t\t\tfile,\n\t\t\temitter,\n\t\t\tlevel: config.level,\n\t\t\tstorage: this._storage,\n\t\t\tparams,\n\t\t\tprefixPromise,\n\t\t});\n\n\t\tdispatchStorageEvent(\n\t\t\ttrack,\n\t\t\t'upload',\n\t\t\t{ method: 'put', result: 'success' },\n\t\t\tnull,\n\t\t\t`Upload Task created successfully for ${key}`\n\t\t);\n\n\t\t// automatically start the upload task\n\t\ttask.resume();\n\n\t\treturn task;\n\t}\n\n\t/**\n\t * Copy an object from a source object to a new object within the same bucket. Can optionally copy files across\n\t * different level or identityId (if source object's level is 'protected').\n\t *\n\t * @async\n\t * @param {S3CopySource} src - Key and optionally access level and identityId of the source object.\n\t * @param {S3CopyDestination} dest - Key and optionally access level of the destination object.\n\t * @param {S3ProviderCopyConfig} [config] - Optional configuration for s3 commands.\n\t * @return {Promise} The key of the copied object.\n\t */\n\tpublic async copy(\n\t\tsrc: S3CopySource,\n\t\tdest: S3CopyDestination,\n\t\tconfig?: S3ProviderCopyConfig\n\t): Promise {\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK || !this._isWithCredentials(this._config)) {\n\t\t\tthrow new Error(StorageErrorStrings.NO_CREDENTIALS);\n\t\t}\n\t\tconst opt = Object.assign({}, this._config, config);\n\t\tconst {\n\t\t\tacl,\n\t\t\tbucket,\n\t\t\tcacheControl,\n\t\t\texpires,\n\t\t\ttrack,\n\t\t\tserverSideEncryption,\n\t\t\tSSECustomerAlgorithm,\n\t\t\tSSECustomerKey,\n\t\t\tSSECustomerKeyMD5,\n\t\t\tSSEKMSKeyId,\n\t\t} = opt;\n\t\tconst {\n\t\t\tlevel: srcLevel = DEFAULT_STORAGE_LEVEL,\n\t\t\tidentityId: srcIdentityId,\n\t\t\tkey: srcKey,\n\t\t} = src;\n\t\tconst { level: destLevel = DEFAULT_STORAGE_LEVEL, key: destKey } = dest;\n\t\tif (!srcKey || typeof srcKey !== 'string') {\n\t\t\tthrow new Error(StorageErrorStrings.NO_SRC_KEY);\n\t\t}\n\t\tif (!destKey || typeof destKey !== 'string') {\n\t\t\tthrow new Error(StorageErrorStrings.NO_DEST_KEY);\n\t\t}\n\t\tif (srcLevel !== 'protected' && srcIdentityId) {\n\t\t\tlogger.warn(\n\t\t\t\t`You may copy files from another user if the source level is \"protected\", currently it's ${srcLevel}`\n\t\t\t);\n\t\t}\n\t\tconst srcPrefix = this._prefix({\n\t\t\t...opt,\n\t\t\tlevel: srcLevel,\n\t\t\t...(srcIdentityId && { identityId: srcIdentityId }),\n\t\t});\n\t\tconst destPrefix = this._prefix({ ...opt, level: destLevel });\n\t\tconst finalSrcKey = `${bucket}/${srcPrefix}${srcKey}`;\n\t\tconst finalDestKey = `${destPrefix}${destKey}`;\n\t\tlogger.debug(`copying ${finalSrcKey} to ${finalDestKey}`);\n\n\t\tconst params: CopyObjectCommandInput = {\n\t\t\tBucket: bucket,\n\t\t\tCopySource: finalSrcKey,\n\t\t\tKey: finalDestKey,\n\t\t\t// Copies over metadata like contentType as well\n\t\t\tMetadataDirective: 'COPY',\n\t\t};\n\n\t\tif (cacheControl) params.CacheControl = cacheControl;\n\t\tif (expires) params.Expires = expires;\n\t\tif (serverSideEncryption) {\n\t\t\tparams.ServerSideEncryption = serverSideEncryption;\n\t\t}\n\t\tif (SSECustomerAlgorithm) {\n\t\t\tparams.SSECustomerAlgorithm = SSECustomerAlgorithm;\n\t\t}\n\t\tif (SSECustomerKey) {\n\t\t\tparams.SSECustomerKey = SSECustomerKey;\n\t\t}\n\t\tif (SSECustomerKeyMD5) {\n\t\t\tparams.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n\t\t}\n\t\tif (SSEKMSKeyId) {\n\t\t\tparams.SSEKMSKeyId = SSEKMSKeyId;\n\t\t}\n\t\tif (acl) params.ACL = acl;\n\n\t\tconst s3 = this._createNewS3Client(opt);\n\t\ttry {\n\t\t\tawait s3.send(new CopyObjectCommand(params));\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'copy',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'copy',\n\t\t\t\t\tresult: 'success',\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t`Copy success from ${srcKey} to ${destKey}`\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tkey: destKey,\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'copy',\n\t\t\t\t{\n\t\t\t\t\tmethod: 'copy',\n\t\t\t\t\tresult: 'failed',\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t`Copy failed from ${srcKey} to ${destKey}`\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Get a presigned URL of the file or the object data when download:true\n\t *\n\t * @param {string} key - key of the object\n\t * @param {S3ProviderGetConfig} [config] - Optional configuration for the underlying S3 command\n\t * @return {Promise} - A promise resolves to Amazon S3 presigned URL or the\n\t * GetObjectCommandOutput if download is set to true on success\n\t */\n\tpublic async get(\n\t\tkey: string,\n\t\tconfig?: T\n\t): Promise>;\n\tpublic async get(\n\t\tkey: string,\n\t\tconfig?: S3ProviderGetConfig\n\t): Promise {\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK || !this._isWithCredentials(this._config)) {\n\t\t\tthrow new Error(StorageErrorStrings.NO_CREDENTIALS);\n\t\t}\n\t\tconst opt = Object.assign({}, this._config, config);\n\t\tconst {\n\t\t\tbucket,\n\t\t\tdownload,\n\t\t\tcacheControl,\n\t\t\tcontentDisposition,\n\t\t\tcontentEncoding,\n\t\t\tcontentLanguage,\n\t\t\tcontentType,\n\t\t\texpires,\n\t\t\ttrack,\n\t\t\tSSECustomerAlgorithm,\n\t\t\tSSECustomerKey,\n\t\t\tSSECustomerKeyMD5,\n\t\t\tprogressCallback,\n\t\t} = opt;\n\t\tconst prefix = this._prefix(opt);\n\t\tconst final_key = prefix + key;\n\t\tconst emitter = new events.EventEmitter();\n\t\tconst s3 = this._createNewS3Client(opt, emitter);\n\t\tlogger.debug('get ' + key + ' from ' + final_key);\n\n\t\tconst params: GetObjectCommandInput = {\n\t\t\tBucket: bucket,\n\t\t\tKey: final_key,\n\t\t};\n\n\t\t// See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property\n\t\tif (cacheControl) params.ResponseCacheControl = cacheControl;\n\t\tif (contentDisposition)\n\t\t\tparams.ResponseContentDisposition = contentDisposition;\n\t\tif (contentEncoding) params.ResponseContentEncoding = contentEncoding;\n\t\tif (contentLanguage) params.ResponseContentLanguage = contentLanguage;\n\t\tif (contentType) params.ResponseContentType = contentType;\n\t\tif (SSECustomerAlgorithm) {\n\t\t\tparams.SSECustomerAlgorithm = SSECustomerAlgorithm;\n\t\t}\n\t\tif (SSECustomerKey) {\n\t\t\tparams.SSECustomerKey = SSECustomerKey;\n\t\t}\n\t\tif (SSECustomerKeyMD5) {\n\t\t\tparams.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n\t\t}\n\n\t\tif (download === true) {\n\t\t\tconst getObjectCommand = new GetObjectCommand(params);\n\t\t\ttry {\n\t\t\t\tif (progressCallback) {\n\t\t\t\t\tif (typeof progressCallback === 'function') {\n\t\t\t\t\t\temitter.on(SEND_DOWNLOAD_PROGRESS_EVENT, progress => {\n\t\t\t\t\t\t\tprogressCallback(progress);\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t\t'progressCallback should be a function, not a ' +\n\t\t\t\t\t\t\t\ttypeof progressCallback\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst response = await s3.send(getObjectCommand);\n\t\t\t\temitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n\t\t\t\tdispatchStorageEvent(\n\t\t\t\t\ttrack,\n\t\t\t\t\t'download',\n\t\t\t\t\t{ method: 'get', result: 'success' },\n\t\t\t\t\t{\n\t\t\t\t\t\tfileSize: Number(response.Body['size'] || response.Body['length']),\n\t\t\t\t\t},\n\t\t\t\t\t`Download success for ${key}`\n\t\t\t\t);\n\t\t\t\treturn response;\n\t\t\t} catch (error) {\n\t\t\t\tdispatchStorageEvent(\n\t\t\t\t\ttrack,\n\t\t\t\t\t'download',\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod: 'get',\n\t\t\t\t\t\tresult: 'failed',\n\t\t\t\t\t},\n\t\t\t\t\tnull,\n\t\t\t\t\t`Download failed with ${error.message}`\n\t\t\t\t);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst signer = new S3RequestPresigner({ ...s3.config });\n\t\t\tconst request = await createRequest(s3, new GetObjectCommand(params));\n\t\t\t// Default is 15 mins as defined in V2 AWS SDK\n\t\t\tconst url = formatUrl(\n\t\t\t\tawait signer.presign(request, {\n\t\t\t\t\texpiresIn: expires || DEFAULT_PRESIGN_EXPIRATION,\n\t\t\t\t})\n\t\t\t);\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'getSignedUrl',\n\t\t\t\t{ method: 'get', result: 'success' },\n\t\t\t\tnull,\n\t\t\t\t`Signed URL: ${url}`\n\t\t\t);\n\t\t\treturn url;\n\t\t} catch (error) {\n\t\t\tlogger.warn('get signed url error', error);\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'getSignedUrl',\n\t\t\t\t{ method: 'get', result: 'failed' },\n\t\t\t\tnull,\n\t\t\t\t`Could not get a signed URL for ${key}`\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Put a file in S3 bucket specified to configure method\n\t * @param key - key of the object\n\t * @param object - File to be put in Amazon S3 bucket\n\t * @param [config] - Optional configuration for the underlying S3 command\n\t * @return an instance of AWSS3UploadTask or a promise that resolves to an object with the new object's key on\n\t * success.\n\t */\n\tpublic put(\n\t\tkey: string,\n\t\tobject: PutObjectCommandInput['Body'],\n\t\tconfig?: T\n\t): S3ProviderPutOutput {\n\t\tconst opt = Object.assign({}, this._config, config);\n\t\tconst { bucket, track, progressCallback, level, resumable } = opt;\n\t\tconst {\n\t\t\tcontentType,\n\t\t\tcontentDisposition,\n\t\t\tcontentEncoding,\n\t\t\tcacheControl,\n\t\t\texpires,\n\t\t\tmetadata,\n\t\t\ttagging,\n\t\t\tacl,\n\t\t} = opt;\n\t\tconst {\n\t\t\tserverSideEncryption,\n\t\t\tSSECustomerAlgorithm,\n\t\t\tSSECustomerKey,\n\t\t\tSSECustomerKeyMD5,\n\t\t\tSSEKMSKeyId,\n\t\t} = opt;\n\t\tconst type = contentType ? contentType : 'binary/octet-stream';\n\n\t\tconst params: PutObjectCommandInput = {\n\t\t\tBucket: bucket,\n\t\t\tKey: key,\n\t\t\tBody: object,\n\t\t\tContentType: type,\n\t\t};\n\t\tif (cacheControl) {\n\t\t\tparams.CacheControl = cacheControl;\n\t\t}\n\t\tif (contentDisposition) {\n\t\t\tparams.ContentDisposition = contentDisposition;\n\t\t}\n\t\tif (contentEncoding) {\n\t\t\tparams.ContentEncoding = contentEncoding;\n\t\t}\n\t\tif (expires) {\n\t\t\tparams.Expires = expires;\n\t\t}\n\t\tif (metadata) {\n\t\t\tparams.Metadata = metadata;\n\t\t}\n\t\tif (tagging) {\n\t\t\tparams.Tagging = tagging;\n\t\t}\n\t\tif (serverSideEncryption) {\n\t\t\tparams.ServerSideEncryption = serverSideEncryption;\n\t\t}\n\t\tif (SSECustomerAlgorithm) {\n\t\t\tparams.SSECustomerAlgorithm = SSECustomerAlgorithm;\n\t\t}\n\t\tif (SSECustomerKey) {\n\t\t\tparams.SSECustomerKey = SSECustomerKey;\n\t\t}\n\t\tif (SSECustomerKeyMD5) {\n\t\t\tparams.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n\t\t}\n\t\tif (SSEKMSKeyId) {\n\t\t\tparams.SSEKMSKeyId = SSEKMSKeyId;\n\t\t}\n\n\t\tconst emitter = new events.EventEmitter();\n\t\tconst uploader = new AWSS3ProviderManagedUpload(params, opt, emitter);\n\n\t\tif (acl) {\n\t\t\tparams.ACL = acl;\n\t\t}\n\n\t\tif (resumable === true) {\n\t\t\tconst s3Client = this._createNewS3Client(opt);\n\t\t\t// we are using aws sdk middleware to inject the prefix to key, this way we don't have to call\n\t\t\t// this._ensureCredentials() which allows us to make this function sync so we can return non-Promise like UploadTask\n\t\t\ts3Client.middlewareStack.add(\n\t\t\t\tcreatePrefixMiddleware(opt, key),\n\t\t\t\tprefixMiddlewareOptions\n\t\t\t);\n\t\t\tconst addTaskInput: AddTaskInput = {\n\t\t\t\tbucket,\n\t\t\t\tkey,\n\t\t\t\ts3Client,\n\t\t\t\tfile: object as Blob,\n\t\t\t\temitter,\n\t\t\t\taccessLevel: level,\n\t\t\t\tparams,\n\t\t\t};\n\t\t\t// explicitly asserting the type here as Typescript could not infer that resumable is of type true\n\t\t\treturn this.startResumableUpload(\n\t\t\t\taddTaskInput,\n\t\t\t\tconfig as typeof config & { resumable: true }\n\t\t\t) as S3ProviderPutOutput;\n\t\t}\n\n\t\ttry {\n\t\t\tif (progressCallback) {\n\t\t\t\tif (typeof progressCallback === 'function') {\n\t\t\t\t\temitter.on(SEND_UPLOAD_PROGRESS_EVENT, progress => {\n\t\t\t\t\t\tprogressCallback(progress);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t'progressCallback should be a function, not a ' +\n\t\t\t\t\t\t\ttypeof progressCallback\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn uploader.upload().then(response => {\n\t\t\t\tlogger.debug('upload result', response);\n\t\t\t\tdispatchStorageEvent(\n\t\t\t\t\ttrack,\n\t\t\t\t\t'upload',\n\t\t\t\t\t{ method: 'put', result: 'success' },\n\t\t\t\t\tnull,\n\t\t\t\t\t`Upload success for ${key}`\n\t\t\t\t);\n\t\t\t\treturn { key };\n\t\t\t}) as S3ProviderPutOutput;\n\t\t} catch (error) {\n\t\t\tlogger.warn('error uploading', error);\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'upload',\n\t\t\t\t{ method: 'put', result: 'failed' },\n\t\t\t\tnull,\n\t\t\t\t`Error uploading ${key}`\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t/**\n\t * Remove the object for specified key\n\t * @param {string} key - key of the object\n\t * @param {S3ProviderRemoveConfig} [config] - Optional configuration for the underlying S3 command\n\t * @return {Promise} - Promise resolves upon successful removal of the object\n\t */\n\tpublic async remove(\n\t\tkey: string,\n\t\tconfig?: S3ProviderRemoveConfig\n\t): Promise {\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK || !this._isWithCredentials(this._config)) {\n\t\t\tthrow new Error(StorageErrorStrings.NO_CREDENTIALS);\n\t\t}\n\t\tconst opt = Object.assign({}, this._config, config);\n\t\tconst { bucket, track } = opt;\n\n\t\tconst prefix = this._prefix(opt);\n\t\tconst final_key = prefix + key;\n\t\tconst s3 = this._createNewS3Client(opt);\n\t\tlogger.debug('remove ' + key + ' from ' + final_key);\n\n\t\tconst params: DeleteObjectCommandInput = {\n\t\t\tBucket: bucket,\n\t\t\tKey: final_key,\n\t\t};\n\n\t\tconst deleteObjectCommand = new DeleteObjectCommand(params);\n\n\t\ttry {\n\t\t\tconst response = await s3.send(deleteObjectCommand);\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'delete',\n\t\t\t\t{ method: 'remove', result: 'success' },\n\t\t\t\tnull,\n\t\t\t\t`Deleted ${key} successfully`\n\t\t\t);\n\t\t\treturn response;\n\t\t} catch (error) {\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'delete',\n\t\t\t\t{ method: 'remove', result: 'failed' },\n\t\t\t\tnull,\n\t\t\t\t`Deletion of ${key} failed with ${error}`\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\tprivate async _list(\n\t\tparams: ListObjectsV2Request,\n\t\topt: S3ClientOptions,\n\t\tprefix: string\n\t): Promise {\n\t\tconst result: S3ProviderListOutputWithToken = {\n\t\t\tcontents: [],\n\t\t\tnextToken: '',\n\t\t};\n\t\tconst s3 = this._createNewS3Client(opt);\n\t\tconst listObjectsV2Command = new ListObjectsV2Command({ ...params });\n\t\tconst response = await s3.send(listObjectsV2Command);\n\t\tif (response && response.Contents) {\n\t\t\tresult.contents = response.Contents.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\tkey: item.Key.substr(prefix.length),\n\t\t\t\t\teTag: item.ETag,\n\t\t\t\t\tlastModified: item.LastModified,\n\t\t\t\t\tsize: item.Size,\n\t\t\t\t};\n\t\t\t});\n\t\t\tresult.nextToken = response.NextContinuationToken;\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * List bucket objects relative to the level and prefix specified\n\t * @param {string} path - the path that contains objects\n\t * @param {S3ProviderListConfig} [config] - Optional configuration for the underlying S3 command\n\t * @return {Promise} - Promise resolves to list of keys, eTags, lastModified and file size for\n\t * all objects in path\n\t */\n\tpublic async list(\n\t\tpath: string,\n\t\tconfig?: S3ProviderListConfig\n\t): Promise {\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK || !this._isWithCredentials(this._config)) {\n\t\t\tthrow new Error(StorageErrorStrings.NO_CREDENTIALS);\n\t\t}\n\t\tconst opt: S3ClientOptions = Object.assign({}, this._config, config);\n\t\tconst { bucket, track, maxKeys } = opt;\n\t\tconst prefix = this._prefix(opt);\n\t\tconst final_path = prefix + path;\n\t\tlogger.debug('list ' + path + ' from ' + final_path);\n\t\ttry {\n\t\t\tconst list: S3ProviderListOutput = [];\n\t\t\tlet token: string;\n\t\t\tlet listResult: S3ProviderListOutputWithToken;\n\t\t\tconst params: ListObjectsV2Request = {\n\t\t\t\tBucket: bucket,\n\t\t\t\tPrefix: final_path,\n\t\t\t\tMaxKeys: 1000,\n\t\t\t};\n\t\t\tif (maxKeys === 'ALL') {\n\t\t\t\tdo {\n\t\t\t\t\tparams.ContinuationToken = token;\n\t\t\t\t\tparams.MaxKeys = 1000;\n\t\t\t\t\tlistResult = await this._list(params, opt, prefix);\n\t\t\t\t\tlist.push(...listResult.contents);\n\t\t\t\t\tif (listResult.nextToken) token = listResult.nextToken;\n\t\t\t\t} while (listResult.nextToken);\n\t\t\t} else {\n\t\t\t\tmaxKeys < 1000 || typeof maxKeys === 'string'\n\t\t\t\t\t? (params.MaxKeys = maxKeys)\n\t\t\t\t\t: (params.MaxKeys = 1000);\n\t\t\t\tlistResult = await this._list(params, opt, prefix);\n\t\t\t\tlist.push(...listResult.contents);\n\t\t\t\tif (maxKeys > 1000)\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t\"maxkeys can be from 0 - 1000 or 'ALL'. To list all files you can set maxKeys to 'ALL'.\"\n\t\t\t\t\t);\n\t\t\t}\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'list',\n\t\t\t\t{ method: 'list', result: 'success' },\n\t\t\t\tnull,\n\t\t\t\t`${list.length} items returned from list operation`\n\t\t\t);\n\t\t\tlogger.debug('list', list);\n\t\t\treturn list;\n\t\t} catch (error) {\n\t\t\tlogger.warn('list error', error);\n\t\t\tdispatchStorageEvent(\n\t\t\t\ttrack,\n\t\t\t\t'list',\n\t\t\t\t{ method: 'list', result: 'failed' },\n\t\t\t\tnull,\n\t\t\t\t`Listing items failed: ${error.message}`\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async _ensureCredentials(): Promise {\n\t\ttry {\n\t\t\tconst credentials = await Credentials.get();\n\t\t\tif (!credentials) return false;\n\t\t\tconst cred = Credentials.shear(credentials);\n\t\t\tlogger.debug('set credentials for storage', cred);\n\t\t\tthis._config.credentials = cred;\n\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tlogger.warn('ensure credentials error', error);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate _isWithCredentials(\n\t\tconfig: StorageOptions\n\t): config is StorageOptions & { credentials: ICredentials } {\n\t\treturn typeof config === 'object' && config.hasOwnProperty('credentials');\n\t}\n\n\tprivate _prefix(config: {\n\t\tcredentials: ICredentials;\n\t\tlevel?: StorageAccessLevel;\n\t\tcustomPrefix?: CustomPrefix;\n\t\tidentityId?: string;\n\t}): string {\n\t\tconst { credentials, level } = config;\n\n\t\tconst customPrefix = config.customPrefix || {};\n\t\tconst identityId = config.identityId || credentials.identityId;\n\t\tconst privatePath =\n\t\t\t(customPrefix.private !== undefined ? customPrefix.private : 'private/') +\n\t\t\tidentityId +\n\t\t\t'/';\n\t\tconst protectedPath =\n\t\t\t(customPrefix.protected !== undefined\n\t\t\t\t? customPrefix.protected\n\t\t\t\t: 'protected/') +\n\t\t\tidentityId +\n\t\t\t'/';\n\t\tconst publicPath =\n\t\t\tcustomPrefix.public !== undefined ? customPrefix.public : 'public/';\n\n\t\tswitch (level) {\n\t\t\tcase 'private':\n\t\t\t\treturn privatePath;\n\t\t\tcase 'protected':\n\t\t\t\treturn protectedPath;\n\t\t\tdefault:\n\t\t\t\treturn publicPath;\n\t\t}\n\t}\n\n\t/**\n\t * Creates an S3 client with new V3 aws sdk\n\t */\n\tprivate _createNewS3Client(\n\t\tconfig: {\n\t\t\tregion?: string;\n\t\t\tcancelTokenSource?: CancelTokenSource;\n\t\t\tdangerouslyConnectToHttpEndpointForTesting?: boolean;\n\t\t\tuseAccelerateEndpoint?: boolean;\n\t\t},\n\t\temitter?: events.EventEmitter\n\t): S3Client {\n\t\tconst s3client = createS3Client(config, emitter);\n\t\ts3client.middlewareStack.add(\n\t\t\tautoAdjustClockskewMiddleware(s3client.config),\n\t\t\tautoAdjustClockskewMiddlewareOptions\n\t\t);\n\t\treturn s3client;\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default AWSS3Provider;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { ConsoleLogger as Logger, Parser } from '@aws-amplify/core';\nimport { AWSS3Provider } from './providers';\nimport {\n\tStorageCopySource,\n\tStorageCopyDestination,\n\tStorageGetConfig,\n\tStorageProvider,\n\tStoragePutConfig,\n\tStorageRemoveConfig,\n\tStorageListConfig,\n\tStorageCopyConfig,\n\tStorageProviderWithCopy,\n\tStorageGetOutput,\n\tStoragePutOutput,\n\tStorageRemoveOutput,\n\tStorageListOutput,\n\tStorageCopyOutput,\n\tUploadTask,\n} from './types';\nimport axios, { CancelTokenSource } from 'axios';\nimport { PutObjectCommandInput } from '@aws-sdk/client-s3';\nimport { AWSS3UploadTask } from './providers/AWSS3UploadTask';\n\nconst logger = new Logger('StorageClass');\n\nconst DEFAULT_PROVIDER = 'AWSS3';\n/**\n * Provide storage methods to use AWS S3\n */\nexport class Storage {\n\t/**\n\t * @private\n\t */\n\tprivate _config;\n\tprivate _pluggables: StorageProvider[];\n\n\t/**\n\t * Similar to the API module. This weak map allows users to cancel their in-flight request made using the Storage\n\t * module. For every get or put request, a unique cancel token will be generated and injected to it's underlying\n\t * AxiosHttpHandler. This map maintains a mapping of Request to CancelTokenSource. When .cancel is invoked, it will\n\t * attempt to retrieve it's corresponding cancelTokenSource and cancel the in-flight request.\n\t */\n\tprivate _cancelTokenSourceMap: WeakMap, CancelTokenSource>;\n\n\t/**\n\t * @public\n\t */\n\tpublic vault: Storage;\n\n\t/**\n\t * Initialize Storage\n\t * @param {Object} config - Configuration object for storage\n\t */\n\tconstructor() {\n\t\tthis._config = {};\n\t\tthis._pluggables = [];\n\t\tthis._cancelTokenSourceMap = new WeakMap, CancelTokenSource>();\n\t\tlogger.debug('Storage Options', this._config);\n\n\t\tthis.get = this.get.bind(this);\n\t\tthis.put = this.put.bind(this);\n\t\tthis.remove = this.remove.bind(this);\n\t\tthis.list = this.list.bind(this);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Storage';\n\t}\n\n\t/**\n\t * add plugin into Storage category\n\t * @param {Object} pluggable - an instance of the plugin\n\t */\n\tpublic addPluggable(pluggable: StorageProvider) {\n\t\tif (pluggable && pluggable.getCategory() === 'Storage') {\n\t\t\tthis._pluggables.push(pluggable);\n\t\t\tlet config = {};\n\n\t\t\tconfig = pluggable.configure(this._config[pluggable.getProviderName()]);\n\n\t\t\treturn config;\n\t\t}\n\t}\n\n\t/**\n\t * Get the plugin object\n\t * @param providerName - the name of the plugin\n\t */\n\tpublic getPluggable(providerName: string) {\n\t\tconst pluggable = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === providerName\n\t\t);\n\t\tif (pluggable === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', providerName);\n\t\t\treturn null;\n\t\t} else return pluggable;\n\t}\n\n\t/**\n\t * Remove the plugin object\n\t * @param providerName - the name of the plugin\n\t */\n\tpublic removePluggable(providerName: string) {\n\t\tthis._pluggables = this._pluggables.filter(\n\t\t\tpluggable => pluggable.getProviderName() !== providerName\n\t\t);\n\t\treturn;\n\t}\n\n\t/**\n\t * Configure Storage\n\t * @param {Object} config - Configuration object for storage\n\t * @return {Object} - Current configuration\n\t */\n\tconfigure(config?) {\n\t\tlogger.debug('configure Storage');\n\t\tif (!config) return this._config;\n\n\t\tconst amplifyConfig = Parser.parseMobilehubConfig(config);\n\n\t\tconst storageKeysFromConfig = Object.keys(amplifyConfig.Storage);\n\n\t\tconst storageArrayKeys = [\n\t\t\t'bucket',\n\t\t\t'region',\n\t\t\t'level',\n\t\t\t'track',\n\t\t\t'customPrefix',\n\t\t\t'serverSideEncryption',\n\t\t\t'SSECustomerAlgorithm',\n\t\t\t'SSECustomerKey',\n\t\t\t'SSECustomerKeyMD5',\n\t\t\t'SSEKMSKeyId',\n\t\t];\n\n\t\tconst isInStorageArrayKeys = (k: string) =>\n\t\t\tstorageArrayKeys.some(x => x === k);\n\t\tconst checkConfigKeysFromArray = (k: string[]) =>\n\t\t\tk.find(k => isInStorageArrayKeys(k));\n\n\t\tif (\n\t\t\tstorageKeysFromConfig &&\n\t\t\tcheckConfigKeysFromArray(storageKeysFromConfig) &&\n\t\t\t!amplifyConfig.Storage[DEFAULT_PROVIDER]\n\t\t) {\n\t\t\tamplifyConfig.Storage[DEFAULT_PROVIDER] = {};\n\t\t}\n\n\t\tObject.entries(amplifyConfig.Storage).map(([key, value]) => {\n\t\t\tif (key && isInStorageArrayKeys(key) && value !== undefined) {\n\t\t\t\tamplifyConfig.Storage[DEFAULT_PROVIDER][key] = value;\n\t\t\t\tdelete amplifyConfig.Storage[key];\n\t\t\t}\n\t\t});\n\n\t\t// only update new values for each provider\n\t\tObject.keys(amplifyConfig.Storage).forEach(providerName => {\n\t\t\tif (typeof amplifyConfig.Storage[providerName] !== 'string') {\n\t\t\t\tthis._config[providerName] = {\n\t\t\t\t\t...this._config[providerName],\n\t\t\t\t\t...amplifyConfig.Storage[providerName],\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\n\t\tthis._pluggables.forEach(pluggable => {\n\t\t\tpluggable.configure(this._config[pluggable.getProviderName()]);\n\t\t});\n\n\t\tif (this._pluggables.length === 0) {\n\t\t\tthis.addPluggable(new AWSS3Provider());\n\t\t}\n\n\t\treturn this._config;\n\t}\n\n\tprivate getCancellableTokenSource(): CancelTokenSource {\n\t\treturn axios.CancelToken.source();\n\t}\n\n\tprivate updateRequestToBeCancellable(\n\t\trequest: Promise,\n\t\tcancelTokenSource: CancelTokenSource\n\t) {\n\t\tthis._cancelTokenSourceMap.set(request, cancelTokenSource);\n\t}\n\n\tprivate isUploadTask(x: unknown): x is UploadTask {\n\t\treturn (\n\t\t\ttypeof x !== 'undefined' &&\n\t\t\ttypeof x['pause'] === 'function' &&\n\t\t\ttypeof x['resume'] === 'function'\n\t\t);\n\t}\n\n\t/**\n\t * Cancels an inflight request\n\t *\n\t * @param request - The request to cancel\n\t * @param [message] - A message to include in the cancelation exception\n\t */\n\tpublic cancel(request: UploadTask, message?: string): Promise;\n\tpublic cancel(request: Promise, message?: string): void;\n\tpublic cancel(\n\t\trequest: Promise | UploadTask,\n\t\tmessage?: string\n\t): void | Promise {\n\t\tif (request instanceof AWSS3UploadTask) {\n\t\t\treturn request._cancel();\n\t\t}\n\t\tconst cancelTokenSource = this._cancelTokenSourceMap.get(\n\t\t\trequest as Promise\n\t\t);\n\t\tif (cancelTokenSource) {\n\t\t\tcancelTokenSource.cancel(message);\n\t\t} else {\n\t\t\tlogger.debug('The request does not map to any cancel token');\n\t\t}\n\t}\n\n\t/**\n\t * Copies a file from src to dest.\n\t *\n\t * @param src - The source object.\n\t * @param dest - The destination object.\n\t * @param [config] - config for the Storage operation.\n\t * @return A promise resolves to the copied object's key.\n\t */\n\tpublic copy>(\n\t\tsrc: StorageCopySource,\n\t\tdest: StorageCopyDestination,\n\t\tconfig?: StorageCopyConfig\n\t): StorageCopyOutput;\n\tpublic copy(\n\t\tsrc: Parameters[0],\n\t\tdest: Parameters[1],\n\t\tconfig?: StorageCopyConfig\n\t): StorageCopyOutput {\n\t\tconst provider = config?.provider || DEFAULT_PROVIDER;\n\t\tconst prov = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === provider\n\t\t);\n\t\tif (prov === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', provider);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No plugin found in Storage for the provider'\n\t\t\t) as StorageCopyOutput;\n\t\t}\n\t\tconst cancelTokenSource = this.getCancellableTokenSource();\n\t\tif (typeof prov.copy !== 'function') {\n\t\t\treturn Promise.reject(\n\t\t\t\t`.copy is not implemented on provider ${prov.getProviderName()}`\n\t\t\t) as StorageCopyOutput;\n\t\t}\n\t\tconst responsePromise = prov.copy(src, dest, {\n\t\t\t...config,\n\t\t\tcancelTokenSource,\n\t\t});\n\t\tthis.updateRequestToBeCancellable(responsePromise, cancelTokenSource);\n\t\treturn responsePromise as StorageCopyOutput;\n\t}\n\n\t/**\n\t * Get a presigned URL of the file or the object data when download:true\n\t *\n\t * @param key - key of the object\n\t * @param [config] - config for the Storage operation.\n\t * @return - A promise resolves to either a presigned url or the object\n\t */\n\t// Adding & { download?: boolean }, if not T extends { download: true } ? ... : ... will not work properly\n\tpublic get & { download?: boolean }>(\n\t\tkey: string,\n\t\tconfig?: StorageGetConfig\n\t): StorageGetOutput;\n\tpublic get<\n\t\tT extends StorageProvider | { [key: string]: any; download?: boolean }\n\t>(key: string, config?: StorageGetConfig): StorageGetOutput {\n\t\tconst provider = config?.provider || DEFAULT_PROVIDER;\n\t\tconst prov = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === provider\n\t\t);\n\t\tif (prov === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', provider);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No plugin found in Storage for the provider'\n\t\t\t) as StorageGetOutput;\n\t\t}\n\t\tconst cancelTokenSource = this.getCancellableTokenSource();\n\t\tconst responsePromise = prov.get(key, {\n\t\t\t...config,\n\t\t\tcancelTokenSource,\n\t\t});\n\t\tthis.updateRequestToBeCancellable(responsePromise, cancelTokenSource);\n\t\treturn responsePromise as StorageGetOutput;\n\t}\n\n\tpublic isCancelError(error: any) {\n\t\treturn axios.isCancel(error);\n\t}\n\n\t/**\n\t * Put a file in storage bucket specified to configure method\n\t * @param key - key of the object\n\t * @param object - File to be put in bucket\n\t * @param [config] - { level : private|protected|public, contentType: MIME Types,\n\t * progressCallback: function }\n\t * @return - promise resolves to object on success\n\t */\n\tpublic put>(\n\t\tkey: string,\n\t\tobject: any,\n\t\tconfig?: StoragePutConfig\n\t): StoragePutOutput;\n\tpublic put(\n\t\tkey: string,\n\t\tobject: Omit,\n\t\tconfig?: StoragePutConfig\n\t): StoragePutOutput {\n\t\tconst provider = config?.provider || DEFAULT_PROVIDER;\n\t\tconst prov = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === provider\n\t\t);\n\t\tif (prov === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', provider);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No plugin found in Storage for the provider'\n\t\t\t) as StoragePutOutput;\n\t\t}\n\t\tconst cancelTokenSource = this.getCancellableTokenSource();\n\t\tconst response = prov.put(key, object, {\n\t\t\t...config,\n\t\t\tcancelTokenSource,\n\t\t});\n\t\tif (!this.isUploadTask(response)) {\n\t\t\tthis.updateRequestToBeCancellable(response, cancelTokenSource);\n\t\t}\n\t\treturn response as StoragePutOutput;\n\t}\n\n\t/**\n\t * Remove the object for specified key\n\t * @param key - key of the object\n\t * @param [config] - { level : private|protected|public }\n\t * @return - Promise resolves upon successful removal of the object\n\t */\n\tpublic remove>(\n\t\tkey: string,\n\t\tconfig?: StorageRemoveConfig\n\t): StorageRemoveOutput;\n\tpublic remove(\n\t\tkey: string,\n\t\tconfig?: StorageRemoveConfig\n\t): StorageRemoveOutput {\n\t\tconst provider = config?.provider || DEFAULT_PROVIDER;\n\t\tconst prov = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === provider\n\t\t);\n\t\tif (prov === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', provider);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No plugin found in Storage for the provider'\n\t\t\t) as StorageRemoveOutput;\n\t\t}\n\t\treturn prov.remove(key, config) as StorageRemoveOutput;\n\t}\n\n\t/**\n\t * List bucket objects relative to the level and prefix specified\n\t * @param path - the path that contains objects\n\t * @param [config] - { level : private|protected|public, maxKeys: NUMBER }\n\t * @return - Promise resolves to list of keys for all objects in path\n\t */\n\tpublic list>(\n\t\tkey: string,\n\t\tconfig?: StorageListConfig\n\t): StorageListOutput;\n\tpublic list(\n\t\tpath: string,\n\t\tconfig?: StorageListConfig\n\t): StorageListOutput {\n\t\tconst provider = config?.provider || DEFAULT_PROVIDER;\n\t\tconst prov = this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === provider\n\t\t);\n\t\tif (prov === undefined) {\n\t\t\tlogger.debug('No plugin found with providerName', provider);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No plugin found in Storage for the provider'\n\t\t\t) as StorageListOutput;\n\t\t}\n\t\treturn prov.list(path, config) as StorageListOutput;\n\t}\n}\n\n/**\n * @deprecated use named import\n */\nexport default Storage;\n","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { Storage as StorageClass } from './Storage';\n\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\n\nconst logger = new Logger('Storage');\n\nlet _instance: StorageClass = null;\n\nconst getInstance = () => {\n\tif (_instance) {\n\t\treturn _instance;\n\t}\n\tlogger.debug('Create Storage Instance, debug');\n\t_instance = new StorageClass();\n\t_instance.vault = new StorageClass();\n\n\tconst old_configure = _instance.configure;\n\t_instance.configure = options => {\n\t\tlogger.debug('storage configure called');\n\t\tconst vaultConfig = { ...old_configure.call(_instance, options) };\n\n\t\t// set level private for each provider for the vault\n\t\tObject.keys(vaultConfig).forEach(providerName => {\n\t\t\tif (typeof vaultConfig[providerName] !== 'string') {\n\t\t\t\tvaultConfig[providerName] = {\n\t\t\t\t\t...vaultConfig[providerName],\n\t\t\t\t\tlevel: 'private',\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t\tlogger.debug('storage vault configure called');\n\t\t_instance.vault.configure(vaultConfig);\n\t};\n\treturn _instance;\n};\n\nexport const Storage: StorageClass = getInstance();\nAmplify.register(Storage);\n\n/**\n * @deprecated use named import\n */\nexport default Storage;\n\nexport { StorageClass };\nexport * from './providers';\nexport * from './types';\n","/*\n * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nimport { Amplify, ServiceWorker } from '@aws-amplify/core';\nimport { Auth } from '@aws-amplify/auth';\nimport Cache from '@aws-amplify/cache';\n\n/** Always importing Auth when users import Amplify such that\n\tfor unauthenticated access (no sign in and sign up),\n\tusers don't have to import Auth explicitly **/\nAmplify.Auth = Auth;\nAmplify.Cache = Cache;\nAmplify.ServiceWorker = ServiceWorker;\n\nexport {\n\tAnalytics,\n\tAnalyticsProvider,\n\tAWSPinpointProvider,\n\tAWSKinesisProvider,\n\tAWSKinesisFirehoseProvider,\n\tAmazonPersonalizeProvider,\n} from '@aws-amplify/analytics';\n\nexport { Auth } from '@aws-amplify/auth';\nexport { Storage, StorageClass } from '@aws-amplify/storage';\nexport { API, APIClass, graphqlOperation } from '@aws-amplify/api';\nexport {\n\tAuthModeStrategyType,\n\tDataStore,\n\tPredicates,\n\tSortDirection,\n\tsyncExpression,\n} from '@aws-amplify/datastore';\nexport { PubSub } from '@aws-amplify/pubsub';\nexport { default as Cache } from '@aws-amplify/cache';\nexport { Interactions } from '@aws-amplify/interactions';\nexport * from '@aws-amplify/ui';\nexport { XR } from '@aws-amplify/xr';\nexport { Predictions } from '@aws-amplify/predictions';\nexport {\n\tConsoleLogger as Logger,\n\tHub,\n\tJS,\n\tClientDevice,\n\tSigner,\n\tI18n,\n\tServiceWorker,\n\tAWSCloudWatchProvider,\n} from '@aws-amplify/core';\nexport { withSSRContext } from './withSSRContext';\nexport { Geo } from '@aws-amplify/geo';\n\nexport { Amplify };\n\n/**\n * @deprecated use named import\n */\nexport default Amplify;\n","import React from \"react\";\nimport { OrderCreation } from \"@/components/OrderSteps\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { DrawerLayout } from \"@/layouts\";\n\nconst NewOrderPage = () => {\n return (\n \n }>\n } />\n \n \n );\n};\n\nexport default NewOrderPage;\n","import NewOrderPage from \"./NewOrderPage\";\n\nexport default NewOrderPage;\n","import { OrderStatuses } from \"@/constants/orderStatuses\";\n\nexport const editableModeByStatus = (code) => {\n const statuses = [OrderStatuses.CREATED, OrderStatuses.SCOPING].filter(\n (status) => status === code\n );\n\n if (statuses.length === 0) {\n return false;\n }\n\n return true;\n};\n","// extracted by mini-css-extract-plugin\nexport default {};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport RadioButton from \"@/components/RadioButton\";\nimport \"./RadioGroup.scss\";\n\n// eslint-disable-next-line react/display-name\nconst RadioGroup = React.forwardRef(\n (\n {\n label,\n isRequired,\n onChange,\n onBlur,\n values,\n name,\n errors,\n preloadedValue\n },\n ref\n ) => {\n return (\n
\n {label && (\n
\n
\n {label}\n {isRequired && (\n <>\n  *\n \n )}\n
\n
\n )}\n {values && (\n
\n {values.map((item) => (\n \n \n
\n ))}\n
\n )}\n {errors[name] && (\n
\n * Field must be checked\n
\n )}\n \n );\n }\n);\n\nRadioGroup.defaultProps = {\n errors: {}\n};\n\nRadioGroup.propTypes = {\n label: PropTypes.string,\n isRequired: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n values: PropTypes.array,\n name: PropTypes.string,\n errors: PropTypes.object,\n preloadedValue: PropTypes.string\n};\n\nexport default RadioGroup;\n","import RadioGroup from \"./RadioGroup\";\n\nexport default RadioGroup;\n","import React, { useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useParams, useNavigate, generatePath } from \"react-router-dom\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport { useForm } from \"react-hook-form\";\nimport yup from \"@/utils/yup\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport {\n OrderActions,\n createOrderCasa,\n updateDeveloperInfoCasa\n} from \"@/store/order/order.actions\";\nimport { getAccountEmail } from \"@/store/account/account.reducer\";\nimport { isValidPhoneNumber } from \"react-phone-number-input\";\nimport InputField from \"@/components/InputField\";\nimport PhoneField from \"@/components/PhoneField\";\nimport Button from \"@/components/Button\";\nimport PlacesAutocompleteControl from \"@/components/PlacesAutocompleteControl\";\nimport { routes } from \"@/constants\";\nimport { editableModeByStatus } from \"@/utils/editableModeByStatus\";\nimport RadioGroup from \"@/components/RadioGroup\";\nimport { decode } from \"html-entities\";\n\nconst schema = yup.object({\n organization_name: yup.string().nullable().max(255).required(),\n organization_website: yup\n .string()\n .nullable()\n .max(255)\n .matches(\n // eslint-disable-next-line no-useless-escape\n /^((http|https):\\/\\/)?(www.)?(?!.*(http|https|www.))[a-zA-Z0-9_-]+(\\.[a-zA-Z]+)+(\\/)?.([\\w\\?[a-zA-Z-_%\\/@?]+)*([^\\/\\w\\?[a-zA-Z0-9_-]+=\\w+(&[a-zA-Z0-9_]+=\\w+)*)?$/,\n \"Should be a valid URL\"\n )\n .required(),\n address: yup.object().nullable().required(),\n contact_name: yup.string().nullable().max(255).required(),\n contact_email: yup\n .string()\n .nullable()\n .email()\n .max(255)\n .matches(\n // eslint-disable-next-line no-useless-escape\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n \"Should be a valid email\"\n )\n .required(),\n contact_phone: yup\n .string()\n .required()\n // eslint-disable-next-line func-names\n .test(\"isPhoneValid\", function () {\n return isValidPhoneNumber(this.parent.contact_phone);\n }),\n previously_worked: yup.bool().required(),\n nylas_google_api: yup.bool().required()\n});\n\nconst OrderCreation = () => {\n const dispatch = useDispatch();\n const navigate = useNavigate();\n const { id } = useParams();\n const accountEmail = useSelector(getAccountEmail);\n const orderDetailsNew = useSelector(getOrderDetails);\n const preloadedValues = id ? orderDetailsNew : {};\n const {\n register,\n control,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema),\n defaultValues: {\n organization_name: decode(preloadedValues.organization_name) ?? \"\",\n organization_website: preloadedValues.organization_website ?? \"\",\n address: preloadedValues.address ?? \"\",\n contact_name: preloadedValues.contact_name ?? \"\",\n contact_email: preloadedValues.contact_email ?? accountEmail,\n contact_phone: preloadedValues.contact_phone ?? \"\",\n previously_worked: preloadedValues.previously_worked ?? \"\",\n nylas_google_api: preloadedValues.nylas_google_api ?? \"\"\n }\n });\n const isLoading = useSelector((state) =>\n isInProcess(\n state,\n id ? OrderActions.UPDATE_DEVELOPER_INFO : OrderActions.CREATE_ORDER\n )\n );\n\n useEffect(() => {\n if (\n id &&\n orderDetailsNew &&\n orderDetailsNew.status &&\n !editableModeByStatus(orderDetailsNew.status.code)\n ) {\n navigate(routes.ROOT);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const onSubmit = async (data) => {\n data.google_place_id = data.address.value.place_id;\n data.address = data.address.label;\n\n if (id) {\n // edit mode\n const res = await dispatch(updateDeveloperInfoCasa({ id, ...data }));\n\n const path = generatePath(routes.ORDER_CASA_APPLICATION_INFO, {\n id: res.id\n });\n navigate(path);\n\n return;\n }\n\n const res = await dispatch(createOrderCasa(data));\n const path = generatePath(routes.ORDER_CASA_APPLICATION_INFO, {\n id: res.id\n });\n navigate(path);\n };\n\n return (\n
\n
\n
Company details
\n *\"\n errors={errors}\n placeholder=\"Company name\"\n {...register(\"organization_name\")}\n />\n *\"\n placeholder=\"website.com\"\n errors={errors}\n {...register(\"organization_website\")}\n />\n *\"\n placeholder=\"Start typing the address\"\n errors={errors}\n />\n
\n
\n
Point of contact
\n *\"\n errors={errors}\n placeholder=\"Contact name\"\n {...register(\"contact_name\")}\n />\n *\"\n placeholder=\"Contact e-mail\"\n {...register(\"contact_email\")}\n />\n *\"\n placeholder=\"Contact phone number\"\n errors={errors}\n {...register(\"contact_phone\")}\n />\n \n \n
\n
\n \n
\n
\n );\n};\n\nexport default OrderCreation;\n","import OrderCreation from \"./OrderCreation\";\n\nexport default OrderCreation;\n","import React from \"react\";\nimport InputField from \"@/components/InputField\";\nimport InputPasswordField from \"@/components/InputPasswordField\";\nimport yup from \"@/utils/yup\";\nimport { PropTypes } from \"prop-types\";\nimport { useForm } from \"react-hook-form\";\nimport Checkbox from \"@/components/Checkbox\";\nimport Button, { ButtonLink } from \"@/components/Button\";\nimport { routes } from \"@/constants\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { isInProcess } from \"@/store/pending/pending.reducer\";\nimport {\n OrderActions,\n postApplicationInfoCasa\n} from \"@/store/order/order.actions\";\nimport { generatePath, useNavigate, useParams } from \"react-router-dom\";\n\nconst schema = yup.object({\n application_name: yup.string().nullable().max(255).required(),\n application_url: yup.string().nullable().max(255).required(),\n gcp_project: yup.string().nullable().max(255),\n has_login: yup.boolean().nullable(),\n app_login: yup.string().nullable().when(\"has_login\", {\n is: true,\n then: yup.string().nullable().required()\n }),\n app_password: yup.string().nullable().when(\"has_login\", {\n is: true,\n then: yup.string().nullable().required()\n })\n});\n\nconst ApplicationInfoForm = ({ predefinedValues }) => {\n const navigate = useNavigate();\n const isLoading = useSelector((state) =>\n isInProcess(state, OrderActions.POST_APPLICATION_INFO)\n );\n const { id } = useParams();\n const dispatch = useDispatch();\n\n const {\n register,\n watch,\n handleSubmit,\n formState: { errors }\n } = useForm({\n resolver: yupResolver(schema),\n defaultValues: predefinedValues\n });\n const watchHasLogin = watch(\"has_login\");\n\n const onSubmit = async (data) => {\n data.has_login = +data.has_login;\n if (!watchHasLogin) {\n data.app_login = \"\";\n data.app_password = \"\";\n }\n const payload = Object.keys(data).reduce((acc, key) => {\n acc[key] = data[key];\n return acc;\n }, {});\n\n await dispatch(\n postApplicationInfoCasa({\n id,\n data: payload\n })\n );\n\n const path = generatePath(routes.ORDER_CASA_ASSESSMENT_INFO, { id });\n navigate(path);\n };\n\n return (\n
\n
\n *\"\n errors={errors}\n placeholder=\"Application name\"\n {...register(\"application_name\")}\n />\n *\"\n errors={errors}\n placeholder=\"website.com\"\n {...register(\"application_url\")}\n />\n {\n e.target.value = e.target.value.replace(/[^0-9]/g, \"\");\n }}\n name=\"gcp_project\"\n type=\"text\"\n tooltipTitle=\"Where to find it?\"\n tooltipContent={\n
\n
    \n
  1. \n Go to the Google Developer Console:{\" \"}\n \n https://console.developers.google.com\n \n
  2. \n
  3. \n Select your project\n
  4. \n
  5. \n Go to Cloud Overview page\n
  6. \n
  7. \n Find your project number under project info card\n
  8. \n
\n
\n }\n errors={errors}\n label=\"GCP Project number\"\n placeholder=\"GCP Project #\"\n {...register(\"gcp_project\")}\n />\n
\n
\n \n
\n {watchHasLogin && (\n
\n
\n Provide a set of valid credentials that we can use for testing\n purposes. The credentials shared will be securely handled and\n exclusively used for assessment purposes.\n
\n \n \n
\n )}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n );\n};\n\nApplicationInfoForm.propTypes = {\n predefinedValues: PropTypes.object\n};\n\nexport default ApplicationInfoForm;\n","import React, { useMemo, useEffect } from \"react\";\nimport { decode } from \"html-entities\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { getOrderDetails } from \"@/store/order/order.reducer\";\nimport { editableModeByStatus } from \"@/utils/editableModeByStatus\";\nimport { routes } from \"@/constants\";\nimport ApplicationInfoForm from \"./ApplicationInfoForm\";\n\nconst ApplicationInfo = () => {\n const order = useSelector(getOrderDetails);\n const navigate = useNavigate();\n\n useEffect(() => {\n if (order && order.status && !editableModeByStatus(order.status.code)) {\n navigate(routes.ROOT);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const predefinedValues = useMemo(\n () => ({\n application_name: decode(order?.application_name),\n application_url: order?.application_url,\n gcp_project: order?.gcp_project,\n has_login: order?.has_login,\n app_login: order?.app_login,\n app_password: order?.app_password\n }),\n [order]\n );\n\n if (!order) {\n return null;\n }\n\n return ;\n};\n\nexport default ApplicationInfo;\n","import ApplicationInfo from \"./ApplicationInfo\";\n\nexport default ApplicationInfo;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import * as React from 'react';\nimport { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : function useInsertionEffect(create) {\n create();\n};\nfunction useInsertionEffectMaybe(create) {\n\n useInsertionEffect(create);\n}\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectMaybe(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, useTheme as a, ThemeProvider as b, createEmotionProps as c, withTheme as d, hasOwnProperty as h, useInsertionEffectMaybe as u, withEmotionCache as w };\n","import * as React from 'react';\nimport { createElement, useLayoutEffect, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, u as useInsertionEffectMaybe } from './emotion-element-cbed451f.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, b as ThemeProvider, _ as __unsafe_useEmotionCache, a as useTheme, w as withEmotionCache, d as withTheme } from './emotion-element-cbed451f.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": \"./macro.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.10.0\",\n\t\t\"@emotion/cache\": \"^11.10.0\",\n\t\t\"@emotion/serialize\": \"^1.1.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.0\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": \"./macro.js\"\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : useLayoutEffect;\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useInsertionEffect(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectMaybe(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","/** @jsx jsx */\nimport { ReactNode } from 'react';\nimport { jsx, keyframes } from '@emotion/react';\n\nimport {\n CommonPropsAndClassName,\n CSSObjectWithLabel,\n GroupBase,\n} from '../types';\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\n\nconst Svg = ({\n size,\n ...props\n}: JSX.IntrinsicElements['svg'] & { size: number }) => (\n \n);\n\nexport type CrossIconProps = JSX.IntrinsicElements['svg'] & { size?: number };\nexport const CrossIcon = (props: CrossIconProps) => (\n \n \n \n);\nexport type DownChevronProps = JSX.IntrinsicElements['svg'] & { size?: number };\nexport const DownChevron = (props: DownChevronProps) => (\n \n \n \n);\n\n// ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nexport interface DropdownIndicatorProps<\n Option = unknown,\n IsMulti extends boolean = boolean,\n Group extends GroupBase

(\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isPlainObject(action) &&\r\n typeof (action as any).type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import type { Draft } from 'immer'\r\nimport createNextState, { isDraft, isDraftable } from 'immer'\r\nimport type { AnyAction, Action, Reducer } from 'redux'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * @deprecated use `TypeGuard` instead\r\n */\r\nexport interface ActionMatcher {\r\n (action: AnyAction): action is A\r\n}\r\n\r\nexport type ActionMatcherDescription = {\r\n matcher: ActionMatcher\r\n reducer: CaseReducer>\r\n}\r\n\r\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray<\r\n ActionMatcherDescription\r\n>\r\n\r\nexport type ActionMatcherDescriptionCollection = Array<\r\n ActionMatcherDescription\r\n>\r\n\r\n/**\r\n * An *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => S | void | Draft\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\nexport type NotFunction = T extends Function ? never : T\r\n\r\nfunction isStateFunction(x: unknown): x is () => S {\r\n return typeof x === 'function'\r\n}\r\n\r\nexport type ReducerWithInitialState> = Reducer & {\r\n getInitialState: () => S\r\n}\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * @remarks\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @overloadSummary\r\n * This overload accepts a callback function that receives a `builder` object as its argument.\r\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\r\n * called to define what actions this reducer will handle.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AnyAction,\r\n PayloadAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\nconst increment = createAction(\"increment\");\r\nconst decrement = createAction(\"decrement\");\r\n\r\nfunction isActionWithNumberPayload(\r\n action: AnyAction\r\n): action is PayloadAction {\r\n return typeof action.payload === \"number\";\r\n}\r\n\r\nconst reducer = createReducer(\r\n {\r\n counter: 0,\r\n sumOfNumberPayloads: 0,\r\n unhandledActions: 0,\r\n },\r\n (builder) => {\r\n builder\r\n .addCase(increment, (state, action) => {\r\n // action is inferred correctly here\r\n state.counter += action.payload;\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {\r\n state.counter -= action.payload;\r\n })\r\n // You can apply a \"matcher function\" to incoming actions\r\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {});\r\n }\r\n);\r\n```\r\n * @public\r\n */\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): ReducerWithInitialState\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * \r\n * @overloadSummary\r\n * This overload accepts an object where the keys are string action types, and the values\r\n * are case reducer functions to handle those action types.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param actionsMap - An object mapping from action types to _case reducers_, each of which handles one specific action type.\r\n * @param actionMatchers - An array of matcher definitions in the form `{matcher, reducer}`.\r\n * All matching reducers will be executed in order, independently if a case reducer matched or not.\r\n * @param defaultCaseReducer - A \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n *\r\n * @example\r\n```js\r\nconst counterReducer = createReducer(0, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n\r\n// Alternately, use a \"lazy initializer\" to provide the initial state\r\n// (works with either form of createReducer)\r\nconst initialState = () => 0\r\nconst counterReducer = createReducer(initialState, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n```\r\n \r\n * Action creators that were generated using [`createAction`](./createAction) may be used directly as the keys here, using computed property syntax:\r\n\r\n```js\r\nconst increment = createAction('increment')\r\nconst decrement = createAction('decrement')\r\n\r\nconst counterReducer = createReducer(0, {\r\n [increment]: (state, action) => state + action.payload,\r\n [decrement.type]: (state, action) => state - action.payload\r\n})\r\n```\r\n * @public\r\n */\r\nexport function createReducer<\r\n S extends NotFunction,\r\n CR extends CaseReducers = CaseReducers\r\n>(\r\n initialState: S | (() => S),\r\n actionsMap: CR,\r\n actionMatchers?: ActionMatcherDescriptionCollection,\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState\r\n\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void),\r\n actionMatchers: ReadonlyActionMatcherDescriptionCollection = [],\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState {\r\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer]\r\n\r\n // Ensure the initial state gets frozen either way (if draftable)\r\n let getInitialState: () => S\r\n if (isStateFunction(initialState)) {\r\n getInitialState = () => freezeDraftable(initialState())\r\n } else {\r\n const frozenInitialState = freezeDraftable(initialState)\r\n getInitialState = () => frozenInitialState\r\n }\r\n\r\n function reducer(state = getInitialState(), action: any): S {\r\n let caseReducers = [\r\n actionsMap[action.type],\r\n ...finalActionMatchers\r\n .filter(({ matcher }) => matcher(action))\r\n .map(({ reducer }) => reducer),\r\n ]\r\n if (caseReducers.filter((cr) => !!cr).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer]\r\n }\r\n\r\n return caseReducers.reduce((previousState, caseReducer): S => {\r\n if (caseReducer) {\r\n if (isDraft(previousState)) {\r\n // If it's already a draft, we must already be inside a `createNextState` call,\r\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\r\n // inside an existing draft. It's safe to just pass the draft to the mutator.\r\n const draft = previousState as Draft // We can assume this is already a draft\r\n const result = caseReducer(draft, action)\r\n\r\n if (typeof result === 'undefined') {\r\n return previousState\r\n }\r\n\r\n return result as S\r\n } else if (!isDraftable(previousState)) {\r\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\r\n // return the caseReducer func and not wrap it with produce.\r\n const result = caseReducer(previousState as any, action)\r\n\r\n if (typeof result === 'undefined') {\r\n if (previousState === null) {\r\n return previousState\r\n }\r\n throw Error(\r\n 'A case reducer on a non-draftable value must not return undefined'\r\n )\r\n }\r\n\r\n return result as S\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(previousState, (draft: Draft) => {\r\n return caseReducer(draft, action)\r\n })\r\n }\r\n }\r\n\r\n return previousState\r\n }, state)\r\n }\r\n\r\n reducer.getInitialState = getInitialState\r\n\r\n return reducer as ReducerWithInitialState\r\n}\r\n","import type { Action, AnyAction } from 'redux'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n} from './createReducer'\r\nimport type { TypeGuard } from './tsHelpers'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n\r\n /**\r\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\r\n * @remarks\r\n * If multiple matcher reducers match, all of them will be executed in the order\r\n * they were defined in - even if a case reducer already matched.\r\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\r\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates)\r\n * function\r\n * @param reducer - The actual case reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AsyncThunk,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\ntype GenericAsyncThunk = AsyncThunk;\r\n\r\ntype PendingAction = ReturnType;\r\ntype RejectedAction = ReturnType;\r\ntype FulfilledAction = ReturnType;\r\n\r\nconst initialState: Record = {};\r\nconst resetAction = createAction(\"reset-tracked-loading-state\");\r\n\r\nfunction isPendingAction(action: AnyAction): action is PendingAction {\r\n return action.type.endsWith(\"/pending\");\r\n}\r\n\r\nconst reducer = createReducer(initialState, (builder) => {\r\n builder\r\n .addCase(resetAction, () => initialState)\r\n // matcher can be defined outside as a type predicate function\r\n .addMatcher(isPendingAction, (state, action) => {\r\n state[action.meta.requestId] = \"pending\";\r\n })\r\n .addMatcher(\r\n // matcher can be defined inline as a type predicate function\r\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"rejected\";\r\n }\r\n )\r\n // matcher can just return boolean and the matcher can receive a generic argument\r\n .addMatcher(\r\n (action) => action.type.endsWith(\"/fulfilled\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"fulfilled\";\r\n }\r\n );\r\n});\r\n```\r\n */\r\n addMatcher(\r\n matcher: TypeGuard | ((action: any) => boolean),\r\n reducer: CaseReducer\r\n ): Omit, 'addCase'>\r\n\r\n /**\r\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n * @param reducer - The fallback \"default case\" reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport { createReducer } from '@reduxjs/toolkit'\r\nconst initialState = { otherActions: 0 }\r\nconst reducer = createReducer(initialState, builder => {\r\n builder\r\n // .addCase(...)\r\n // .addMatcher(...)\r\n .addDefaultCase((state, action) => {\r\n state.otherActions++\r\n })\r\n})\r\n```\r\n */\r\n addDefaultCase(reducer: CaseReducer): {}\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): [\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n CaseReducer | undefined\r\n] {\r\n const actionsMap: CaseReducers = {}\r\n const actionMatchers: ActionMatcherDescriptionCollection = []\r\n let defaultCaseReducer: CaseReducer | undefined\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n /*\r\n to keep the definition by the user in line with actual behavior, \r\n we enforce `addCase` to always be called before calling `addMatcher`\r\n as matching cases take precedence over matchers\r\n */\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addMatcher`'\r\n )\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (type in actionsMap) {\r\n throw new Error(\r\n 'addCase cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n },\r\n addMatcher(\r\n matcher: TypeGuard,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n actionMatchers.push({ matcher, reducer })\r\n return builder\r\n },\r\n addDefaultCase(reducer: CaseReducer) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error('`builder.addDefaultCase` can only be called once')\r\n }\r\n }\r\n defaultCaseReducer = reducer\r\n return builder\r\n },\r\n }\r\n builderCallback(builder)\r\n return [actionsMap, actionMatchers, defaultCaseReducer]\r\n}\r\n","import type { AnyAction, Reducer } from 'redux'\r\nimport { createNextState } from '.'\r\nimport type {\r\n ActionCreatorWithoutPayload,\r\n PayloadAction,\r\n PayloadActionCreator,\r\n PrepareAction,\r\n _ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ReducerWithInitialState,\r\n} from './createReducer'\r\nimport { createReducer, NotFunction } from './createReducer'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * An action creator attached to a slice.\r\n *\r\n * @deprecated please use PayloadActionCreator directly\r\n *\r\n * @public\r\n */\r\nexport type SliceActionCreator